Forum: Mikrocontroller und Digitale Elektronik Tidenuhr bauen


von Robert N. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich möchte eine Uhr bauen, die die nächste Tidenzeit anzeigt; die Uhr 
ist ähnlich der aus dem Thread "Brauche Hilfe beim Bau einer Uhr".

Die Uhr hat ein DCF-Modul von C, einen Haufen LEDs, Mini-SD-Karte (dort 
werden die Tidenzeiten gespeichert), USB (man weiss ja nie) und eine 
Q-Touch-Key.

Meine Bitte wäre jetzt dass da mal einer drüber guckt, weil ich so ein 
großes Projekt normalerweise nicht mache und die LP auch ein bisschen 
was kosten werden. Da sollte es schon im ersten Schuss passen.

Danke,

robbse

von Sven P. (Gast)


Lesenswert?

Rohdaten sind keine so gute Idee; lass die Schaltpläne doch bitte mal 
als PNG-Bild oder sowas exportieren.

von Chris (Gast)


Lesenswert?

was ist eine Q-Touch-Key?

von Robert N. (Gast)


Angehängte Dateien:

Lesenswert?

OK hier mal der Schaltplan als PDF. Dachte die Eagle-Files wären besser 
damit Ihr direkt alles habt.

@Chris: Ein Q-Touch-Key ist ein berührungsempfindlicher Sensor. Ist ja 
heutzutage in...

von Peter D. (peda)


Lesenswert?

Robert N. schrieb:
> Mini-SD-Karte (dort
> werden die Tidenzeiten gespeichert)

Warum schreibst Du nicht einfach die Berechnung mit ins Programm?

Ein SD-Karten Treiber + Filesystem ist deutlich aufwendiger.


Peter

von Robert N. (Gast)


Lesenswert?

Hallo Peter,

ich weiss dass das die Holzhammermethode ist, aber die Berechnung von 
Gezeiten ist sau schwer...
Außerdem hab ich so einen zusätzlichen Lerneffekt, da ich noch nie mit 
SD-Karten gearbeitet habe. By the way: Stimmt die Belegung für eine 
Mini-SD-Karte?

von Marek N. (Gast)


Lesenswert?

Moin,

die Berechnung von Tiden ist schwer bis gar nicht exakt möglich, da 
neben den astronomischen Einflüssen auch die lokalen, wie Wind, 
Strömung, Untergrundbeschaffenheit und Uferverlauf eine Rolle spielen.
Schau dir mal den Quellcode zu XTide an: http://www.flaterco.com/xtide/
Evtl. kannst du eine Schnittstelle zum Controller implementieren, so 
dass er die Daten per UART erhalten kann. Sparst dir das Umstecken der 
SD-Karte und Parsen der Dateien.

Beste Grüße, Marek

von Robert N. (Gast)


Lesenswert?

Marek N. schrieb:
> Moin,
>
> die Berechnung von Tiden ist schwer bis gar nicht exakt möglich, da
> neben den astronomischen Einflüssen auch die lokalen, wie Wind,
> Strömung, Untergrundbeschaffenheit und Uferverlauf eine Rolle spielen.
> Schau dir mal den Quellcode zu XTide an: http://www.flaterco.com/xtide/
> Evtl. kannst du eine Schnittstelle zum Controller implementieren, so
> dass er die Daten per UART erhalten kann. Sparst dir das Umstecken der
> SD-Karte und Parsen der Dateien.
>
> Beste Grüße, Marek

Deshalb wollte ich die vorher berechnen lassen und auf der SD-Karte 
speichern. Per USB und Massenspeicherfunktion können die Daten dann ein 
Update erhalten. Soweit der Plan...

von Karl H. (kbuchegg)


Lesenswert?

Robert N. schrieb:

> Deshalb wollte ich die vorher berechnen lassen und auf der SD-Karte
> speichern.

Auch wenn die lokalen Einflüsse eine Rolle spielen, so gibt es doch eine 
Möglichkeit aus den vergangenen Tiden einen Satz von Parametern zu 
errrechnen, mit denen man durch Überlagerung von Schwingungen den 
erwarteten Tidenverlauf vorherberechnen kann.
Wenn das nicht ginge, hätte man früher keine mechanischen Tidenrechner 
bauen können.

