Forum: Mikrocontroller und Digitale Elektronik 7-Segment gem. Anode -> Treiber IC


von Nanobot (Gast)


Lesenswert?

Hallo,

ich habe da ein paar 4-fach 7-Segment anzeigen für Multiplexbetrieb.
Leider(??) haben die eine gemeinsame Anode(+).
Ich habe einen 4511, der kann aber nur solche mit gem. Kathode(-)
direkt betrieben. Für die mit gem. Anode bräuchte ich ja für jede
Leitung einen Transistor (also 7 Transistoren inkl. Widerstände),
dadurch wird die Platine erheblich größer...
Meine Frage:
Gibt es evtl. einen Treiber IC für 7 Seg. mit gem Anode ?
Würde mich über jeden Tipp freuen :)

Viele Grüße,
Nanobot

von Andreas Hesse (Gast)


Lesenswert?

Hallo,

schau Dir mal die 7446 - 7448 an. Ich weiss nicht mehr genau, welcher
für gemeinsame Anode und welcher für gemeinsame Kathode ist.
Wenn es ein CMOS IC sein muss, müsste ich noch mal nachschauen.

Gruss
Andreas

von Cokie (Gast)


Lesenswert?

Also ich hab denn 4056 verwendet. Und wenn mich nicht alles täuscht war
der glaub ich für Anode, ggf. einfach im Datenballt nach schauen.

von Peter D. (peda)


Lesenswert?

Diese alten TTL/CMOS-Decoder sind nur für je eine Anzeige gedacht
gewesen, d.h. Multiplexen geht nur mit Low-Current Anzeigen.


Für Multiplexbetrieb ist der MAX7219 geeignet, der kann bis zu 8
Digits, egal ob gemeinsame Anode oder Katode.

Und der kann auch mehr Strom, als diese uralt TTL-Dinger.

Und die Stromquellen sind auch schon mit drin (keine Vorwiderstände
nötig).



Peter

von Nanobot (Gast)


Lesenswert?

Hallo zusammen,

vielen dank für eure Antworten.
Nachdem ich mir nun 'zig Datenblätter angeschaut habe, hab ich den
4543 entdeckt. Dieser kann sowohl 7-Seg mit gemeinsamer Anode als auch
die mit gemeinsamer Kathode ansteuern. An Pin 6 wird eine 0 für gem.
Kathode bzw. eine 1 für gem Anode angelegt. Einfach oder :)

@Andreas
Die 7446-7448 hab' ich weder bei Reichelt noch bei Conrad gefunden.
Scheinbar werden die nicht mehr geliefert.

@Cokie
Dem Datenblatt des 4056 konnte ich nicht entnehmen ob der 7-Seg mit
gem. Anode ansteuern kann bzw. wie die beschaltung sein soll. Aber wie
gesagt der 4543 kann das laut Datenblatt.

@Peter
Der MAX7219 ist natürlich die high-end Lösung und ein sehr guter Tipp,
der kommt sofort auf meine Liste. Ganz billig ist der allerdings nicht
und für mein Low-Cost Projekt reicht erstmal der 4543 (ich brauche die
Anzeige für mein "Gesichtsbräuner-Umbau-UV-Belichtungsgerät im
Scannergehäuse" um die Belichtungszeit einstellen/anzeigen zu
können).

Also nochmal, vielen Dank an alle,
Nanobot

von crazy horse (Gast)


Lesenswert?

da wirst du nicht allzuviel Freude mit haben. Im Prinzip hast du zwar
recht, dass er sowohl H- als auch L-aktive dekodieren kann, dieses
Merkmal hat er aber nur, weil es ein Dekoder für LCD-Anzeigen ist (da
wird dass gebraucht). Für LED-Anzeigen ist er kaum geeignet, da zuwenig
Strom.
Schreib mal genau, wie du dir das ganze Projekt vorstellst -
irgendwoher müssen die Daten für die Anzeige ja kommen.

von Nanobot (Gast)


Lesenswert?

puh, die wollte ich gerade bei Reichelt bestellen...

Danke für den Hinweis, vor lauter Freude hab ich das gar nicht mehr
geprüft, aber du hast recht, laut Datenblatt werden max. 10mA pro
Output geliefert. Das reicht wohl nicht um LED-Anzeigen sauber
ansteuern zu können, schon gar nicht per multiplexing.

Zum Projekt "Gesichtsbräuner-Umbau-UV-Belichtungsgerät im
Scannergehäuse":
Ich habe einen ATtiny26, da hängt ein Drehgeber mit Taster dran um die
Zeit einstellen zu können und über ein Relais steuert der tiny26 den
"Gesichtsbräuner". Über eine 4-fach Anzeige soll die Zeit eingestellt
werden, über den Taster kann man den Belichtungsvorgang starten, bei
längerem drücken der Taste (mind. 2 Sekunden) wird die eingestellte
Zeit als defaultwert gespeichert (und beim nächsten einschalten
automatisch vorgeschlagen).

Und alles funktioniert schon, derzeit mit einer 3-fachen 7-Seg
anzeige über multiplex mit einem 4511. Der kann aber nur die 7-Seg mit
gem. Kathode ansteuern, ich habe aber ein haufen 4-fach Anzeigen mit
gem. Anode hier rumliegen die ideal wären (mit doppelpunkt und so...).
Das kann doch jetzt nicht an der verdammten gem. Anode scheitern oder
?

