Forum: Mikrocontroller und Digitale Elektronik 7Segment-Anzeige


von Tobias (Gast)


Lesenswert?

Hallo zusammen,

ich hoffe ihr könnt mir weiterhelfen. Ich habe einen Arduino und 
versuche damit eine 7-Segment-Anzeige anzusteuern.

http://www.elv.de/lucky-light-7-segment-anzeige-kw1-2301awb-weiss-56-8-mm.html

Die Anzeige hat einen gemeinsamen Anoden Anschluss und pro Segment 4 
LED's. Da ich hier mit meinen 5 Volt von meinem Controller nicht 
hinkomme, verwene ich externe 12V auf der gemeinsamen Anode.

Nur wie kann ich die Grounds über meinen Controller am besten Schalten?

Bin für jede Hilfe dankbar.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?


von Tobias (Gast)


Lesenswert?

Oh ok Danke,

brauche ich da für jedes Segment dann einen? Oder wie wird der genau 
angeschlossen?

von Arduino (Gast)


Lesenswert?

Das Ding (ULN2803) hat 8 Ausgänge, die nach Masse schalten. Daran 
schließt Du die Segmentanschlüsse (Kathoden) aller Bausteine an. Du 
brauchst für weitere Stellen noch pro einen Digit-Treiber, der nach Vcc 
schaltet. (z. B. einen Transistor)

Hast Du Dich mit solchen Anzeigen und deren Ansteuerung (Multiplex) 
schon mal beschäftigt?

von Tobias (Gast)


Lesenswert?

Ist mein erstes mal, aber ich glaube ich hab es verstanden.

Meine 8 Controller Ausgänge (die mir bei high 5 Volt liefern) lege ich 
auf die 8 Eingänge des ULN2803, die 8 Ausgänge des ULN2803 bekommen 
jeweils einen der 8 Kathoden meiner 7-Segment Anzeige. Die gemeinsame 
Anode der Anzeige auf 12V und dann sollte es ja funktionieren.

von asdf (Gast)


Lesenswert?

Tobias schrieb:
> die 8 Ausgänge des ULN2803 bekommen
> jeweils einen der 8 Kathoden meiner 7-Segment Anzeige.

Vorwiderstände nicht vergessen! :-)
Siehe https://www.mikrocontroller.net/articles/LED#Vorwiderstand

von Arduino (Gast)


Lesenswert?

Tobias schrieb:
> Die gemeinsame
> Anode der Anzeige auf 12V und dann sollte es ja funktionieren.

Wenn Du nur eine Stelle/Digit hast, ist das so richtig. 
LED-Vorwiderstände nicht vergessen!

von Tobias (Gast)


Lesenswert?

Ja genau, habe nur eine Stelle. Klar Vorwiderstand 100 Ohm. Also 
leuchten tut es schon :) Bald dann auch angesteuert über den Controller.

Vielen Dank für Deine/Eure Hilfe.

von Arduino (Gast)


Lesenswert?

Tobias schrieb:
> Klar Vorwiderstand 100 Ohm.

Du brauchst nicht einen, sondern acht. Aber probier es mit einem ruhig 
mal aus. ;-) Es geht nichts kaputt.

von Tobias (Gast)


Lesenswert?

Für jedes Segment / Kathode einen :)

von Stefan F. (Gast)


Lesenswert?

Ich habe einen Uhren-Bausatz aus China 3x aufgebaut. Da wird nur ein 
gemeinsamer Vorwiderstand für alle 7 Segmente verwendet. 
Erstaunlicherweise sehe ich keine nennenswerten Helligkeitsunterschiede 
zwischen den Segmenten. Im Datenblatt des Herstellers wird diese 
Betriebsart kurz erwähnt aber davon abgeraten.

Man sieht, dass die Chinesen mutiger sind, wenn es darum geht, ein paar 
Cent einzusparen.

von Dieter W. (dds5)


Lesenswert?

Stefan U. schrieb:
> Ich habe einen Uhren-Bausatz aus China 3x aufgebaut. Da wird nur ein
> gemeinsamer Vorwiderstand für alle 7 Segmente verwendet.
> Erstaunlicherweise sehe ich keine nennenswerten Helligkeitsunterschiede
> zwischen den Segmenten.

Daraus könnte man schließen, dass die Einschaltdauer jeder einzelnen 
Stelle abhängig von der Anzahl der leuchtenden Segmente variiert wird.

von Joe F. (easylife)


Lesenswert?

Tobias schrieb:
> Ja genau, habe nur eine Stelle. Klar Vorwiderstand 100 Ohm.

Der Punkt benötigt min. 270 Ohm, da hier nur 2 LEDs in Reihe liegen.

Stefan U. schrieb:
> Ich habe einen Uhren-Bausatz aus China 3x aufgebaut. Da wird nur ein
> gemeinsamer Vorwiderstand für alle 7 Segmente verwendet.
> Erstaunlicherweise sehe ich keine nennenswerten Helligkeitsunterschiede
> zwischen den Segmenten.

