Forum: Mikrocontroller und Digitale Elektronik 7-Segment-Anzeige aus 2-Pin-DUO-LED


von Ted K. (ted1405)


Lesenswert?

Hallo miteinander.

Seit einigen Tagen nun zermartere ich mir den Kopf, wie ich die aktuelle 
Aufgabenstellung am besten lösen kann und suche hier immer noch nach der 
"perfekten" Ansteuerung mit einer möglichst geringen Bauteilanzahl.

Ich möchte eine 7-Segment-Anzeige aus Duo-LEDs (2 pin, rot/grün, 20mA, 2 
bis 2.5V) aufbauen, wobei jedes Segment aus 8 LEDs besteht. Die Farbe 
der gesamten Ziffer bleibt immer einheitlich (rot, grün oder gelb 
(gepulst)), ebenso die Helligkeit (kein Dimmen notwendig).
Eine Matrix möchte ich aus unterschiedlichsten Gründen nicht aufbauen, 
auch wenn ich mit dem Konzept vertraut bin. Ebenso möchte ich 
vollständig auf SMD-Technik verzichten (das Display wird später 
möglicherweise von Grobmotorikern gewartet/repariert ;))

Die 8 LEDs würde ich wahlweise alle in Reihe oder zwei Reihen a vier 
LEDs parallel schalten, je nachdem, was letztlich für die 
Betriebsspannung günstiger ist.

Mein Gedankengang ist also, dass ich über eine H-Brücke zunächst einmal 
die Polarität für das gesamte Segment vorbestimme und anschließend mit 
Hilfe von Transistoren die einzelnen Segmente ein- oder ausschalte.

Die bisher elegantesten Ansatz fand ich bisher hier:
Beitrag "Transistor Wechselspannung schalten"

Somit würde ich also für jedes Segment einen kleinen Gleichrichter 
aufbauen und den Transistor zwischen dessen +/- Anschluss klemmen (6 
Bauteile je Segment). Wenn ich aber nicht ganz falsch liege, ist dieser 
Weg nicht möglich, da ich ja allein durch das Umpolen keine gegenüber 
GND negative Spannung erhalte, der Transistor somit mal vor, mal hinter 
der Last sitzt und die Ansteuerung des Transistors via µC mit der >15V 
Spannung für die LEDs kollidieren würde.

Da ich nur eine sehr begrenzte Kenntnis von Bauteilen habe, habe ich 
bisher auch noch keinen (DIP-) Treiberbaustein gefunden, welcher mir da 
weiterhelfen könnte. Jene welche ich fand sind entweder auf max. 5V 
ausgelegt oder die Maximalströme sind zu niedrig oder der Kaufpreis je 
Stück liegt jenseits der 5€, was bei insgesamt 84 Segmenten ein bisschen 
zu heftig wäre.


Für jeden zielführenden Denkansatz wäre ich dankbar. Und falls andere 
Bauteile/ICs ins Spiel kommen sollen, bitte nur mit konkreten Typen. Wie 
gesagt ... meine Kenntnis von verfügbaren ICs ist sehr begrenzt.

Schon mal vielen Dank für jede Anwort,
Gruß,
Ted.

von dummy (Gast)


Lesenswert?

>Seit einigen Tagen nun zermartere ich mir den Kopf, wie ich die aktuelle
>Aufgabenstellung am besten lösen kann und suche hier immer noch nach der
>"perfekten" Ansteuerung mit einer möglichst geringen Bauteilanzahl.

Kauf dir ne Tüte WS2812 LEDs. Gibt es auch als Through Hole.

von Ted K. (ted1405)


Lesenswert?

dummy schrieb:
> Kauf dir ne Tüte WS2812 LEDs. Gibt es auch als Through Hole.

Den WS2812 hatte ich schon gesehen ... allerdings gibt es da ettliche 
Punkte, welche bei 4500 "Bildpunkten" dagegen sprechen.

Preis (~35 Cent/Stk. vs. 15 Cent/Stk.),
Strom (in etwa 5V / 90A  vs. 12V / 23A),
!SMD!,
Montage ohne Platine auf der Rückseite nahezu nicht möglich

... aber ich denke nochmal intensiver darüber nach, ob ich es in 
Erwägung ziehe. Danke dennoch.

von Martin K. (Gast)


Lesenswert?

Ted K. schrieb:
> Die Farbe
> der gesamten Ziffer bleibt immer einheitlich