Ich würde daher an deiner Stelle nachsehen, wie XTide die Berechnung 
macht, bzw. wo es die für die Berechnung notwendigen Datensätze 
herbekommt und dann diesen Mechanismus implementieren.

Du sparst dir den ganzen SD-Karten Ansatz, bzw. benötigst ihn nur noch 
um die Parametersätze auf den AVR zu übertragen oder zu aktualisieren. 
Anstelle von SD kannst du dann auch diese Parametersätze zb per UART auf 
den AVR übertragen.

von Robert N. (Gast)


Lesenswert?

@Karl-Heinz: Da ist was dran; deshalb brauche ich aber nicht das Layout 
umwerfen, der Kartenleser frisst ja kein Brot ;o)
Meine eigentliche Frage ist ja: Hab ich einen Fehler drin 
(Pinbelegungen, grundlegend was falsch, Detailfehler) oder kann ich das 
so bestellen?

von Karl H. (kbuchegg)


Lesenswert?

Vielleicht gehts nur mir so.
Aber ich kann auf dem PDF so gut wie nichts erkennen

(Eagle hat doch einen wunderbaren Bildexport als PNG. Wozu der Umweg 
über PDF? Ist doch nur Arbeit für dich)

Daher kann ich auch nicht wirklich sagen, ob das SInn macht. Stutzig 
macht mich allerdings der ganze untere Teil. Da sind viele IC, die alle 
irgendwie zusammenhängen und ich frage mich, was das ist.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Karl heinz Buchegger schrieb:
> Vielleicht gehts nur mir so.
> Aber ich kann auf dem PDF so gut wie nichts erkennen

Die PDFs kann man gut zoomen. Ich kann zumindest sehr genau lesen, was 
da drin ist. Nur in den Vorschaubildern ist nichts zu erkennen.

> Stutzig
> macht mich allerdings der ganze untere Teil. Da sind viele IC, die alle
> irgendwie zusammenhängen und ich frage mich, was das ist.

TLC59116

16-Channel Fm+ I2C Bus Constant-Current LED Sink Driver (Rev. B)
http://focus.ti.com/docs/prod/folders/print/tlc59116.html

von Karl H. (kbuchegg)


Lesenswert?

Puh.
Du hast da schon jede Menge Leds :-)

Wie hast du dir eigentlich die Bedienung vorgstellt?
Schiebst du die SD Karte rein und das wars, oder wie soll das laufen?

Willst du die LED Matrix für ein User Interface benutzen?

Hintergrund: Ich überlege gerade, ob nicht ein graphik-fähiges LCD 
eigentlich geschickter wäre.
Da könnte man dann den Inhalt der SD-Karte, die Häfen, anzeigen und vom 
Benutzer auswählen lassen. Auch kann der Benutzer dann zb anzuzeigende 
Zeit einstellen (wichtig für aktive Seefahrer, ich will ja wissen wann 
in der Zukunft in einem Hafen Niedrigwasser ist, um meinen Turn planen 
zu können), ausserdem ist zwar die Tidenkurve ganz nett, aber eigentlich 
interessiert mich als Seefahrer viel mehr, was das in Zahlen ausmacht, 
etc.

von Robert N. (Gast)


Lesenswert?

Ganz so schlimm wirds nicht. Wie gesagt soll die Uhr ganz ähnlich dieser 
hier werden: "Brauche Hilfe beim Bau einer Uhr". Die LEDs dienen nur zum 
Anzeigen der Zeit. Mit Hilfe des Touch-Keys kann dann zwischen normaler 
Uhrzeit und Tidenzeit gewechselt werden. Und das ganze auch nur für 
einen festen Standort.

von Karl H. (kbuchegg)


Lesenswert?

Robert N. schrieb:
> Und das ganze auch nur für
> einen festen Standort.

Alles klar.
Die Schaltung rund um den µC sieht eigentlich nicht so schlecht aus. 
Lass den ARef Pin offen, nur zur Sicherheit.

von MaWin (Gast)


Lesenswert?

