Hallo, ich möchte/muss für eine Projekt 60 Leuchtdioden (geplant waren Duo-LEDs, womit wir dann bei 120 LEDs wären) über I²C steuern. Ich dachte mir einen IO-Expander, wie den PCF 8574 AP zu nehmen, aber von dem können ja nur 8 Stück adressiert werden (3-Bit-Adresse). Nun bin ich mir auch nicht sicher, ob man mit diesem diese große Anzahl an LEDs treiben kann. Zudem komme ich so ja nur auf 8*8 Duo-LEDs = 64 DUO-LEDs, aber ich benötige doppelt so viele. Ziel der ganzen Geschichte ist es, das DCF-77-Signal zu visualisieren, wobei die Leuchtdioden aber nicht aus sein sollen, wenn der entsprechende Minutenpuls einer 0 entspricht. Eine Alternative wäre es, die LEDs in diesem Fall leicht zu dimmen, was natürlich noch viel aufwändiger wäre. Kann mir jemand helfen, bzw. mir sagen wie ich diese große Anzahl (Duo)-LEDs über I²C betreiben kann? Danke Tom
I²C-fähigen Controller als Slave benutzen. Die kann man normalerweise in der Adresse frei programmieren, sodass man bis zu 127 Slaves an einem Bus betreiben kann. Weiß ja nicht, wie dick deine LEDs im Stromverbrauch sind, wenn es nicht zu viel ist, kannst du die LEDs direkt mit Controllerpins treiben, andernfalls brauchst du noch ULN200x oder sowas als Treiber.
@ Tom Linz (Gast) >Kann mir jemand helfen, bzw. mir sagen wie ich diese große Anzahl >(Duo)-LEDs über I²C betreiben kann? Mach I2C in Software und mach zwei parallele I2C Busse an deinem Mikrocontroller. Oder nimm I2C MUXe, da kann man auch Busse parallel schalten. Siehe http://www.mikrocontroller.net/articles/Port-Expander_PCF8574 MFG Falk
Auf deiner verlinkten Seite ist mir klar geworden, dass PCF8574 und PCF8574A verschiedene Adressen haben. Damit kann ich meine 60 Leuchtdioden locker mit dem ATMega16 ansteuern, bzw. vielleicht werde ich auch den I²C-MUX benutzen. Vielen Dank. Vorraussichtlich handelt es sich bei meinen LEDs um 10mm-Duo-LEDs http://www.reichelt.de/DUO-LEDs-Blink-LEDs/LED-10-RG-3/index.html?;ACTION=3;LA=2;ARTICLE=10240;GROUPID=3022;SID=12TXUzdH8AAAIAADAHF9ceb11ea5f8ebac35831c8ad62a90d0c81 mit dem typischen 20mA-Stromverbrauch. Ich denke ich benötige hierfür keine Treiber, aber korrigiert mich, falls ich mich irren sollte :-) Viele Grüße Tom
Tom Linz schrieb: > den PCF 8574 AP zu nehmen, aber von > dem können ja nur 8 Stück adressiert werden (3-Bit-Adresse). Im Datenblatt steht: Address by 3 hardware address pins for use of up to 8 devices (up to 16 with PCF8574A) Also: 8x PCF 8574 AP und 8x PCF 8574 P benutzen = 128 Ausgänge Edit : Hast es ja schon gefunden ;-) Die ICs können aber nur gegen Masse Strom fliessen lassen, also müssen Deine DUO-LEDs mit gemeinsamer Anode sein. Bei dem Preis könnte man sich auch überlegen, z.B. einen ATmega48 zu benutzen, der dann 16-20 LEDs ansteuert (Hälfte gegen +, die andere Hälfte gegen GND). Den kann man dann solche Sachen wie halbe Helligkeit selber erledigen lassen. Gruß Jobst
@ Tom Linz (Gast) >Vorraussichtlich handelt es sich bei meinen LEDs um 10mm-Duo-LEDs >http://www.reichelt.de/DUO-LEDs-Blink-LEDs/LED-10-... Geht nicht, du braucht LEDs mit gemeinsamer Anode, die hier haben gemeinsame Kathode. MFG Falk
Also für diese Aufgabe könnte man den PCA9505 / PCA9506 einsetzen. Das Chip hat 40 Ausgänge / Eingäge und wird über I²C gesteuert. Zu kaufen gibts den jedoch nicht bei Reichelt oder Conrad oder Schuricht. Ebenfalls gibts ein kleines Problem der PCA9505 kann "nur" 10 mA pro Ausgang treiben - soweit ich das noch korrekt in Erinnerung haben.
Oh, danke für den Hinweis mit der gemeinsamen Kathode. Da hätte ich mir das Datenblatt erst mal genauer ansehen sollen. Es kennt nicht jemand von euch zufällig ähnlich große LEDs, die diese Bedingung, also Beschaltung, erfüllen? Viele Grüße Tom
Wieso eigentlich I²C? Das hier ist doch ein wunderbarer Fall für EINEN Mikrocontroller plus Matrix-Ansteuerung oder gleich Charlieplexing? Immer dieser Aufwand... Geht doch viel leichter und billiger! Mit freundlichen Grüßen, Valentin Buck
Wenn mein Dozent das so wollte, bin ich eigentlich ziemlich machtlos. Wahrscheinlich stehen da irgendwelche didaktischen Geschichten im Vordergrund.
PCA9501 hat 6 Adress Pins, kann also 64x eingesetzt werden und den gibt's bei Reichelt Wenn alles auf einer Platine sitzt, kannst du ja auch die Adress-Pins vom Controller aus steuern und immer nur einen auf die "aktive" Adresse setzen.
Stimmt, das mit der zugewiesenen Adresse hatte ich mir noch gar nicht überlegt. Die Sache mit der I²C-Ansteuerung werde ich aber jetzt wohl doch sein lassen und die ganze Sache aus Kostengründen über Schieberegister lösen, wie bei dem Conrad-Pong-Spiel http://www.produktinfo.conrad.com/datenblaetter/900000-924999/902766-an-01-ml-CONRAD_RETRO_SPIEL_PING_PONG_de_en_fr_nl.pdf (meinen Betreuern wurde die Lösung über I²C dann doch zu teuer) Im Grunde kann ich doch die gleichen Bauelemente wie beim Pong-Spiel nutzen, oder? Zusätzliche Treiber sind doch nicht notwendig? Benutzen möchte ich nun doch "normale" 5 mm Standard-LEDs (allerdings mit Reflektoren). Viele Grüße und vielen Dank Tom
@ Tom Linz (Gast) >(meinen Betreuern wurde die Lösung über I²C dann doch zu teuer) Hmm, 16 EUR sprengen das UNI-Buget? ;-) >Im Grunde kann ich doch die gleichen Bauelemente wie beim Pong-Spiel >nutzen, oder? Ja. >Zusätzliche Treiber sind doch nicht notwendig? Nein. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Acht_LEDs_mit_je_20mA_pro_Schieberegister MfG Falk
>(meinen Betreuern wurde die Lösung über I²C dann doch zu teuer) Also ich hätte PCA9532 genommen, das sind 16-fach I2C LED Dimmer und davon dann halt 8 Stück. Kosten bei Reichelt 1,90€ also zusammen 15,20€.
Schau Dir mal den I2C-Baustein SAA1064 an. Dort können 32 LED's (gemultiplext)angeschlossen werden und die Helligkeit in glaub 8 Stufen eingestellt werden.
Falk Brunner schrieb: > Ein 74HC595 kostet 30 Cent, macht 4,80 in Summe. Old School baby! Dimmt aber nicht so schön, es sei denn man gibt ordentlich Kiloherzen drauf :)
Jörg S. schrieb: > Falk Brunner schrieb: >> Ein 74HC595 kostet 30 Cent, macht 4,80 in Summe. Old School baby! > Dimmt aber nicht so schön, es sei denn man gibt ordentlich Kiloherzen > drauf :) Stimmt, das ist beim PCF8574 wesentlich besser! :ironie off: ;-) Tom Linz schrieb: > (meinen Betreuern wurde die Lösung über I²C dann doch zu teuer) Abgesehen davon, daß es mich verblüfft: Das wussten die nicht vorher, was das kostet? Die sind überbezahlt und müssten eigentlich dazu verdonnert werden, die Bauteile aus der eigenen Tasche zu bezahlen! Gruß Jobst
Jörg Wunsch schrieb: > Ah, also du gehörst zu den Betreuern! Nö, denn ich weiß ja, was da für Kosten auf einen zukommen. Gruß Jobst
Jobst M. schrieb: > Jörg Wunsch schrieb: >> Ah, also du gehörst zu den Betreuern! > > Nö, ... Woher nimmst du dann die Einschätzung, seine Betreuer seien "überbezahlt"?
Ganz einfach: Weil sie ihre Hausaufgaben nicht gemacht haben. Bevor ich jemandem eine Aufgabe stelle, sollte ich wissen, was das Ergebnis ist. Gruß Jobst
Meine Betreuer sind auf jeden Fall überbezahlt (als Angestellter der Telekom an einer Fachhoschule der Telekom). Ich darf fast 50,00€ für LED-Reflektoren und mehrere huntert Euro für die "Frontplatte" dieses Exponats einer Wissenschafts-Mitmach-Ausstellung ausgeben, aber bei 16€ für zwei der berühmten MAX7219 für meine Siebensegmentanzeigen reicht das Budget nicht mehr und ich muss mir eine preisgünstigere Alternative einfallen lassen. Nun werde ich also 120 LEDs und 20 Siebensegmentanzeigen multiplexen und I²C nur für ein Display benutzen. Nur bleibt am Ende der Misserfolg an mir hängen und über das Finanzielle wird keiner ein Wort verlieren. Vielen Dank für die zahlreichen Tipps und viele Grüße Tom
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.