Ziffer oder Ziffern? (Alle Ziffern = gesamte Zahl = Display eine Farbe?)
12 Stellen? Multiplexbetrieb? Falls genug Platz ist, könnte man auch rt 
und gn LED (einzeln) verwenden und diese aber nicht antiparallel 
verschalten; wäre el. einfacher aber die Mischung der Farben wird 
optisch schwieriger.
Wie groß etwa wird jede Stelle?
Wie schnell wechseln die Ziffern?
Wie schnell welchselt die Farbe?
Farbwechsel nur bei Änderung der Ziffer?
Woher kommt das 7-Seg.-Signal? Dekoder?

Ted K. schrieb:
> Wenn ich aber nicht ganz falsch liege, ist dieser
> Weg nicht möglich, da ich ja allein durch das Umpolen keine gegenüber
> GND negative Spannung erhalte, der Transistor somit mal vor, mal hinter
> der Last sitzt

Wahrscheinlich ist eine 2.potentialgetrennte Spannung nötig.

von Ted K. (ted1405)


Lesenswert?

Hallo Martin,

> Ziffer oder Ziffern? (Alle Ziffern = gesamte Zahl = Display eine Farbe?)

Jede einzelne Ziffer soll eine der drei Farben annehmen können. 
Ansonsten wird weder gemischt noch gedimmt.


> 12 Stellen? Multiplexbetrieb? Falls genug Platz ist, könnte man auch rt
> und gn LED (einzeln) verwenden und diese aber nicht antiparallel
> verschalten; wäre el. einfacher aber die Mischung der Farben wird
> optisch schwieriger.

Insgesamt werden es 12 Zeilen mit jeweils 6 Ziffern und einem Stern. 
rt/gn als Einzel-LEDs zu verwenden fällt leider raus, da die Anzeige aus 
1-50 Meter Abstand gelesen wird (und getrennt bei 1m ziemlich 
irritierend wäre).

> Wie groß etwa wird jede Stelle?

Ich dachte an 5mm LEDs, somit also in etwa 4,5 x 9cm.
Gesamtgröße wird dann in etwa 1m auf 2m.

> Wie schnell wechseln die Ziffern?
> Wie schnell welchselt die Farbe?

Da hab' ich wenig Stress. Eine einzelne Zeile ändert sich höchstens 2 
bis 3 mal die Minute und um ggf. eine Zeile mal durch Blinken hervor zu 
heben (Farbe), genügen 3 Takte je Sekunde auch völlig. Also eher banal 
für 'nen µC, selbst bei so vielen Ziffern.


> Farbwechsel nur bei Änderung der Ziffer?
... oder, wenn es mal blinken soll.


> Woher kommt das 7-Seg.-Signal? Dekoder?

Über LAN zu einem µC, der es dann weiter aufarbeiten und verteilen darf. 
Also auch da bin ich völlig frei.


> Wahrscheinlich ist eine 2.potentialgetrennte Spannung nötig.

Ah!
Stimmt. Zwar fallen somit PC-Netzteile zur (günstigen) Stromversorgung 
raus, aber damit könnte das mit dem Transistor im Brückengleichrichter 
wohl funktionieren. :)

von S. K. (hauspapa)


Lesenswert?

Nicht ganz modern aber: Es gibt rot/grün Leds auch mit 3 Beinen. Das 
wird in Sachen Ansteuerung wesentlich entspannter. Mit Reihenschaltung 
ist dann zwar nichts aber über alles gesehen macht es trotzdem Sinn. 
Wenn man wollte könnte man die sogar Multipexen.

>bei 4500 "Bildpunkten"
und 2 Farben gibt das egal wie ein ziemliches I/O Grab.

viel Erfolg
hauspapa

von Gerald B. (gerald_b)


Lesenswert?

Wie wärs mit herkömmlichen RGB-Stripes?
Aus denen kannst du die Segmente kleben. Habe ich mit blauen Stripes 
gemacht. 5m für eine 6-stellige Uhr mit 28 cm großen Ziffern (die 
Sekunden etwas kleiner)
Zum Einen sind die Stripes preiswerter als Einzel-LEDs, leichter und 
schneller zu verarbeiten und zum anderen sind die Stripes einfacher 
anzusteuern. Wenn du die 5m Rollen direkt in China bestellst, bekommst 
du die Rolle unter einem Zehner :-)

Gruß Gerald

von Bernhard S. (b_spitzer)


Lesenswert?

