Hallo zusammen, ich brüte seit einiger Zeit über einem "Spaßprojekt" bzw. Lernprojekt: Ich möchte eine LED-Matrix aus 192 LEDs ansteuern. Verwendet werden soll ein PIC 16F874 da ich den Hardware-UART zur Anbindung an den PC und den Hardware i2c zur Anbindung von ein paar EEPROMS verwenden möchte. D.h. ich habe am Ende noch 18 I/Os für die Ansteuerung der LEDs übrig. Die LEDs sind in 8er bzw. 16er "Päckchen" mit gemeinsamer Kathode verschaltet und ich möchte sie per Charlieplexing ansteuern. (Bitte nicht über Sinn oder Unsinn von Charlieplexing diskutieren, ich möchte es einfach mal gerne ausprobieren... ;) ) Nun mein Problem: Beim Charlieplexing leuchtet ja immer nur eine LED. Da ich aber 192 LEDs habe würde jede LED ja nur max. 1/192 der Zeit leuchten und somit vermutlich ziemlich dunkel werden. Deshalb kam mir die Idee, die LEDs mit nem höheren Strom zu pulsen. (Lt. Datenblatt gehen bei meinem Typ LEDs 100mA für max. 10ms bei 1/10 DutyCycle, bei der Geschwindigkeit mit der gemultiplext wird sollte das kein Problem sein denke ich...) Nur bin ich da wieder vom PIC limitiert: 25mA pro pin, 200mA gesamt iirc. Deshalb würde ich gerne ein paar günstige Transistoren (z.B. 3904+3906) einsetzen um den Strom zu verstärken. Jetzt kommen wir (endlich) zu meiner Frage: Wie verschalte ich die Transistoren am Besten mit dem Port-Pin um den gewünschten Effekt zu erzielen? Nach meiner (Laien-)Meinung sollte das so aussehen: Die Basen der Transen parallel schalten und an den Portpin (evtl. per Vorwiderstand um den Ausgangsstrom einzustellen) und die Emitter ebenfalls parallel. Die beiden Kollektoren dann jeweils an GND bzw. +5V. (Siehe Anhang, die Widerstände habe ich für alle Fälle mal eingezeichnet, da ich nicht sicher bin ob/welche ich brauche und wie sie dimensioniert werden sollten.) Könnte das funktionieren oder habe ich etwas übersehen? Falls es so nicht funktionieren kann, wie würdet ihr das machen? (Bitte nicht auf die diversen Maxim-ICs hinweisen, die sind mir zu teuer und Maxim scheint meine Sample-Requests immer direkt in die Ablage P zu stecken...) Schonmal im Voraus vielen Dank für eure Antworten! :)
Bei Charlyplexing können sehr wohl mehrere LEDs gleichzeitig leuchten, nicht nur eine! Am Besten liest Du noch mal die entsprechenden ANs durch, auch hier im Forum habe ich schon etliches darüber geschrieben. Den Strom musst Du dennoch verstärken, wenn Du 192 LEDs treiben willst. Nur musst Du aufpassen, weil die H-Side-Treiber Konstantstrom liefern müsssen, und die LowSide möglichst niederohmig sein sollten (oder umgekehrt, wenn Du willst). Sonst hängt die Helligkeit der LEDs von der Anzahl derjenigen, die gerade eingeschaltet sind, ab. So wie in Deinem Schaltungsvorschlag funktioniert es nicht, da der Ausgang auch floaten können muss. Das wird nicht so einfach! Eine Lösungsmöglichkeit ist evtl. noch, die LEDs auf mehrere µC aufzuteilen und direkt (ohne Treiber) anzusteuern. Viel Spaß und Erfolg!
Moment mal, die Zeichnung ist eine normale Komplimentärendstufe, nur etwas ungewöhnlich gezeichnet (Gnd geht normalerweise nach unten). Könnte evtl. doch funktionieren, da die floatet, wenn der Eingang floatet. Wie schon geschrieben: eine Seite (oben oder (besser) unten) muss niederohmig sein, d.h. R raus und T bis in die Sättigung treiben (niedriger Basiswiderstand).
noch ein tip zum charlieplexing: ubedingt led's aussuchen die auch eine sperrspannung von 5V aushalten. die angabe wie hoch die sperrspannugn sein darf und/oder wie lange sie anstehen darf ist nur ledier bei den wenigsten led's zu finden. gruss gerhard
Hallo! Kann ich eine Siebensegmentanzeige mit einem PIC treiben? Benötige ich einen Treiber, auch wenn ich mit dem PIC die Anzeige gegen GND ziehe? bitte um rasche Hilfe danke
@Hartimut: Deine Frage hat gar nichts mit diesem Thread zu tun, bitte beim nächsten Mal eine getrennte Frage stellen ("Neuer Beitrag"). Normale LEDs am PIC geht gut, dabei ist weniger der maximale Strom pro Port (ich glaube 25 mA), sondern mehr der Gesamtstrom auf den Versorgungspins der begrenzende Faktor. Steht alles im Datenblatt. Du musst halt für jedes Segment einen ausreichend großen Widerstand spendieren.
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.