Multiplexen von 7-Segment LED-Anzeigen ist für die viele Elektroniker
das Mittel der Wahl. Bei einigen Anzeigen ist es auf Grund der
vorgegebenen Anschlüsse auch unumgänglich.
Verwendet man allerdings gängige 13mm LEDs oder größer, deren 10
Anschlüsse je 5 oben und je 5 unten angeordnet sind, bringt eine
statische Ansteuerung der Segmente einige Vorteile und kann selbst von
kleinen µCs im 8-pol. Gehäuse erledigt werden.
Die statische Ansteuerung erfolgt über Schieberegister, wobei drei
Datenleitungen LED_DATA, LED_CLOCK und LED_STROBE ausreichen.
Empfehlenswert ist noch eine 4. Leitung LED_OE, die die Ausgänge der
Schieberegister aktivieren kann und darüber auch die Steuerung der
Helligkeit mittels PWM erlaubt.
Als Schieberegister gut geeignet ist der Typ ..4094, den es in uralter
CMOS-Ausführung (CD4094, HEF4094) gibt, und der auf Grund seiner
'schlappen' CMOS-Ausgänge die Segmente direkt ansteuern kann. Die
Ausgänge begrenzen ihren Strom durch ihren Innenwiderstand. Bei Vcc = 5V
stellt sich ein Segmentstrom von ca. 5mA ein.
Weiterhin gibt es den 74HC4094 mit deutlich höheren Ausgangsströmen, bei
denen der Segmentstrom durch Reihenwiderstände (typ. 470 Ohm, für ca.
6mA) begrenzt werden muß. Bei der Bestückung kann der zusätzliche
Widerstand von Nachteil sein; dafür arbeiten die 74HC4094 bereits ab Vcc
= 2V und problemlos bei Vcc = 3V.
Bei Multiplex-Anzeigen muß man die Treiber auf die verwendeten LEDs
anpassen: Anzeige mit gemeinsamer Anode oder gemeinsamer Kathode
brauchen eine deutlich geänderte Ansteuerung.
Bei statischer Ansteuerung hingegen sind nur die Anschlüsse der
Anoden/Kathoden auf GND oder Vcc zu legen und das Bitmuster für die
Segmente 1:1 oder invertiert auszugeben. Wenn man es unbedingt braucht,
könnte man die Anzeige auch gemischt bestücken :-)
Die angehängten Fotos zeigen die einfache Verdrahtung; die
unterschiedliche Zuordnung der Segmente wird per Software erledigt.
Ob nun 3 oder 8 Stellen angesteuert werden sollen, der Aufwand ist recht
gering und für jede weitere Stelle gleich. Es können auch mehrere
mehrstellige Anzeigen kaskadiert werden.
Das angefügte Programm 'Digit_6LED.c' zeigt die Grundfunktionen für eine
6-stellige Anzeige. 'Fmeter_SCH.png' zeigt die verwendete Schaltung fürs
Beispielprogramm mit Schieberegistern 74HC4094 und Vorwiderständen.
'Digit_6LED_4094.png' zeigt die einfachere Schaltung für HEF4094 in
CMOS.
Und zum Schluß noch, wie 'schön' die Anzeige leuchtet.
M. N. schrieb:> Die>> Ausgänge begrenzen ihren Strom durch ihren Innenwiderstand. Bei Vcc = 5V>> stellt sich ein Segmentstrom von ca. 5mA ein.
Geil! darauf bin ich nicht gekommen. Danke für den Tip
Bei dem Preis von ca. 30 Cent für 4094 kann man ruhig auf Multiplex
verzichten.
Gruß
Tany schrieb:> Bei dem Preis von ca. 30 Cent für 4094 kann man ruhig auf Multiplex> verzichten.
na ja der Max für 64 Leds oder 8*7 Segmentanzeigen kostet auch nur
unter 1Euro.
Kommt immer darauf an was man machen will und wie die Gegebenheiten
sind für was man sich entscheidet.
M. N. schrieb:> Die angehängten Fotos zeigen die einfache Verdrahtung; die>> unterschiedliche Zuordnung der Segmente wird per Software erledigt.
das och noch, du bist einfach super!
Der Layout bekomme ich somit locker auf eine Seite.
Mikel M. schrieb:> na ja der Max für 64 Leds oder 8*7 Segmentanzeigen kostet auch nur>> unter 1Euro.>
hab kein gesehen! Max7219 kostet immer noch über 5 Mäuse!
Anbei ein Ausschnitt aus einer Anzeige mit 21 * 74HC595.
Es ersetzt 7 Panelmeter mit 3 Digits, das 4. Digit ist das '-' Zeichen.
Die Widerstandsnetzwerke sind 8*470R.
Der 74HC595 ist auch ein schönes Teil und hat sogar den Vorteil, dass
der Summenstrom über GND oder VCC max. 70mA betragen darf. Beim 74HC4094
sind es 50mA, weshalb ein Segmentstrom von 6mA die Grenze darstellt.
Dennoch sind 6mA für 'high brightness' Anzeigen recht (/zu) viel!
Meine ersten CD4094 waren von RCA (Alfred Neye Enatechnik hatte ein
Vertriebsbüro am Ernst-Reuter-Platz :-) Bei 5V lieferten diese einen
Ausgangskurschlußstrom von 2-3mA: sehr schlapp.
Dann kamen die 'B'-Typen auf und NXP kam mit der HEF-Serie, die dann mit
den immer besser werdenden LEDs hinreichende Helligkeit bei ca. 5mA
Segmentstrom ermöglichten. Multiplexbetrieb ließ auch keine sonderlich
höheren Ströme zu.
Irgendwann gab's dann die 74HC-Serie und den 74HC595 auch zu kaufen. Ich
bin bei den ..4094 geblieben.
Heute würde ich die Auswahl davon abhängig machen, wie das Layout am
einfachsten paßt.
Aus Neugierde habe ich noch mit den Versorgungsspannungen gespielt, um
die Tauglichkeit für Batteriebetrieb zu testen.
Die direkte Ansteuerung mit HEF4094 liefert bei 3V noch gute Helligkeit.
Die durchschnittliche Stromaufnahme einer 6-stell. Anzeige liegt bei
<50mA.
Die 74HC4094 mit 470 Ohm Reihenwiderstand liefern bei 3V eine
Helligkeit, die nicht mehr abgedimmt werden muß. Die Stromaufnahme liegt
hier bei <80mA für 6 Stellen. Man könnte die Reihenwiderstände auch auf
220 Ohm reduzieren, wenn man gerne Sonnenbrille trägt :-)
Dann noch der Extremtest: bei 1,8V leuchtet die Anzeige noch erkennbar
(470 Ohm), obwohl das schon außerhalb der Datenblattangaben liegt.
Fazit: auch mit geringerer Versorgungsspannung lohnt die statische
Ansteuerung mit Schieberegistern. Einen passenden µC vorausgesetzt, ist
die Ausführung mit HC4094 für den Bereich von 2,4 -> 5V gut brauchbar
und bietet optimale Voraussetzungen für einen Batteriebetrieb.
Positiv anzumerken ist noch, dass der Wirkungsgrad mit sinkender
Versorgungsspannung steigt, da die Verluste an den Serienwiderständen
abnehmen.
Oben wurde der MAX7219 erwähnt: laut Datenblatt macht er bei VCC < 4V
schlapp. Ein 3V Betrieb wäre mit ihm nicht möglich.
Moin,
ich hab mal kleinere Fragen bezüglich der Schaltung in Fmeter_SCH.png.
Mir fällt auf, dass das 7-Segment ganz links mit LSD und das ganz rechts
mit MSD bezeichnet ist.
Für gewöhnlich ist ja (bei normalen Zahlen) links das MSD und rechts das
LSD.
Erste Frage:
Ist in der Schaltung "bottom view" bezogen auf die 7-Segmente?
Dann würde es natürlich wieder hinkommen.
Zweite Frage:
Oder ist die Bezeichnung völlig egal? Da wie beschrieben:
M. N. schrieb:> die> unterschiedliche Zuordnung der Segmente wird per Software erledigt
Letzte Frage:
Oder hat die Bezeichnug etwas damit zu tun, in welcher Reihenfolge die
auszugebenden Digits (oder vielleicht auch Daten) in das Schieberegister
"geschoben" werden? Das Rechte zuerst (deswegen MSD) und das Linke zum
Schluss (nun halt LSD).
Ich frage das hier, da ich gerade eine Stoppuhr baue mit 4 7-Segmenten.
Eins für Minuten, zwei für Sekunden und eine für Zehntel-Sekunden. D. h.
maximale Anzeige 9:59.9. Danach fägt sie wieder von vorne an.
Ich habe vor das Schaltungsprinzip von M.N. zu benutzen und möchte aber
vermeiden, dass ich später in der Software komplizierte Routinen
schreiben muss, um die Reihenfolge meiner Zahlen hinzubasteln.
Gruß
V.B.
V.B. schrieb:> Ist in der Schaltung "bottom view" bezogen auf die 7-Segmente?
Schau dir mal die Platine an, da sitzen die Chips hinten drauf.
LSD ist die Einerstelle, die von der Software zwar das erste
rausgeschobene bit bekommt, welches dann aber weiter durchgeschoben
werden muss bis es beim letzten digit landet, die zuletzt von der
Software rausgeschobene bits werden also in die LSD Einerstelle
gelatcht.
Falls du es aus Versehen andersrum verdrahtet hast, kein Problem,
einfach die Sowfatre ändern.
Der Text
"und der auf Grund seiner 'schlappen' CMOS-Ausgänge die Segmente direkt
ansteuern kann. Die Ausgänge begrenzen ihren Strom durch ihren
Innenwiderstand. Bei Vcc = 5V stellt sich ein Segmentstrom von ca. 5mA
ein."
soll suggerieren, daß man keine Widerstände braucht. Die dienen aber
nicht nur dem Schutz, sondern auch der gleichmässigen Helligkeit. So wie
im Bild (TDSC1150 ohne Vorwiderstände an CD4094) sieht es einfach nach
Murks aus, auch wenn unser Held M.N. natürlich solchen Murks baut.
Beitrag "Re: Selbstbau Armbanduhr: absolut kriminelle LED Ansteuerung"
V.B. schrieb:> Für gewöhnlich ist ja (bei normalen Zahlen) links das MSD und rechts das> LSD.
Das ist ja zunächst einmal der Schaltplan, der für gewöhnlich von links
nach rechts gezeichnet wird, was die Richtung der Daten angeht: Eingänge
-> Ausgänge. Das Layout ist so, daß beim Blick auf die Digits sich das
MSD ganz links befindet.
Die Software schiebt gemäß Schaltplan zunächst die Daten für MSD heraus.
Das hat den Vorteil, daß man das Display auch kaskadieren kann, um mehr
Stellen (Vorzeichen, oder auch mehrere Anzeigen) zu verwenden. Die
zuletzt herausgeschobenen Daten landen immer an der richtigen Position.
V.B. schrieb:> Ich habe vor das Schaltungsprinzip von M.N. zu benutzen und möchte aber> vermeiden, dass ich später in der Software komplizierte Routinen> schreiben muss, um die Reihenfolge meiner Zahlen hinzubasteln.
Das ist kein Problem.
Vielen Dank für Eure Antworten. Ich merke schon, man ist hier in
kompetenten Händen.
Ich habe die Schaltung mal mit Multisim simuliert. D.h. ich habe mir
serielle Daten ausgedacht z.B. "01100000 01100111", diese mit einem
interaktiven Digitalschalter an das erste Schieberegister angelegt, nach
jedem einzelnen Bit einen Takt erzeugt und zum Schluss den "enable
output" mit 5 V versorgt. Und siehe da, es stand "14." in den ersten
beiden 7-Segment-Anzeigen. Danach ist Multisim dann meistens mit einem
Laufzeitfehler ausgestiegen. Allerdings habe ich eine andere
Verdrahtungsreihenfolge zwischen den Schieberegistern und den
7-Segment-Anzeigen verwendet als es in der Fmeter_SCH.png und der
Digit_6LED_4094.png gezeigt wird. Es ging mir auch nur um das
Funktionsprinzip. Der Strobe-Eingang hat bei Multisim irgendwie keine
Funktion, aber das werde ich dann später bei der Programmierung schon
herausfinden, wie der arbeitet.
Tany schrieb:> Mikel M. schrieb:> na ja der Max für 64 Leds oder 8*7 Segmentanzeigen kostet auch nur unter> 1Euro.>> hab kein gesehen! Max7219 kostet immer noch über 5 Mäuse!
ebay China 50 Stück für 12€ + (4 Wochen vorher) 30 Stück. Davon bisher
28 verbaut: alle funktionieren.
Harry schrieb:> ebay China 50 Stück für 12€ + (4 Wochen vorher) 30 Stück. Davon bisher> 28 verbaut: alle funktionieren.
Das war von fast 5 Jahre, wo ich die Platine noch selbst ätzen wollte
und es noch nicht soviel Nachbau von Chinesen gab.
Und ja, selbst wenn der jetzt bei Chinesen nur noch paar Cent kostet,
würde ich immer noch meiden. Heutzutage gibt es schon viel besseres. :-)
Da dieses Forum auch über Google gefunden wird. .. möchte ich etwas
Software dazu tun. Für den Fan eines Arduino wird es so noch leichter.
https://github.com/Electromed/EmSevenSegment
Jens G. schrieb:> https://github.com/Electromed/EmSevenSegment
Die dort gezeigte Schaltung wird auch für einen MC74HCT4094A empfohlen.
Das ist aber nicht im Sinne des Erfinders: es fehlen die
strombegrenzenden Widerstände. Siehe oben!
Oberflächlich angesehen, wird im Programm ein vollständiger Zeichensatz
A - Z angeboten. Ein lesbarer Zeichensatz ist auf einer 7-Segmentanzeige
nicht möglich. Das muß man einfach akzeptieren oder auf LCD-Module
wechseln!
m.n. schrieb:> Die dort gezeigte Schaltung wird auch für einen MC74HCT4094A empfohlen.> Das ist aber nicht im Sinne des Erfinders: es fehlen die> strombegrenzenden Widerstände. Siehe oben!
Stimmt genau - der MC74HCT4094A hat etwa .. 42 Ohm Ri. Die "alten" CMOS
begrenzen den Strom durch etwa .. 680 Ohm Ri. Sehr aufmerksam bemerkt.
Ich bin nicht der Urheber der genannten Quelle.