Ich würde pro Segment eine H-Brücke nehmen. Ein L293D hat 4 Halbbrücken, 
also 2 Segmente pro Baustein. Wenn Du 7 Segmente + Dezimalpunkt machen 
willst, dann brauchst du genau 4x L293D pro Ziffer. Die Segmente werden 
über d1e Enable-Eingänge geschaltet, die Steuereingänge IN1/IN2 bzw. 
IN3/IN4 sind über einen Inverter geschaltet. Wunschfarbe mit 0, 1 oder 
Rechteck anwählbar.
Der L293D kostet in Stückzahlen bei Schukat 52Ct + MwSt.
Dazu ein kleiner Controller pro Ziffer und über I2C/SPI/RS485 verbunden, 
dann wird das schön modular.

tschuessle
Bernhard

: Bearbeitet durch User
von Martin K. (Gast)


Lesenswert?

Ted K. schrieb:
> Insgesamt werden es 12 Zeilen mit jeweils 6 Ziffern

Also 72 Ziffern mal 7 Segmente/Ziffer = 504 Segmente
Wieviele Ausgänge hat dein µC ?

von Bernhard S. (b_spitzer)


Lesenswert?

Martin K. schrieb:
> Also 72 Ziffern mal 7 Segmente/Ziffer = 504 Segmente
> Wieviele Ausgänge hat dein µC ?

2 genügen. I2C oder SPI heißt das Zauberwort.

von Ted K. (ted1405)


Lesenswert?

Wow, zunächst mal ein dickes Danke!
Das hat mich doch schon mal ein gutes Stück weiter gebracht. Aber mal im 
Detail ...:

@S. K. (hauspapa)
> Nicht ganz modern aber: Es gibt rot/grün Leds auch mit 3 Beinen.

Richtig. Allerdings fürchte ich die maximale Stromaufnahme von 180 
Ampere etwas, welche dann im WorstCase bei Gelb notwendig wären. ;-)

> und 2 Farben gibt das egal wie ein ziemliches I/O Grab.

Auch da bin ich schmerzfrei. Kleinere µCs kosten nicht so viel und 
eignen sich perfekt, 'ne Hand voll Ziffern anzusteuern. Zumal es somit 
auch - wie an anderer Stelle erwähnt - schön Modular bleibt.


@Gerald B.:
> Wie wärs mit herkömmlichen RGB-Stripes?

Die Gehäuseform ist leider bereits vorgegeben. Die Front wird ein 
Lochblech mit 5mm-Löchern. Da wäre es sehr schwer, was auf das Raster 
passendes zu finden. Davon ab gilt dann in etwa das gleiche, wie ich 
bereits zum  WS2812 schrieb. ;-)
Aber ansonsten werde ich sicher früher oder später auch mal ein Projekt 
mit solchen Stripes angehen. Gibt da ja viele, spannende Möglichkeiten. 
:)


@Bernhard Spitzer (b_spitzer):

Yeah! Absolut Top-Tip, welcher mich meinem Ziel deutlich näher bringt! 
Danke für den Verweis auf den L293D (den kannte ich bisher nicht, könnte 
aber mein neuer Liebling werden). :-)

Damit ist die Lösung einfach.

Mit einem einzelnen TLE4202B kann ich für jeweils zwei Ziffern schon mal 
+/- umschalten. Und auf der anderen Seite der Segmente kann ich dann den 
L293D perfekt benutzen - da braucht's dann effektiv genau 2 je Segment 
und die Verdrahtung auf der Platine wird auch sehr einfach. :)

Ein dickes Danke von mir!


Zu Deinem zweiten Beitrag und dem SPI hätte ich aber nochmal eine Frage 
... könnte das bei so vielen Modulen und der daraus resultierenden 
Leitungslänge nicht problematisch werden? Denn hier mache ich mir noch 
etwas Sorgen, mir über Störstrahlungen die Kommunikation zu zerschießen.



@Martin K. (ladungstraeger):
> Also 72 Ziffern mal 7 Segmente/Ziffer = 504 Segmente

Richtig. Aber man muss sich ja nicht auf einen einzelnen µC beschränken. 
;-)

: Bearbeitet durch User
von Bernhard S. (b_spitzer)


Lesenswert?

Ted K. schrieb:
> Mit einem einzelnen TLE4202B kann ich für jeweils zwei Ziffern schon mal
> +/- umschalten.
wozu das denn noch??

> Und auf der anderen Seite der Segmente kann ich dann den
> L293D perfekt benutzen -
Die LEDs hängen IN der H-Brücke. Mehr brauch's nicht.


> Ein dickes Danke von mir!
gerne geschehen

