8 stellige 7 Segment anzeige

Gast #225103
Lesenswert?

Hallo,


Ich überlege eine 8 stellige anzeige mit 7 segment LED zu bauen.

Um I/O zu sparen moechte ich einen 7segment decoder driver
74HCT47/48/49  einsetzen.

Ich versuche 4 signale  input A B C D  parallel zu allen bausteinen
schicken und vorher durch 8 seperate ports einen selektieren. (ohne MUX
einfach 8 port pins zu den CS pins der jeweiligen ICs verbinden)

diese schleife werde ich schneell genug nacheinander laufen lassen und
damit alle anzeigen aktualisieren werden koennen.

Meine Frage. Wie ich im Datenblatt von 74HCT47/48/49 angeschaut habe
Einen CS eingang oder etwas damit ich (tristate) inputs verwenden kann,
kann ich nicht finden. Wenn CS oder eine aehnliche Aktivierungspin
abgeschaltet ist sollte den alten inhalt im IC und in der Anzeige
bestehen bleiben.

Gibt es dafür einen einzigen IC (Latch/Tristate+7segment
decoder/driver) oder soll ich unbedingt zusaetzlich einen tristate
Latch IC einbauen?

Danke im voraus.


Incal.
Gast #225104
Lesenswert?

Wo gibt das denn ein Datenblöatt dazu? Ich hab die ICs nicht mal mehr
bei Reichelt.de gefunden.
Eigentlich müssten die ein LatchEnable (/LE) haben. Damit schreibt man
dann die Daten in den Speicher des Bausteins.
Man kann das auch so machen, dass nur einen BCD-7Segment-Decoder für
alle Anzeigen benutzt, und die Anzeigen dann multiplext. Das wären
weniger Bausteine und auch wewniger Stromverbrauch...
Gast #225105
Lesenswert?

Schau Dir mal die Maxim-Displaytreiber an, z.B.:
MAX6958-MAX6959.16p,iic,4x7 led driver.charlyplex.pdf

Er verwendet das Charlyplexing-Verfahren, das mit sehr wenig Pins
auskommt, sehr tricky!

Oder:
MAX7219  = Austria Micro Systems AS1100


Oder schau Dir mal das TIL 308, TIL309, TIL311 (hex!) oder das
hp5082-7340 (hex) an, die haben ein Latch, Treiber und LEDs "on
Chip".
Wenn Du welche brauchst, ich hab noch welche.
Zur Vollständigkeit: es gibt auch TIL306 (Zähler, Latch, Treiber und
Display).
Gast #225108
Lesenswert?

74HCT47/48/49  haben LT (lamp Test) BI (blank) und RBI Eingaenge. Ich
habe sie unter Eagle durch die Suche nach einer 7 Segment decoder
driver gefunden.

Ich habe mittlerweile auch 4558 angeschaut (durch alte forum posts) .
datenblatt muss ich aber noch finden. Laut Eagle hat 4558 einen EN
(enable) Ob enable auch tristatefahigkeit heisst weiss ich nicht.

Falls tristate nicht vorhanden ist ist deine Methode auch gut. Du
meinst du schaltest die segment aus fuer ein kurzes interval waehrend
du andere umschaltest. Die Todzeit is dann relative lang gegenueber
umschaltzeit und du merkst keinen Unterschied.

Die erste Loesung mit speicher funktion waere eleganter aber du hast
auch recht Stromaufnahme darf man nicht unterschaetzen circa 60 bis
100mA per Segment wenn du helligkeit brauchst.


Die eigentliche frage ist:
Durch deine variante sind die ports von AVR ziemlich viel (strommaesig)
belastet. Eine segmenteinheit wird dann ueber einen Port versorgt?.

Leuchten die Segment mit 2mA pro linie (worst case fuer eine 8
darstellung= 16mA) ausreichent hell?
Gast #225111
Lesenswert?

Kaum zu glauben Max7219 kostet 10.10 Euro  ab 25 9.46 Euro  in Austria
(rs-components).

Allerdings koennte der SPI interface programmierungsaufwand und
programmablauf und berechnungszeit erheblich verkuerzen.

Wieviel kostet ein TIL308?
incal.
Gast #225114
Lesenswert?

Ich wuerde leider mehr brauchen. Ich tendiere deswegen einen IC 74LS47
oder 4558 einzusetzen. Ausgang von dem IC werde ich zu alle 7segment
leds paralell schalten. Die comman anode von den segments werde ich zu
den jeweiligen output ports von AVR anschliessen.