Der MAX7219 kann das evtl. aber der kostet bei Reichelt ja doppelt
soviel wie der ATtiny26, also so hab' ich mir das nicht vorgestellt.

Es muss doch einen Treiber IC für 7-Seg Anzeigen mit gemeinsamer Anode
geben ober ??

So, danke für's durchlesen ;)

viele Grüße,
Nanobot

von crazy horse (Gast)


Lesenswert?

mit 10mA sollte es aber gehen, ich hab mir das Datenblatt nicht
angeschaut, kommt auch drauf an, welche Spannung dann noch anliegt und
welche Displays genau du verwendest.
Bleibt die Variante 74LS47, den gibts bei Reichelt. Alternativ ein
Schieberegister, da musst du allerdings dein Programm nochmal
überarbeiten. Ebenso sollte ein Direktbetrieb der Segmente am AVR
möglich sein, die Ports reichen mit kleinen Tricks dafür aus. Software
wird ein wenig komplizierter, du musst auch die Eingänge multiplexen.

von remo (Gast)


Lesenswert?

Hi,
hatte genau das gleiche Problem.
Habs zuletzt so gelöst, dass ich einen eigenen AT90S1200 zum ansteuern
des Displays verwendet habe und diesen über einen synchonen 2 draht bus
vom eigentlichen Controller aus ansteuere.
Die Helligkeit ist zwar nicht optimal, aber mit 20mA ganz OK.
Die gemeinsamen Anoden steuer ich über 4 Transistoren.

Die AT90S1200 bekommt man inzwischen für unter 1 Euro bei ebay.

Einen Vorteil hat das Ganze auch noch, man kann die Binär zu BCD
Decodierung im Displaycontroller machen und kann die Binärdaten über
die Leitungen zum Displaycontroller jagen. Der Zeichensatz wird im
EEPROM des Displaycontrollers abgelegt.

ciao
Remo

von crazy horse (Gast)


Lesenswert?

das hab ich zwar auch mal so ähnlich gemacht:
http://www.mikrocontroller.net/forum/read-1-107929.html#107929
Die Dekodierung hatte ich auch erst im EEPROM (da lpm ja fehlt), gab
aber böse Probleme im Laufe der Zeit. Mit ein paar cpi-Befehlen geht
das auch ohne Dekodiertabelle.
Für die gezeigte 4stellige Platine habe ich übrigens eine Software, die
genau das macht, worum es hier geht (Schaltuhr mit Encoder).

von Nanobot (Gast)


Lesenswert?

ich könnte doch meinen 4511 verwenden für die BCD/7seg dekodierung und
danach einen ULN2803 verwenden um die display's mit gem. Anode
anzusteuern. Der kann doch genug Strom liefern...

von editmedly (Gast)


Lesenswert?

There's some special secret Sale link on Amazon, EBay, etc. where you 
can find very good discounts:

http://bargains-hunter.blogspot.com

I've seen discounts there as low as 75% off sticker Price.

von Paul Baumann (Gast)


Lesenswert?

Das kannst Du Dir in die Haare schmieren!

:-(
Paul

von Jan D. (keyman)


Lesenswert?

...wieso sollte das nicht gehen?
gradeirgendwienichtverstehe
jan

von Hubert H. (hubert111)


Lesenswert?

Hallo

Ich mache ein Elektronik projekt und zwar ein Tischfußballtisch mit 2 
Lichtschranken pro Tor.
Es wird über ein Notebook gestuert (Serielle Schnittstelle)
Zusätzlich mache ich eine Anzeigetafel mit 7-Segmenten. Tore für Heim 
und Gäste Mannschaft und eine Zeianzeige die von 5 Minuten runter zählt.
Insgesamt brauche ich 3-Segmente.
jetzt meine Frage: bei der Seriellen Schnittstelle habe ich zu wenig 
Anschlüsse was kann ich da machen.
Geht es mit einen IC Schieberegister welches muss ich verwenden und wie 
funkioniert das?

Kann mir jemand helfen!!

mfg

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Such mal nach Multiplexing in den Artikeln.

von Thomas Strauß (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe eine Schaltung für 7-Segment-Anzeigen mit gemeinsamer Anode 
gebaut. Eine Platine dafür habe ich gerade in Betrieb genommen. Leider
waren 18 Brücken notwendig.

Letztlich habe ich 6 Anschlüsse, die zu einem Mikrocontroller führen:

4 X für das Multiplexen der Ziffern und je 1 X für Daten und Takt für
das Schieberegister.

Der 74HC164 übernimmt beim Wechsel von Low nach High am Takteingang 
bitweise Daten ins Schieberegister.
Eine Null bringt das Segment zum Leuchten, wenn der entsprechende 
Transistor eingeschaltet ist. Eine Eins sorgt für Dunkelheit.

Das Assembler-Programm dafür ist schon etwas komplizierter.

Ein Timer sorgt für das Multiplexen der Ziffern. Die auszugebende Ziffer
wird als Index auf eine ROM-Tabelle benutzt, die die 8Bits für die 
Ziffern 0-9 enthält und für das richtige Aufleuchten der 8 Segmente (mit 
Dotpoint) sorgt. Man muß dem Timerinterrupt höchste Priorität einräumen.

Gruß Thomas

von (Gast)


Lesenswert?

Hinweis: der Originalbeitrag ist mehr als 3 Jahre alt.

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.