Forum: Mikrocontroller und Digitale Elektronik Bitte um Prüfung der Schaltung (LED Funkuhr)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christoph F. (saij)


Angehängte Dateien:

Lesenswert?

Hallo,

könntet ihr bitte meinen bisherigen Schaltplan prüfen bzw. Tipps zur 
Verbesserung geben bevor ich anfange noch den µC Part zu entwerfen und 
das Board zu layouten?

Das Projektziel soll eine Wanduhr mit DCF77 Signal und einzelnen LEDs 
für die Stunden, Minuten und Sekunden Anzeige sowie einer digitalen 
Anzeige in der Mitte sein.

Da die Farben für die LEDs noch nicht genau feststehen, besitzen die 
Vorwiderstände momentan noch keinen Wert. Angesteuert werden sollen die 
LED mit einem AtMega328P sowie 20 kaskadierten 74hc595 (alles in SMD 
Bauweise).

Da die 74HC595 nur 70mA verfügbar machen, benutze ich den Trick aus 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Acht_LEDs_mit_je_20mA_pro_Schieberegister 
und schalte das erste Nibble eines Schieberegisters auf Low-Active 
(heißt LED soll leuchten wenn ich eine 0 an der Bitstelle habe).

Um nun konsequent im Code mit High-Active rechnen zu können plane ich 
einfach in der Ausgabefunktion jedes Byte mit 0x0F XOR zu verknüpfen.

Deswegen wechsel ich auch immer zwischen PNP und NPN Transistoren (Laut 
http://www.mikrocontroller.net/articles/Transistor#PNP.2FNPN_als_Schalter.2C_wohin_mit_der_Last.3F 
schaltet ein PNP bei Basis => GND und ein NPN bei Basis => VCC). 
Allerdings bin ich mir hier nicht wirklich sicher ob das so 
funktioniert. Vorallem bei den Vorwiderständen weiss ich nicht welche 
ich nehmen muss. Transistoren sind für mich irgendwie immer noch ein 
Buch mit 7 Siegeln ^.^
Auch bei der Auswahl der Transistoren (BCX 19 für NPN und BCX 17 für 
PNP) bin ich mir nicht sicher. Die sonst immer hier empfohlenen 
Transistoren sind irgendwie nicht als SMD verfügbar.

Wäre echt super wenn ihr mir Tipps geben könnten bzw. den Schaltplan 
nach Fehlern untersuchen könntet (Stromversorgung der 74HC595 fehlt noch 
- genau wie der µC Part)

Gruß
Saij

: Verschoben durch User
von Raimund R. (corvuscorax)


Lesenswert?

Wenn die durch "LED_Z..." gekennzeichneten LEDs über einen 
Schalttransistor gesteuert werden, die nur noch sehr wenig 
Treiberleistung benötigen, warum machst Du dann noch die 4+4-Mimik bei 
den Schieberegistern 74LS595 mit der XOR-0x0F-Verknüpfung, wie im 
AVR-Tutorial beschrieben???
Das Ganze braucht man nur(!) dann zu machen, wenn man Gefahr läuft mehr 
als 70mA über den Vcc- bzw. GND-Anschluss zu 'ziehen'. Mit den von Dir 
eingeplanten Schalttransistoren (BCX17/BCX19) wird diese Sache ad 
absurdum geführt. Nimm nur noch die NPN-Version dieser Beschaltung und 
Du sparst Dir die XOR-Verknüpfung in der Software - eine logische "1" am 
Port-Pin steuert den Transistor durch und die daran angeschlossenen LEDs 
leuchten - Punkt aus.

von Christoph F. (saij)


Lesenswert?

Das mache ich, damit ich nicht im Code erst überprüfen muss ob ich nun 
die Sekunden/Minuten schalte (und damit eine XOR 0x0F Verknüpfung machen 
muss) oder nicht, sondern einfach im Code alles pur mit XOR 0x0F 
rausjagen kann. In der Schaltung an sich tut es mir nicht wirklich weh 
(denke ich - kann mich aber auch täuschen ^^) und den Code würde es 
optimieren.

von Frank K. (fchk)


Lesenswert?

Du kannst Dir viel Arbeit sparen, wenn Du TLC5925 verwendest.

Das sind auch Schieberegister, aber
(a) 16 Bit, d.h. Du brauchst nur 10 Bausteine und keine 20.
(b) mit Konstantstromausgängen, die direkt LEDs treiben können. Den 
Strom (3 bis 45 mA pro Pin) stellst Du mit einem Widerstand an Pin 23 
ein, und der Baustein macht den Rest. Deine ganzen Transisoren und 
Vorwiderstände entfallen. Wenn Du n LEDs gleichzeitig mit einem Pin 
schalten willst, hängst Du die in Reihe und nimmst eine höhere Spannung, 
die über der Summe der Flussspannungen der LEDs liegt (max. 17V), und 
der Baustein regelt dann den Strom passend.

Datenblatt gibts hier:
http://www.ti.com/lit/ds/symlink/tlc5925.pdf

Alternativen wären TLC59025 oder, wenn Du höhere Ströme brauchst: 
TLC5921 (80mA pro Portpin, anderes Gehäuse mit besserer Wärmeableitung).

Der TLC5921 hat auch einen Error-Pin, der Low geht, wenn der Baustein zu 
warm wird oder eine LED ausfällt.

http://www.ti.com/lit/ds/symlink/tlc5921.pdf

Du musst Dir ja das Leben nicht unbedingt schwerer machen als unbedingt 
notwendig.

fchk

PS:
https://hbe-shop.de/Art-1858096-TEXAS-INSTRUMENTS-TLC5925IDWR-LED-TREIBER-KONSTANTSTROM-SOIC24
https://hbe-shop.de/Art-1207285-TEXAS-INSTRUMENTS-TLC5921DAPG4-LED-TREIBER-SMD-5921-HTSSOP32

Beachte die Preisstaffel ab 10 Stück!

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]
  • [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.