www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LEDs über I²C ansteuern


Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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-Expan...

MFG
Falk

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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-...
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

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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

Beitrag #2093250 wurde vom Autor gelöscht.
Autor: Björn Cassens (bjoernc) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Valentin Buck (nitnelav) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn mein Dozent das so wollte, bin ich eigentlich ziemlich machtlos. 
Wahrscheinlich stehen da irgendwelche didaktischen Geschichten im 
Vordergrund.

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/90...
(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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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-Tutori...

MfG
Falk

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>(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€.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein 74HC595 kostet 30 Cent, macht 4,80 in Summe. Old School baby!

Autor: Jürgen W. (juergenw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :)

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jobst M. schrieb:

> Die sind überbezahlt ...

Ah, also du gehörst zu den Betreuern!

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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"?

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz einfach: Weil sie ihre Hausaufgaben nicht gemacht haben.

Bevor ich jemandem eine Aufgabe stelle, sollte ich wissen, was das 
Ergebnis ist.


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.