Hallo zusammen,
Ich möchte Euch um Rat und Hilfe bei meinem ersten uC-Projekt bitten.
Für eine Funkuhr brauche ich ein 6-stelliges 7-Segment-Display
anzusteuern. Ich möchte auf die bewährte Idee von Multiplexing
aufsetzen, wie bei
http://www.mikrocontroller.net/articles/DCF77-Funkwecker_mit_AVR.
Software ist kein Thema bei mir, bei Hardware habe ich ein paar mehr
Schwierigkeiten. Meine Grundvorstellung habe ich in der angehängten
Schaltung dargestellt (sorry für die Handzeichnung, Eagle muss ich noch
lernen). Kurze Erklärung:
* Damit die Grafik einfacher ist, zeige ich nur 2 aus 6 Ziffern. Ich
will jedes Segment einzeln ansteuern können, daher ist ein CMOS 4511
als Treiber ausgeschlossen. Aber ein Treiber muss da sein, da ich noch
andere Sachen im Projekt vorhabe, die auch Strom brauchen werden.
* Es handelt sich um 7-Segment-Displays mit gemeinsamen Kathode;
die Vorwiderstände schalte ich also zwischen Treiber und Anoden.
* Fürs Multiplexen benutze ich pnp-Transistoren in der Basisschaltung
(Basiswiderstand = 10k). Wenn bei enable_X 5V liegen, dann soll der
Transistor Strom erlauben, sonst sperren. Mit enable_1 bis _6 mache
ich also das Multiplexen.
Trotz aufwändiger Forum-Recherche bleiben einige Fragen noch offen:
* Was für Treiber würde hier passen? Ich habe vor, bis zu 30-40 mA pro
Segment zu benutzen. Ich habe die Vermutung, dass ein Darlington-
Array ULN2803 passend sein könnte, bin mir aber nicht sicher.
* Passt die Konfiguration der Transistoren? Darüber hinaus überlege ich
mir, nicht einzelne Transistoren zu benutzen sondern ein Transistor-
Array (IC). Ich kenne aber keinen solchen Bauteil.
Ich wäre für Hilfe und Anmerkungen seeehr dankbar :)
Viele Grüsse
Jhoro
Hallo! Das ist alles im Prinzip i.O so. Falls du Anoden treiben willst,
brauchst du nicht den ULN280x, sondern den UDN2981 (oder TD62783 von
Toshiba). Hättest Du ein Common-Anode-Display, könntest du den ULN2803
nehmen, dann müsten aber die Digit-Treiber PNP-Transistoren sein.
Gruss
rayelec
Sieht gut aus. Das funktioniert.
Was für einen Treiber wilslt du da nehmen?
Wenn der Impulsstrom 20mA nicht überschreitet, kannst du den Treiber
auch weglassen. zB falls du low-current 7-Seg nimmst. (HDN1075O)
Du kannst allerdings als Spaltentreiber auch pnp Transistoren in
Kollektorschaltung nehmen, damit sparst du dir die Vorwiderstände für
diese Transistoren...
@rayelec
Ich treibe definitiv die Anoden, also schaue ich mir im Detail das
Datenblatt von UDN2981
@Matthias
> Was für einen Treiber wilslt du da nehmen?
Das war eigentlich meine Frage gewesen. Aber rayelec meint, UDN2981
sollte passen.
> Wenn der Impulsstrom 20mA nicht überschreitet, kannst du den Treiber> auch weglassen. zB falls du low-current 7-Seg nimmst. (HDN1075O)
Dadurch dass ich 6 Displays multiplexen muss, gehe ich davon aus, dass
sie mit 20mA nicht hell genug sein werden. Also ich werde mehr als 20mA
brauchen. Aber auch wenn die 20mA i.O. wären, würde das 140mA
aufaddieren. Ich will aber mehrere Sachen ansteuern, nicht nur die, die
in der Schaltung gezeigt wurden. Also ist der Treiber notwendig.
> Du kannst allerdings als Spaltentreiber auch pnp Transistoren in> Kollektorschaltung nehmen, damit sparst du dir die Vorwiderstände für> diese Transistoren...
Danke für den Hinweis! Geht es auch mit einer IC? Dann brauche ich keine
6 Bauteile sondern nur einen!
Danke für Eure extrem schnelle Antworten!
Jhoro
>Danke für den Hinweis! Geht es auch mit einer IC? Dann brauche ich keine>6 Bauteile sondern nur einen!
Ja, nimm drei Portpins und gehe auf einen 74HC138. Der hat acht
ausgänge. (also max acht Spalten). Jeder Ausgang ist LOW-Aktiv und
treibt DIREKT (ohne R_vor) die Basis eines pnp-Transistor, dessen
Kollektor! auf GND und Emitter! an den Kathodenanschlüssen liegt.
Das funktioniert immer bestens..
Aso. falls du die sechs Transistoren weglassen willst. Wird schwer. Evtl
einen zweiten Treiber a la UDN..
Aber ich würde eher die Transistoren einsetzen. BC857, was will man
mehr...
Ich habe nochmals die Schaltung gezeichnet, so wie ich jetzt die Sache
verstehe. Ist sie so richtig?
Meine einzige Frage: BC857 ist ein SMD-Transistor. Kann ich stattdessen
einen BC 636/640 nehmen? Laut
http://www.mikrocontroller.net/articles/Standardbauelemente hält so ein
Transistor bis zu 500 mA, was bei mir ausreichen sollte.
Zwischendurch habe ich übrigens entdeckt, dass hier
http://www.mikrocontroller.net/mc-project/Pages/Projekte/Funkuhr/Funkuhr.pdf
die Bauteile ULN2803 und UDN2981 benutzt werden. Sieht so aus, dass die
LEDs mit ULN2803 getrieben werden und dann die Transistoren mit UDN2981.
Ich kann aber nicht erkennen, ob die 7-Segment-Displays gemeinsame
Kathode oder gemeinsame Anode haben. Aber meine ideale Lösung würde so
ähnlich aussehen: die Displays + Widerstände + 2 ICs (eine zum Treiber,
andere fürs Multiplexen)
Viele Grüsse
Jhoro
Jhoropopo wrote:
> Sieht so aus, dass die> LEDs mit ULN2803 getrieben werden und dann die Transistoren mit UDN2981.> Ich kann aber nicht erkennen, ob die 7-Segment-Displays gemeinsame> Kathode oder gemeinsame Anode haben.
Es steht sogar dran, dass es gemeinsame Anoden sind... (CA)
> Es steht sogar dran, dass es gemeinsame Anoden sind... (CA)
Ups, als Laie habe ich das übersehen...
Heisst das also bei mir, dass ich die Anoden mit UDN2981 treiben kann
und die Transistoren mit ULN2803 schalten kann?
Danke!!
Könnte ich also statt einzelnen Transistoren einen ULN2803-Bauteil
verwenden? Das wäre aus meiner Sicht einfacher zu schalten, auch wenn
ein bisschen teurer.
Jhoro
Obacht mit den Spannungen, nachrechnen empfohlen. Der UDN kommt an den
Ausgängen nicht annähernd an die Versorgungsspannung ran (=> Datasheet)
und an der Kathode geht bei dieser Schaltung noch Ube der Transistoren
weg, so dass es bei 5V für die LEDs knapp werden könnte.
PS: ULN statt BC an der Kathode macht's da auch nicht besser, im
Gegenteil, geht noch mehr weg.
Hallo,
es geht doch noch einfacher mit einem IC beispielsweise von AMS:
http://www.austriamicrosystems.com/03products/products_detail/AS1107/description_AS1107.htm
AS1107 kann direkt eine 8 stellige 7-segment Anzeige ansteuern. Es
muessen nur noch die Daten ueber SPI in den IC getaktet werden und man
spart sich das gesamte Multiplexen und Decodern.
Und kostenlose Muster kann man direkt ueber die Website anfordern.
> Obacht mit den Spannungen, nachrechnen empfohlen. Der UDN kommt an den> Ausgängen nicht annähernd an die Versorgungsspannung ran (=> Datasheet)> und an der Kathode geht bei dieser Schaltung noch Ube der Transistoren> weg, so dass es bei 5V für die LEDs knapp werden könnte.> PS: ULN statt BC an der Kathode macht's da auch nicht besser, im> Gegenteil, geht noch mehr weg.
So wie ich das sehe, brauche ich dann aber nur kleinere Vorwiiderstände,
oder? Die Erfahrung hatte ich schon mit dem CMOS 4511 gemacht, der kann
nur 4,4 V oder so an den Ausgang schalten. Das reicht aber für meine
LEDs vom 7-Segment-Display
Jhoro