Du hast es jedenfalls hingekriegt, den Schaltplan so zu zeichnen, daß 
man aus ihm gar nichts entnehmen kann, sondern raten muss.
Ich nehme mal an, LED1 bis LED119 sind Synonyme für +5V.
Dine LEDs können laut TLC59116-Datenblatt wegen der 680 Ohm mit 40mA 
betrieben werden, ist das wirklich Absicht? Ungewöhnlicher Strom, meist 
sind ja 20 oder 25mA das Maximum, und dieser Widerstand dient als 
Sicherheit vor Überlastung der LEDs auch im Falle eines 
Programmierfehlers. Ich geh mal von 20mA LEDs aus.
Keine Ahnung, wozu man ISP, JTAG und COM zusammen braucht.
Wie gut die als 'LDR' bezeichnete Photodiode BP104 funktioniert, sei 
dahingestellt, du willst damit offenbar die Helligkeit des Displays 
vorgeben.
100k als DCF PullUp find ich unnötig hochohmig.
Ebenfalls bei HWB, wo noch die 100nF eher unnütz sind. HWB kann ein 
Jumper sein, da muss man nichts gegen Störungen 'entkoppeln'.
Und was auch immer C601 zwischen den beiden Analogeingängen soll, geht 
aus dem Schaltplan nicht hervor.
Ob man unbedingt einen Schaltregler für 3.3V braucht? Nimm einen 
Linearregler, die Verluste fallen bei 40m Strom pro LED wohl nicht ins 
Gewicht, du hast eh Netzversorgung, aber der Aufbau stört nicht mehr 
dein DCF und wird problemloser aufzubauen sein. Man könnte die 3.3V auch 
aus dem USB Regulator aus dem ATMega ziehen, und alles was geht mit 5V 
versorgen.
Aber der grösste Aufwand steckt in den LED-Treibern. Ja, du willst 
offenbar die Helligkeit an die Umgebungshelligkeit anpassen, aber das 
kann der uC problemlos in der er per PWM die Einschaltdauer einer zu 
100% per passendem Vorwiderstand mit Strom versorgten LED reduziert, der 
uC hat doch sonst nichts zu tun.
Theoretisch könnte deine Schaltung jede LED in anderen Helligkeiten 
versorgen, also eine Videoleinwand darstellen, dafür sind die ICs. Du 
willst aber nur einige wenige LEDs der 119 Stück aufleichzen lassen, und 
alle leuchtenden in derselben Helligkeit. Schliesslich kosten diese 
Chips Geld und nehmen viel Platinenplatz weg mit aufwändiger 
Verschaltung. Da tun es Schieberegister wie 74HCT595 problemlos, man 
braucht auch nur 1 Widerstand pro LED-Gruppe aus der nur eine LED zu 
einer Zeit an sein darf, also weniger Widerstände als deine 680 Ohm 
Teile. Oder man betreibt das Display im Multiplex. Wenn man dort die 
LEDs etwas geschickt anordnet, kommt man problemlos mit 8 x 16 Leitungen 
aus, und 4 74HCT595 (oder 2 595 und 8 I/O Pins vom uC).

von Robert N. (Gast)


Lesenswert?

Danke, das nenne ich mal konstruktive Kritik!

Werde mir einige Sachen zu Herzen nehmen, die LED-Treiber aber so lassen 
alleine der Spielereien wegen.
Laut Datenblatt der LED-Treiber ziehen die jeweils so 30mA(!). Fand ich 
ziemlich heftig, daher der Schaltregler für 3.3V. Ist der DCF-Empfang 
denn so störempfindlich? Hab ja das DCF-Modul extra weit weg gesetzt von 
allem; vielleicht noch einen Abblockkondensator direkt am Modul zw. 3.3V 
und GND?

Was den "Schnittstellenfriedhof" angeht: Klar kann man sich da was 
sparen, aber kosten tuts auch nichts.

von Jörn P. (jonnyp)


Lesenswert?

Ich hab da mal mit eagle rüber geguckt und würde mal wenigstens die 
angezeigten Fehler beseitigen. AREF wurde schon erwähnt. Ausserdem würde 
ich den isolate Wert erhöhen bzw. hast du zwischen den LED Zeilen so 
viel Platz, das du die Leiterbahnen nicht so quetschen musst. Check 
nochmals das Datenblatt. IMHO 16MHz erst ab 4,5V.

von Robert N. (Gast)


Lesenswert?

Hallo Jörg,

danke dass Du mal drüber geguckt hast!