Zum schluss ueberlege ich durch zeit multiplex jede Anzeige
anzusprechen.

Ich gleube dass ist die kostenguenstigste methode und komme ich mit
weniger ersatzteillager. (das ist die anzeige von einer
pulsgleichrichtergeraet.).
Gast #225115
Lesenswert?

Wenn Dir der 7219 zu teuer ist und Du eh multiplexen willst, nimm
einfach 2* 74HC595 (Segmentregister, Digitregister) am SPI, 8*pnp
(BC560) + 8 Widerstände als Segmenttreiber und 8*npn (BC368) als
Digittreiber.

Kostet Dich dann insgesamt 3 Portpins (SCK, MOSI, Strobe).


Peter
Gast #225116
Lesenswert?

@incal: Sei vorsichtig mit dem 74LS47,48,49. Ich denke, die stellt
niemand mehr her (zudem machen die die 6 und die 9 ohne Querstrich
(sehr gewöhnungsbedürftig).Als HCT gibt's die meiner Erfahrung nach
gar nicht! 74LS247 ist vielleicht eher noch erhältlich und macht auch
die Zahlen so wie gewohnt. Generell sind aber diese TTL auf dem
absteigenden Ast!
Gast #225118
Lesenswert?

Danke nochmals fuer die wichtige Hinweise, Der Vorschlag von Peter
scheint zwar universeller und unabhengig von hersteller aber mit sehr
viel Bestueckungskosten verbunden. Ich brauche 100 Stueck von dieser
Karten immer im Lager halten. Also wenn herstellerspezifische teile
drinnen sind muss ich die auch im Lager haben.
Aber allgemeine logik habe ich immer und kann vielzeitig verwendet
werden.

Die Max7219 schein doch vielleicht die kostenguenstigste in der
gesamtkosten ohne dass man lagerkosten von 100 Styueck nicht
beruecksichtigt.

Ich habe ATMEGA128. Wenn es mir pfad wird werde ich alles mit 16 output
pins alles in software realisieren. No IC. No cry.

Incal.
Gast #225119
Lesenswert?

_No IC. No cry._

Das sag nicht, ich bastel grade mit dem Mega8 an einer 4 stelligen
Anzeige. Die Anoden werden direkt vom Controler geschaltet und die
einzelnen Displays jeweils über nen BC160 durchgeschaltet.
In der Simulation läuft das Ding perfekt, nur in der Praxis zeigt es
nur  Achten und die Dezimalpunkte an. Ich Vermute, das die Displays mit
40mA pro Segment nen bischen arg Stromhungrig sind und damit irgentwie
den Controler durch einander bringt.
Ich brate mal die Tage noch Transistoren in die Anodenleitungen, mal
sehen, ob das Besserung bringt....
Gast #225120
Lesenswert?

Sorry aber mir sträuben sich immer die Haare wenn einige die Ports bis
zum Limmit und noch viel weiter treiben.

Ein Blick im Datenblatt unter "DC-Caracteristics" sagt mir das Pro
Port 20mA bei 5V und 10mA bei 3V zulässig sind.
Von 40mA lese ich da nichts aber das kann auch Blindheit sein :D

Desweiteren lese ich das im DIP-Gehäuse der maximale Gesammtstrom für
die Ports bei 400mA liegt.
Für Port C0-C5 Gesammt 200mA
B0 - B7, C6, D0 - D7 nur 100mA
Für andere Gehäuse gibts andere Werte.

Ich denke mal dein M8 steht kurz vorm Kollaps.

Gib ihm mal einige Widerstände oder spendier ihm nen Treiber

Ein ULN2803 für einige Groschen entkoppelt und bringt dir satte 500mA
pro Port.
Damit kannste auch Große Anzeigen Treiben.
#225123
Lesenswert?

Hallo,

das Thema mit den LED-Anzeigen direkt an den AVR zu packen ist garnicht
so dumm. Ich habe eine LED Anzeige gebaut (5Stellig), die einwandfrei
funktioniert. Sie braucht nur einen PNP-Transistor pro Stelle, der etwa
120mA leistet. Die Eingänge des AVRs ziehen dann ca. 30mA durch jedes
Anzeigeelement, womit die Anzeige hell leuchtet.

Mit einer kleinen Zenerdiodenkonstruktion ist es mir möglich, die
Anzeigeelemente mit je Segment 4 LEDs mit 8V zuversorgen (Höhe der
Anzeigeelemente 56mm).

schöne Grüße, Clemens
#225125
Lesenswert?

Genau das selbe hab ich gebaut :

8x 7-segment + 8 Taster + 3 Schaltausgänge an einem AT90S2313 !

Funktioniert alles Prima, Software und Schaltplan muss folgendermaßen
aussehen (hab ich leider nicht mehr [§*@%&# Festplatte]) :

PORTB läuft auf die EIngänge eines 74HC245 (8bit Bustreiber). Die
Ausgänge gehen dann über 8 Widerstände (90,9 Ohm) an die Einzelanoden
der LED-Anzeige (die Anzeigen müssen gemeinsame Kathoden sein, sonst
muss das ganze angepasst werden). Die gemeinsae Kathode geht an den
Collektor eines NPNs, der Emitter an Masse und die Basis über 3,3K
Widerstände an die Ausgänge eines 4017(?) BCD zu Dezimal Decoder(!).
Die A,B und C Leitungen gehen in PORTD.0-2
Vor den je einem Basiswiderstand muss eine 1N4148 Diode an einen Taster
geleitet werden, wobei alle 8 Taster auf der anderen Seite mit PORTD.3
verbunden sind. ACHTUNG : PORTD.3 muss mit einen 10K Pull-down versehen
werden. PORTD.4-6 sind frei verfügbare Ausgänge.
Die Schaltung benötigt eine stabilisierte 5V Spannung, kann aber mit
anderen R-Werten auch auf 3,3V laufen.

Den Timer0 konfiguriert man auf 500 Hz "Interruptfrequenz". In jedem
Takt liest man aus dem RAM den Inhalt eines Digits (es bietet sich an,
0x60 als Basisaddresse zu nehmen, das vereinfacht die Auswahl der
Spaltentreiber und die Überlaufsteuerung) ein. Das wird entsprechend
verarbeitet(umwandeln oder nicht). Dabei wird gleichzeitig auf einen
Tastendruck geprüft. Ist ein Taster gedrückt, wird das in RAM
darauffolgende Byte incrementiert (bis max. FF), andernfalls gelöscht.
Zum Schluss wird auf PORTD.0-2 die [Digitaddresse and 0x10 shr 1]
gegeben (Digitauswahl) und der Digitinhalt dargestellt. Um ein
kontinuierliches wiederholen des Displays zu erzielen wird mit [AND
Addresse,0x0E ; OR Addresse,0x60] ein Speicherumbruch erzielt.

Damit kann man einfach durch lesen des n-ten geraden Bytes ab 0x60 das
n-te Digit beschreiben, und das n-te ungerade Byte ab 0x60 abfragen um
zu erfahren, wie lange der n-te Taster gedrückt wird.

Das ist ein sehr komfortables, I/O-System mit gerade mal 16 Byte
RAM-Bedarf. Die Code-größe liegt im Normalfall um die 100 Bytes +
Umwandlungstabelle. Diese Art des Multiplexens hat sich bei mir für
alle LED-Displays in meinen Projekten bewährt.

Ich hoffe, dir damit weitergeholfen zu haben. Schade halt, dass ich die
Projektdaten nicht mehr hab, sonst könntest du dir das ganze
funktionierend anschauen.
#225128
Lesenswert?

Hi,

ja, die meine ich (Reichelt). Die laufen bei mir tadellos seit über 1
Jahr. Einziges Problem, welches bei einer Helligkeitssteuerung entsteht
ist die unterschiedliche Erwärmung des µC bei unterschiedlichen
Helligkeitsstufen. Dann wandern auch die Hi/Lo-Schwellen ein wenig und
man kann keine vernünftige "Messung" vornehmen (z.B. RC-Messungen,
etc).

Ich hab mal ein Bild meiner Anzeige angehangen. Auf dieser Platine ist
noch eine Helligkeitsmessung (leider wegen der Wärme nicht sehr
zuverlässig) und ein Eingang für ein DCF77-Modul vorhanden...

Schöne Grüße, Clemens
Angehängte Dateien:
Gast #454183
Lesenswert?

Hallo "Profi"!

Dein Beitrag steht zwar schon lange hier im Forum, aber ....

Hast Du eventuell noch von den TIL309 ?

Wenn ja, wieviele ? Und zu welchen Konditionen ?

Melde Dich doch mal per eMail:  INTEK-Nord@T-Online.de

Danke Pit
Gast #566180
Lesenswert?

....schaut mal beim großen r unter icm, wie sonic schon schrieb - zumal 
diese bausteine noch günstiger sind als die von maxim....

maddin

ps.: ich würde sagen, kein multiplexing - schon viel mehr aufwand - aber 
das muss ja jeder selbst wissen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren