mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Charlieplexing mit PIC - wie den Strom erhöhen?


Autor: Christian T. (shuzz)
Datum:
Angehängte Dateien:

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

Autor: eProfi (Gast)
Datum:

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

Autor: eProfi (Gast)
Datum:

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

Autor: gerhard (Gast)
Datum:

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

Autor: Hartimut (Gast)
Datum:

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

Autor: eProfi (Gast)
Datum:

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

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.