> Ich hab da mal mit eagle rüber geguckt und würde mal wenigstens die
> angezeigten Fehler beseitigen.

Bei mir werden nur Warnungen gezeigt, kannst Du mir vielleicht die Liste 
kurz hier reinstellen?

> AREF wurde schon erwähnt.

Ja, aber brauch ich den nicht um die Photodiode auswerten zu können?

> Ausserdem würde ich den isolate Wert erhöhen bzw. hast du zwischen den LED 
Zeilen so viel Platz, das du die Leiterbahnen nicht so quetschen musst.

Hast Recht; hab jetzt Isolate auf 0.5 erhöht

> Check nochmals das Datenblatt. IMHO 16MHz erst ab 4,5V.

Ups, Falle. Ändere ich auf 8MHz

von didadu (Gast)


Lesenswert?

Falsche Tidendaten können lebensbedrohlich sein!
(Z.B. wenn sich ein Fußgänger im Watt darauf verlässt.)
Vergesst diesen Aspekt bitte nicht.

von Robert N. (Gast)


Lesenswert?

@Jörg: Hat sich erledigt. Fehler gefunden

@didadu: Da hast Du absolut recht, damit ist nicht zu spaßen. Die 
Anzeige der Tidenzeit ist in diesem Fall ein "Gag" für meinen Vater, der 
Fan einer bestimmten Insel ist. Die Uhr hängt aber bei uns zu Hause, 
gute 300km von der nächsten Küste entfernt. Da muss er sich schon sputen 
um noch rechtzeitig ertrinken zu können ;o)

von Kurt (Gast)


Lesenswert?

Hallo,
ich habe ein paar Fragen zum TLC59116. Ich noch habe keine Erfahrung mit 
diesem Baustein:
Kann man den TLC auch nach der Diode reingeben, dh. gegen Masse 
schalten, da viele RGB Leds ja eine gemeinsame Anode haben und wie wäre 
es dann noch mit der Konstantstromquelle?

Blöde Frage, aber der TLC liefert bei jedem Ausgang den selben Strom, 
oder? da Rot 50mA Blau und Grün 25mA (bei meinen 
Leds(http://at.farnell.com/optek/ovsargb3r8/led-smd-plcc4-rgb/dp/1497980RL)) 
benötigen. Oder kann ich einfach alle auf 20mA einstellen?
Die Versorgungsspannung des TLC's kann ich (sofern ich das Datenblatt 
richtig verstanden habe) trotzdem auf 5V legen, oder?

von Robert N. (Gast)


Lesenswert?

Hallo Kurt,

Kurt schrieb:
> Hallo,
> ich habe ein paar Fragen zum TLC59116. Ich noch habe keine Erfahrung mit
> diesem Baustein:
> Kann man den TLC auch nach der Diode reingeben, dh. gegen Masse
> schalten, da viele RGB Leds ja eine gemeinsame Anode haben und wie wäre
> es dann noch mit der Konstantstromquelle?
Den solltest Du nur so und nicht anders beschalten.

> Blöde Frage, aber der TLC liefert bei jedem Ausgang den selben Strom,
> oder? da Rot 50mA Blau und Grün 25mA (bei meinen
> Leds(http://at.farnell.com/optek/ovsargb3r8/led-smd-plc...))
> benötigen. Oder kann ich einfach alle auf 20mA einstellen?
Ja der liefert an jedem Ausgang den gleichen maximal Strom. Du kannst 
aber auch mehrere Ausgänge parallel schalten um den Strom zu erhöhen.

> Die Versorgungsspannung des TLC's kann ich (sofern ich das Datenblatt
> richtig verstanden habe) trotzdem auf 5V legen, oder?
Ja.

von Kurt (Gast)


Lesenswert?

Hallo Robert,
Danke für die schnelle Antwort.
Also muss ich RGB's nehmen die 6 Kontakte haben(für jede diode einen 
Anschluss) sonst wird der Strom, mit gemeinsamer Anode, für ein Led zu 
groß werden. Oder hast du eine Idee wie ich das lösen könnte?
Mein Ziel wäre es, dass ich alle 20 RGB leds einzeln ansteuern kann, 
also 60 Leds. PWM würde ich auch gerne vorsehen.

von Robert N. (Gast)


Lesenswert?

Hallo Kurt,

das kommt auf Deine Verschaltung an. Ich nehme jetzt mal an dass du für 
jede LED einen Ausgang am TLC59116 vorsehen möchtest. In diesem Fall 
kannst Du ruhig eine LED mit gemeinsamer Anode einsetzen, das macht 
keinen Unterschied.
Möchtest Du aber mehrere RGB-LEDs in Reihe hängen brauchst Du eine mit 
seperaten Anschlüssen.
PWM ist kein Problem, kann der Chip schon von sich aus, DU brauchst nur 
via I2C die entsprechenden Register einstellen.

von Kurt (Gast)


Lesenswert?

Warum macht das keinen Unterschied? Wenn 1 RGB Led pro Ausgang an den 
TLC angeschlossen wird, brauch diesses ca. 60mA und leuchtet dann nur 
eines bekommt dieses die volle Ladung ab. Zudem kann ich dann die Farben 
nicht einzeln ansteuern. Wenn ich die Farben alle zusammenführe und mit 
Mosfets steuere, könnte ich alle Farben steuern, aber dann hätte ich 
immer noch das Problem mit dem zuvielen Strom.

von Robert N. (Gast)


Lesenswert?

Wenn Du die LED so verschaltest, dass 1) die gemeinsame Anode an 5V 
liegt und 2) die 3 Kathoden an jeweils einem Ausgang des Treibers kannst 
Du jede LED einzeln Ansteuern ohne weitere externe Beschaltung. Dann 
macht es keinen Unterschied ob Du eine gemeinsame Anode oder drei 
einzelne Anoden an 5V legst. Der Strom fliesst nur durch die LEDs deren 
Kathode dann durch das IC angesteuert wird.