Wenn man immer nur 1 Segment leuchten lässt, geht das. Allerdings 
erreicht man so nie die max. mögliche Helligkeit, da jedes Segment nur 
noch 1/8 der Zeit leuchten kann. Oder man betreibt die Segmente mit 
deutlich mehr Strom als für Dauerbetrieb zulässig. Dann riskiert man 
aber ein Durchbrennen, wenn die Ansteuerung mal hängen bleibt und ein 
Segment doch für längere Zeit leuchtet.

: Bearbeitet durch User
von Tany (Gast)


Lesenswert?

UN2803 und haufen Vorwiderstände?
Wie wäre es mit einem "richtigen" Treiber wie z. B TLC5916?

von Cyborg (Gast)


Lesenswert?

Na, da hab ich aber Zweifel das mit 100 Ohm und 12V das so einfach
geht. Die Reverse-Spannung ist lt. Datenblatt nur 5V.
Lt. Diagramm fließen bei 13V Forwardspg. erst die zulässigen 25mA.

von Axel R. (Gast)


Lesenswert?

Was hat die Reverse-Spannung jetzt damit zu tun. Die hängen ja nicht an 
einer Vollbrücke, wo sie verpolt werden...
4 Weiße LEDs in Reihe an "nur" 12 Volt ist jedoch wohl etwas knapp.

von Manfred (Gast)


Lesenswert?

Tany schrieb:
> UN2803 und haufen Vorwiderstände?
> Wie wäre es mit einem "richtigen" Treiber wie z. B TLC5916?
Hier läuft eine Uhr mit 16 Stellen und 16+8 Transistoren. Solange genug 
Ports vorhanden sind, muß man keine speziellen ICs teuer kaufen.

von Stefan F. (Gast)


Lesenswert?

Was heißt hier teurer Chip? Sind die 8 Transistoren und 16 Widerstände 
wirklich billiger als 1,50€?

von Manfred (Gast)


Lesenswert?

Stefan U. schrieb:
> Was heißt hier teurer Chip? Sind die 8 Transistoren und 16 Widerstände
> wirklich billiger als 1,50€?
Wenn der wirklich 1,50 kostet, OK. Bei R* und C* steht er nicht im 
Katalog, also für den Bastler schwer zu beschaffen.

Transistoren sehe ich als 'kosten nichts', weil in Menge vorhanden.

Tobias schrieb:
> Ja genau, habe nur eine Stelle.
Also ist ein ULN die sinnvolle Lösung.

Cyborg schrieb:
> Lt. Diagramm fließen bei 13V Forwardspg. erst die zulässigen 25mA.
Dieser Hinweis ist viel wichtiger: An 12 Volt ist ein sicherer Betrieb 
nicht möglich, die Segmente haben 4 weiße LEDs in Reihe!

von Tany (Gast)


Lesenswert?

Manfred schrieb:
> OK. Bei R* und C* steht er nicht im
> Katalog, also für den Bastler schwer zu beschaffe

TME liefert auch an Privat.
Dort kostet z. B ein TLC5916 knapp 1,4 EUR.
Man braucht weniger Ports und Energie. Außerdem kann die Helligkeit 
regeln.
Ist der Mehrpreis von 50 Cents nicht wert?
Wenn man mit SMD umgehen kann, kostet dort ein SCT2168 nur knapp 40 
Cent, sogar noch billiger als ein ULN2803.

von Dietrich L. (dietrichl)


Lesenswert?

Tobias schrieb:
> Die gemeinsame
> Anode der Anzeige auf 12V und dann sollte es ja funktionieren.

Das reicht nicht, denn:
- lt. Datenblatt ist die Forward Voltage typ. 12,8V und max. 16V,
- der ULN "verbraucht" mindestens noch 1V,
- am Vorwiderstand fällt auch Spannung ab.
Und ist der Vorwiderstand zu klein (d.h. Spannungsabfall zu gering), ist 
die Helligkeit stark abhängig von Exemplarstreuung, Temperatur und 
Spannungsschwankungen.

von Axel R. (Gast)


Lesenswert?

Danke für den Tipp mit dem SCT2168! Schade, das 90mA dann doch n bissl 
dünn sind. Gibt es sowas mit 250mA? Der TLC5916 macht "immerhin" schon 
130mA.
Fakt ist hier jedoch, das der liebe TE ( so er noch mitliest ) seine 12 
Volt (wie auch immer) aufstocken muss. Ich nehme da immer einen freien 
Timerpin, Transistor hinter und mit einer NPN-PNP Halbbrücke und einer 
halbe Delon(oder war's Villard) aus MUR4007 und 470µF auf die 
Betriebsspannung aufgestockt. Reicht ja hier aus, fehlen schließlich nur 
ein paar Volt.

EDiT: eben nochmal den Eingangspost gelesen:
das mit dem Aufstocken hat der Tobi verstanden, oder soll ich aufmalen?

von Günter N. (turtle64)


Lesenswert?

Laut Datenblatt bestehen die Balken aus 4 LED, der Dezimalpunkt aber nur 
aus 2. Also anderen Vorwiderstand verwenden.

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.