> Zu Deinem zweiten Beitrag und dem SPI hätte ich aber nochmal eine Frage
> ... könnte das bei so vielen Modulen und der daraus resultierenden
> Leitungslänge nicht problematisch werden? Denn hier mache ich mir noch
> etwas Sorgen, mir über Störstrahlungen die Kommunikation zu zerschießen.

Dann RS-485-Treiber und eine serielle Schnittstelle/Bus drüber. Wobei, 
bei 72 Ziffern wird es eng. RS-485 Treiber treiben meist nur 32 Lasten. 
Also evtl. ein paar Segmente zusammenfassen oder mehrere Bussegmente.

von Ted K. (ted1405)


Lesenswert?

Huhu Bernhard,


Bernhard Spitzer schrieb:
>> Mit einem einzelnen TLE4202B kann ich für jeweils zwei Ziffern schon mal
>> +/- umschalten.
> wozu das denn noch??
> Die LEDs hängen IN der H-Brücke. Mehr brauch's nicht.

Okay, streich' den TLE4202B - den braucht's tatsächlich nicht, da der 
L293D mit 600mA je Kanal völlig ausreichend ist (7 Segmente, je zwei 
LED-Stränge parallel <= 300mA).

Gedankengang ist jedenfalls, dass ich die Farbe ja nur je Ziffer ändern 
möchte und nicht je Segment. Also kann ich mit der einen Seite der 7 
Segmente auf jeweils einen Ausgang vom L293D und die andere Seite aller 
Segmente sammle ich dann auf einem einzelnen Ausgang vom L293D.

Somit benötige ich dann auch nur genau zwei der L293Ds je Ziffer 
(Dezimalpunkte gibt es keine) und für den Farbwechsel invertiere ich 
schlicht die 8 Bits. ;)



>> Ein dickes Danke von mir!
> gerne geschehen

Und gleich auch nochmal eines für den Tip mit "Schukat". Die Preise dort 
sind ja mal genial. Das spart mir bei den LEDs allein schon 400€. :-)


>> Zu Deinem zweiten Beitrag und dem SPI hätte ich aber nochmal eine Frage
>> ... könnte das bei so vielen Modulen und der daraus resultierenden
>> Leitungslänge nicht problematisch werden? Denn hier mache ich mir noch
>> etwas Sorgen, mir über Störstrahlungen die Kommunikation zu zerschießen.
>
> Dann RS-485-Treiber und eine serielle Schnittstelle/Bus drüber. Wobei,
> bei 72 Ziffern wird es eng. RS-485 Treiber treiben meist nur 32 Lasten.
> Also evtl. ein paar Segmente zusammenfassen oder mehrere Bussegmente.


Okay, jepp. RS-485 war auch mein Gedanke - dann lag' ich da richtig.
Ich schätze, dass ich jeweils 3½ Ziffern je Modul (und µC) 
zusammenfassen werde. Somit wären es dann letztlich 24 Module/Lasten, 
was dann ja sehr gut passt.

Gruß,
Ted

: Bearbeitet durch User
von Bernhard S. (b_spitzer)


Lesenswert?

Ted K. schrieb:
> TLE4202B - den braucht's tatsächlich nicht, da der
> L293D mit 600mA je Kanal völlig ausreichend ist (7 Segmente, je zwei
> LED-Stränge parallel <= 300mA).
der L293D kann bis 36V, alle LEDs eines Segmentes können also in Reihe 
geschaltet werden. Damit könntest Du mit einem 24V Netzteil den Strom 
nochmals halbieren.

> Gedankengang ist jedenfalls, dass ich die Farbe ja nur je Ziffer ändern
> möchte und nicht je Segment. Also kann ich mit der einen Seite der 7
> Segmente auf jeweils einen Ausgang vom L293D und die andere Seite aller
> Segmente sammle ich dann auf einem einzelnen Ausgang vom L293D.
>
> Somit benötige ich dann auch nur genau zwei der L293Ds je Ziffer
> (Dezimalpunkte gibt es keine) und für den Farbwechsel invertiere ich
> schlicht die 8 Bits. ;)
Ja so geht es dann recht sparsam. Bei höherer Spannung wird auch der 
Strom durch den gemeinsamen 1/4 L293 auch geringer.

Die Preise bei Schukat sind halt immer + MwSt, aber es gibt auch gute 
Gruppenrabatte. z.B. gilt der 1000er-Preis bei LEDs oder Widerständen 
auch, wenn Du 10x 100 aus der selben Gruppe nimmst.

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
Noch kein Account? Hier anmelden.