von H.Joachim S. (crazyhorse)


Angehängte Dateien:

Lesenswert?

Anbei eine funktionierende SD-Beschaltung...., ist allerdings für 
Micro-SD.
Im Resetzustand sind die Controllerausgänge hochohmig, die Widerstände 
solltest du deshalb nicht weglassen.

von Robert N. (Gast)


Lesenswert?

Ok Danke crazyhorse, das mit den Pull-Ups und -Downs hab ich noch nicht 
gewusst.

von Kurt (Gast)


Lesenswert?

Das klingt super, dann ist der TLC nun invertierend? Und dass ich so 
keinen zusätzlichen Widerstand oder sonst was benötige ist super.

Vielen Dank

von Falk B. (falk)


Lesenswert?

@  Kurt (Gast)

>Das klingt super, dann ist der TLC nun invertierend?

Der invertiert nix. Was du meinst sind Open Drain Ausgänge, siehe 
Ausgangsstufen Logik-ICs, die hat der TLC, nur halt nicht digital 
ein/aus sondern steuerbare Konstantstromquellen.

MFG
Falk

von Kurt (Gast)


Lesenswert?

Ja aber was ich meinte ist, wenn der Port auf Low ist, dann brennt das 
Led -> invertierend :) oder irre ich mich?

von Falk B. (falk)


Lesenswert?

@  Kurt (Gast)

>Ja aber was ich meinte ist, wenn der Port auf Low ist, dann brennt das
>Led

Na die LED brennt hoffentlich nicht. Aber sie wird leuchten. ;-)

> -> invertierend :)

Ja.

> oder irre ich mich?

Nein.

MfG
Falk

von Kurt (Gast)


Lesenswert?

Ich hätte noch ein paar Fragen zum TLC:
Entstörkondensatoren brauche ich nicht?
Bei REXT muss der Widerstand gegen Masse geschalten werden?
Bei SCL muss ich einen Takt anlegen der max 1MHz ist.
Brauche ich SDA wenn ich den I²C Bus verwende?
die RESETs kann ich alle auf einen PORT am µC zusammenfassen oder?

lg

von Falk B. (falk)


Lesenswert?

@  Kurt (Gast)

>Entstörkondensatoren brauche ich nicht?

Was meist du damit? Auf jeden Fall braucht der IC wie alle anderen 100nF 
DICHT an VCC/GND. Und ein 10..47uF für mehrere ICs ist meist auch nicht 
falsch.

>Bei REXT muss der Widerstand gegen Masse geschalten werden?

