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
Rohdaten sind keine so gute Idee; lass die Schaltpläne doch bitte mal als PNG-Bild oder sowas exportieren.
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...
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
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?
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
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...
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.
@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?
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.
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
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.
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.
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.
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).
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.
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.
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
Falsche Tidendaten können lebensbedrohlich sein! (Z.B. wenn sich ein Fußgänger im Watt darauf verlässt.) Vergesst diesen Aspekt bitte nicht.
@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)
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?
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.
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.
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.
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.
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.
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.
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
@ 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
Ja aber was ich meinte ist, wenn der Port auf Low ist, dann brennt das Led -> invertierend :) oder irre ich mich?
@ 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
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
@ 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
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
Hallo, kann mir jemand bitte die Eagle Bibliothek für den TLC schicken? Danke, lg
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?
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
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.
@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
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
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
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
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 ????
@ 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
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?
@ 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
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.
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
@ 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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.