Ja.

>Bei SCL muss ich einen Takt anlegen der max 1MHz ist.

Das ist der Takt vom I2C-Bus.

>Brauche ich SDA wenn ich den I²C Bus verwende?

Was sonst? Das Ding kann nur per I2C gesteuert werden.

>die RESETs kann ich alle auf einen PORT am µC zusammenfassen oder?

Ja.

MfG
Falk

von Kurt (Gast)


Lesenswert?

Für was brauche ich dan SDA?

von Falk B. (falk)


Lesenswert?

@  Kurt (Gast)

>Für was brauche ich dan SDA?

Lies mal was über den I2C Bus.

von Segelfreund 69 (Gast)


Lesenswert?

Hallo Bastelfreunde!

Bin zufällig in diese interessante Seite hineingerutscht.

Tidenuhr bauen finde ich als ein heisses Thema, wenngleich mit wenig 
Erfolgsaussichten. Geht doch mal in das Maritime Museum von Bremerhafen. 
Dort zeigt man eine - in Zeiten der DDR gebaute - Tidenuhr im 
Grössenausmass von ca 2 x 7 m², wo auf der Vorder- und Hinterseite 
jeweils an die 30 mechanische Rechenwerke angebracht sind (hab das nicht 
nachgezählt). Weiters bekommt man in diesem wunderbaren Museum 
verdeutlicht, dass noch eine Reihe anderer Faktoren - neben Mond und 
Erdrotation - für die exakte Berechnung ausschlaggebend sind. Wie z. B. 
der Wind und die Konstellation der Sterne.

Natürlich kann man im Zeitalter der Elektronik an einige Problemlösungen 
etwas einfacher herangehen. Für Hobbywissenschaftler aber keine einfache 
Aufgabe. Wünsche aufrichtigst viel erfolg.

Segelfreund 69 aus Neusiedl am See / Österreich

von Kurt (Gast)


Lesenswert?

Hallo,
kann mir jemand bitte die Eagle Bibliothek für den TLC schicken?
Danke,
lg

von Kurt (Gast)


Lesenswert?

hat sich erledigt
danke

von Martin G. (mager)


Lesenswert?

Hab gerde mal bei XTide geschaut: "Germany:  Investigation by Jan Deepen 
in 2009 revealed significant, uncorrectable differences with 
authoritative predictions, so the German data were retired from the 
database at the end of 2009." Uff - und nun?

von Kurt (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich weiß nicht genau wie ich den TLC ansteuern soll, habe im Moment aber 
auch keine Zeit um das herauszufinden(Prüfungen...). Aber meine Platine 
müsste ich diese Woche noch schnell machen( da ich über den Sommer nach 
Hause fahre, und dort kein Werkzeug habe). In den Sommerferien habe ich 
dann genug Zeit um mir den Bus des TLC's anzuschauen und zu 
Programmieren. Kann mir deshalb jemand bitte diesen Schaltplan 
kontrollieren ob ich den TLC richtig ansteuere?

Danke
lg

von Jörn P. (jonnyp)


Lesenswert?

Ich sehe da keinen grundsätzlichen Fehler, allerdings würde ich AREF nur 
über einen Kondensator an gnd hängen, weg von vcc. Einen Kondi würde ich 
auch der Reset Leitung spendieren. Datenblatt: Pin configurationa, 
Analog to Digital Converter, Noise CAnceler.

von Kurt (Gast)


Lesenswert?

ok vielen Dank

von Falk B. (falk)


Lesenswert?

@Kurt (Gast)

>Ich weiß nicht genau wie ich den TLC ansteuern soll, habe im Moment aber
>auch keine Zeit um das herauszufinden(Prüfungen...). Aber meine Platine
>müsste ich diese Woche noch schnell machen( da ich über den Sommer nach
>Hause fahre, und dort kein Werkzeug habe).

Optimales Konzept . . .

>Programmieren. Kann mir deshalb jemand bitte diesen Schaltplan
>kontrollieren ob ich den TLC richtig ansteuere?

Da sind ein "paar" kleine Fehler drin.

Alle LEDs sind verpolt, ausserdem werden die gegen Vcc geschaltet.
Die Eingänge A0..A3 an den TLCs legt man auf festes Potential, nicht an 
den uC. Denn damit stellt man die I2C-Busadresse ein. Sinnvollerweie für 
jeden IC eine andere . . .
An SDA und SCL fehlen Pull-Up Widerstände, so 3K3 oder so.
AREF legt man nicht an 5V, sondern schleisst nur einen 100nF Kondensator 
gegen Masse an.
Dein Spannungsregler IC2 ist falsch angeschlossen.
C16 ist unsinnig.

Reicht das fürs Erste?

MFG
Falk

von Kurt (Gast)


Angehängte Dateien:

Lesenswert?

Super, danke für deine schnelle Hilfe,
so müsste es passen?
Die Leds habe ich so "scheußlich" verbunden, da ich mir mit dieser Weise 
viel arbeit im Board erspare. Ich würde diese Schaltung noch gerne, 
vorbeugend, mit einen externen Speicher versehen. Hat jemand einen Tipp 
welchen Speicher ich verwenden könnte? auch bezüglich Preis/Leistung?
Danke,
lg

von Falk B. (falk)


Lesenswert?

Dein Bild ist kaputt.

von Kurt (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch mal meine Schaltung.

von Falk B. (falk)


Lesenswert?

Deine TLCs haben keine vollständige Masseanbindung.
Schon mal über deinen Spannungsregler nachgedacht? Wenn alle 64 LEDs a 
30mA an sind, zieht deine Schaltung ~2A. Dein 7805 muss (12-5)*2A = 14W 
Leistung verbraten. Ne Menge Holz. Da braucht man einen GROSSEN 
Kühlkörper. Und vom Wirkungsgrad mal ganz zu schweigen.

Mein Tip. Geh das Ganze mal bissel langsamer und ruhiger an, sonst 
ärgerst du dich nur über deinen Murks.

MFG
Falk

von Kurt (Gast)


Lesenswert?

ups, ja das könnte stimmen. Ich habe den LM78S05 der hält das locker aus 
und ich habe nicht 12V sondern weniger. Dann geht das schon :)

Bezüglich Speicher habe ich keine Ahnung, würde gerne 1Mb flash 
vorsehen. Hab aber keine Ahnung davon, weder was kaufen noch wie 
anschließen. Werde heute mal nachforschen.
Danke
lg

von Falk B. (falk)


Lesenswert?


von Kurt (Gast)


Lesenswert?

3,3V sind kein Problem, aber ich finde online keine Beispielschaltungen 
für externen Flash, ich habe keine Ahnung wie ich den beschalte. Und SCK 
habe ich ja schon vergeben ????

von Falk B. (falk)


Lesenswert?

@  Kurt (Gast)

>3,3V sind kein Problem, aber ich finde online keine Beispielschaltungen
>für externen Flash,

Was wohl daran liegt, dass das so grundlegend ist, dass es als bekannt 
vorrausgesetzt wird. Lies mal was über SPI, das ist einfach.

> ich habe keine Ahnung wie ich den beschalte.

Tja, das nennt sich Lernkurve.

> Und SCK habe ich ja schon vergeben ????

Kann man a) doppelt nutzen und b) ggf. auf ein anderes Pin legen und das 
Ganze in Software bearbeiten. Siehe

AVR-Tutorial: Schieberegister

MfG
Falk

von Kurt (Gast)


Lesenswert?

ja ok, habe ich gelsen, also ich schließe SI an MOSI/PB7, SO an 
MISO/PB5,
WP,CS und RDY/BUSY an beliebige Ports. Aber wie kann ich SCK gemeinsam 
Nutzen, ich habe ja einmal die TLC'S mit 1Mhz und dann den Flsah mit 
20Mhz oder soll ich den PORT OC2A verwenden? und könnte ich CS in diesem 
Fall auch auf high legen?

von Falk B. (falk)


Lesenswert?

@  Kurt (Gast)

>ja ok, habe ich gelsen, also ich schließe SI an MOSI/PB7, SO an
>MISO/PB5,
>WP,CS und RDY/BUSY an beliebige Ports.

OK.

>Aber wie kann ich SCK gemeinsam
>Nutzen, ich habe ja einmal die TLC'S mit 1Mhz und dann den Flsah mit
>20Mhz

[ ] Dir ist klar, dass I2C und SPI verschiedene Schnitstellen 
sind.

MfG
Falk

von Simon K. (simon) Benutzerseite


Lesenswert?

Kurt schrieb:
> ups, ja das könnte stimmen. Ich habe den LM78S05 der hält das locker aus
> und ich habe nicht 12V sondern weniger. Dann geht das schon :)

Trotzdem gilt: Verlustleistung = (Uaus - Uein) * Strom. Egal was im 
Datenblatt des Chips steht. Und wenn die Verlustleistung grob geschätzt 
1Watt übersteigt (bei TO220) wirds dem ZIEMLICH heiß unter der Futt.

von Kurt (Gast)


Lesenswert?

Ja das schon, würdest du den Flash auch so anschließen? und wo würdest 
du SCK anschließen.
der µC sendet ja Signale im Bereich von 5V, hält das der Flash aus?

@Simon: ja ok dann werde ich einen Kühlkörper hinzufügen.

Danke
lg

von Falk B. (falk)


Lesenswert?

@  Kurt (Gast)

>Ja das schon, würdest du den Flash auch so anschließen? und wo würdest
>du SCK anschließen.

An SCK vom AVR.

>der µC sendet ja Signale im Bereich von 5V, hält das der Flash aus?

Nein, du brauchst dafür Pegelwandler.

MfG
Falk

von Kurt (Gast)


Lesenswert?

Also zusammenfassend:
SI an MOSI/PB7
SO an MISO/PB5
WP,CS und RDY/BUSY an beliebige Ports(an PB)
SCK an SCK/PB7

und dazwischen schalte ich 1x MAX3393E und 1 MAX3391E.

Richtig?

lg

von Kurt (Gast)


Lesenswert?

Ups... natürlich ist MOSI an PB5 und MISO an PB6

von Kurt (Gast)


Lesenswert?

Hallo, der Flash hält bis zu 6V an den Eingängen aus, d.h. ich erspare 
mir den Pegelwandler. nur bei SO von 3,3 V-> 5 V bin ich mir nicht ganz 
sicher, weil im Datenblatt des Atmegas steht 0,7Vcc gilt als High, das 
sind 3,5V. Ich habe auch ein Test gemacht mit einem µC und der hat 3,3V 
als high erkannt. Ist es jetzt ratsam trotzdem einen Pegelwandler zu 
nehmen oder nicht?
lg

von Kurt (Gast)


Lesenswert?

Funktioniert doch mit 0,6*Vcc gilt das Signal als high :)

von Kurt (Gast)


Lesenswert?

Hallo,
ich probier den Ledtreiber TLC59116 zu beschreiben, klapt aber nicht so
ganz mit dem I2C Bus:
Könnt Ihr mir bitte sagen was da nicht stimmt?
Mit dem Oszilloskop mess ich keinen Takt an SCL und auch nichts an SDA.

#include <avr/io.h>
#define F_CPU 20000000
#include <util/delay.h>
#define FAKTOR 12
#define TEILER 0

void init(unsigned char faktor, unsigned char teiler)
{
  TWBR = faktor;
  TWSR = teiler;
}

void i2c_start (unsigned char adress)
{
  TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
  loop_until_bit_is_set(TWCR,TWINT);
  TWDR = adress;
  TWCR = (1<<TWINT) | (TWEN);
  loop_until_bit_is_set(TWCR,TWINT);
}

void ack(void)
{
  TWCR = (1<<TWINT) | (1<<TWEA) | (1<<TWEN);
  loop_until_bit_is_set(TWCR,TWINT);
}

void nack(void)
{
  TWCR = (1<<TWINT) | (1<<TWEN);
  loop_until_bit_is_set(TWCR,TWINT);
}

void send (unsigned char daten)
{
  TWDR = daten;
  TWCR = (1<<TWINT) | (1<<TWEN);
  loop_until_bit_is_set(TWCR,TWINT);
}

void i2c_stop (void)
{
  TWCR = (1<<TWINT) | (1<<TWSTO) | (1<<TWEN);
}

int main(void)

{
  init(FAKTOR, TEILER);
  i2c_start(0b11000110);
  ack();
  send(0b10010100);
  nack();
  i2c_stop();

  while(1)
  {

  }
  return 0;

}


lg Kurt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.