Forum: Mikrocontroller und Digitale Elektronik LCD, 7Segmente und LEDs an 74xx595


von Alex K. (derheld2k1)


Lesenswert?

Hallo Zusammen,

ich plane gerade ein Projekt mit vielen vielen 7 Segmentanzeigen und 
einiges weiteres.
Ich möchte um mit den Pins eines ATMega32 auszukommen, folgende Bauteile 
über Schieberegister ansprechen:
- 24 7-Segmentanzeigen ohne Dezimalpunkt -> 168 Pins
- 4 LEDs                                 ->   4 Pins
- 1 LCD im 4Bit Modus, ohne R/W und E    ->   5 Pins

macht in Summe 177 Ausgänge.
Also müsste ich 23 74xx595 Schieberegister kaskadieren.

Ist dies so möglich? Ich habe bei einem alten Projekt 3 dieser 
Schieberegister kaskadiert, nun frage ich mich ob es da ein Limit gibt.

Treibstrom des uC sollte ja kein Problem darstellen, da ja jedes 
Schiebereg das nachgeschaltete treibt.

Falls das prinzipiell klappen kann, muss ich noch auf andere Probleme 
achten?

P.S.: Es hängt noch mehr am uC, daher müssen tatsächlich diese Bauteile 
über Schieberegister angesteuert werden

von Karl (Gast)


Lesenswert?

Es gäbe ja auch noch den MAX7219. Da würdest Du mit 3 MAX7219 
(kaskadiert) 24 7-Segmentanzeigen steuern und dabei mit 3 Pins 
auskommen.

von Christoph S. (mixer) Benutzerseite


Lesenswert?

> - 24 7-Segmentanzeigen ohne Dezimalpunkt -> 168 Pins

Such doch mal nach Multiplexing

von Timo (Gast)


Lesenswert?

moinsen,

das klingt schon in der beschreibung umständlich.... 24 7-segment 
anzeigen und dann noch ein lcd display?????
warum nimmst du nicht ein ein großes led display ich denke an 4x20 oder 
von mir aus noch größer.... und wenn du ports sparen willst, dann nimmst 
nen zweiten µc nur für das display und verbindest den haupt µc über i²c 
bus mit deinem disply µc !?=!?!?!??!

mfg timo

von Alex K. (derheld2k1)


Lesenswert?

@Karl: Interessanter IC. Leider gehts bei mir so knapp zu dass die LEDs 
zwingend mit den 7Segmentanzeigen zusammen angesteuert werden müssen.

@Christoph: Multiplexing habe ich noch nicht gemacht. In den Anwendungen 
die ich gelesen habe ist meist nur von 4 Anzeigen die Rede. Ich nehme an 
dass meine 24 Stellen entweder flimmern werden, oder der uC zu sonst 
nichts mehr kommt.

@Timo: die 7Segmentanzeigen sind für eine schnelle Ablesbarkeit auch aus 
größerer Entfernung nötig. Das zusätzliche Display für Setup und 
"unwichtigere" Infos.
Die I2C oder UART Anbindung hatte ich auch überlegt, allerdings will ich 
mir Kosten/Aufwand für einen zweiten uC (wenns auch nur ein kleiner 
Atiny wär) sparen.

von Karl (Gast)


Lesenswert?

Alex K. schrieb:
> @Karl: Interessanter IC. Leider gehts bei mir so knapp zu dass die LEDs
> zwingend mit den 7Segmentanzeigen zusammen angesteuert werden müssen.

Nun ja, eine 7-Segmentanzeige ist nichts anderes als ein Verbund von 
LEDs. Hängst Du halt noch einen MAX7219 für die 4 LEDs dran. Die ICs 
kann man manchmal günstig über ebay bekommen.

von Peter D. (peda)


Lesenswert?

Alex K. schrieb:
> - 24 7-Segmentanzeigen ohne Dezimalpunkt -> 168 Pins
> - 4 LEDs                                 ->   4 Pins
> - 1 LCD im 4Bit Modus, ohne R/W und E    ->   5 Pins

Die 168 Pins sind 21 Stück HC595, das geht problemlos, hab ich auch 
schon gemacht.
Ich würde aber 24 HC595 nehmen, d.h. je Anzeige ein IC, dann wird das 
Layout einfacher (Copy&Paste).
Hier mal mein Layout:
Beitrag "Re: Programmer mkII gibt auf"

Die HC595 und der Mega32 sollten allerdings auf der gleichen Platine 
sitzen, da die Taktleitung empfindlich gegen Störungen ist. Und 
natürlich ne dicke Masseleitung und 100nF an jedem HC595 sind Pflicht.

Der Mega32 hat doch 32 IOs, da muß man nicht die Sparsamkeit 
übertreiben. Daher würde ich die 4 einzelnen LEDs und das LCD direkt 
anschließen.


Peter

von Frank K. (fchk)


Lesenswert?

Ggf die Taktleitung puffern, d.h. nach dem AVR in mehrere Stränge 
aufteilen, die dann einzeln durch 1/4 HC08 oder so getrieben werden. Das 
macht das ganze unempfindlicher.

fchk

von Alex K. (derheld2k1)


Lesenswert?

@ Peter: Vielen DAnk für die Info, das wollte ich wissen.
Ich habe auch noch jede Menge Taster, einen BCD Schalter, einen Encoder 
und und und dran.
Daher die extreme Sparsamkeit.

@Frank:
Die Taktleitung werde ich dann gleich gepuffert machen, um möglichen 
Problemen aus dem Weg zu gehen.

Vielen Dank euch allen!

von Der Gast (Gast)


Lesenswert?

Christoph S. schrieb:
> Such doch mal nach Multiplexing

Das bringt es auf den Punkt.

Alex K. schrieb:
> Multiplexing habe ich noch nicht gemacht. In den Anwendungen
> die ich gelesen habe ist meist nur von 4 Anzeigen die Rede. Ich nehme an
> dass meine 24 Stellen entweder flimmern werden, oder der uC zu sonst
> nichts mehr kommt.

Dann wirds Zeit, es zu lernen. Statt kurzem Lernaufwand lieber eine 
riesige Anzahl 595er verbauen ist ja wie von hinten durch die Brust ins 
Auge geschossen.

von Alex K. (derheld2k1)


Lesenswert?

Der Gast schrieb:
> Dann wirds Zeit, es zu lernen. Statt kurzem Lernaufwand lieber eine
> riesige Anzahl 595er verbauen ist ja wie von hinten durch die Brust ins
> Auge geschossen.

Sehe ich auch so, scheint ja auch keine Hexerei zu sein.
Aber wie siehts mit meinen Bedenken aus (Flimmern, hohe CPU Last)?

von Karl H. (kbuchegg)


Lesenswert?

Der Gast schrieb:

> Dann wirds Zeit, es zu lernen. Statt kurzem Lernaufwand

24 Stück 7-Segment multiplext du aber nicht mehr so einfach, so dass die 
dann auch noch tatsächlich ablesbar sind.

4, 5: kein Thema
7 bis 8, ok.
9, 10 sind schon an der Kippe. Darüber wirds dann schon problematisch, 
weil du nicht mehr genug Strom durchkriegst und irgendwann bist du dann 
auch mal mit der Multiplexfrequenz am Ende.

von Alex K. (derheld2k1)


Lesenswert?

> 24 Stück 7-Segment multiplext du aber nicht mehr so einfach, so dass die
> dann auch noch tatsächlich ablesbar sind.

Das dachte ich mir. Vielen Dank für die Info.
Da der MAX7219 den preislichen Rahmen sprengt (Farnell 10€ * 3 Stück) 
werde ich den Haufen 595er verbauen mit 08er als Taktpuffer.
Layout macht so auch relativ wenig Probleme.

von Karl H. (kbuchegg)


Lesenswert?

Eine Kombination würde noch funktionieren

Die 7-Segment verschaltung als Matrix auffassen.
Mit 3 Schieberegister (=24 Pins) die gemeinsame Anode/Kathode schalten 
und über die Segmente multiplexen.

3 Pins für die Schieberegister + 7 für die Segmente -> 10 Pins

von Peter D. (peda)


Lesenswert?

Der Gast schrieb:
> Dann wirds Zeit, es zu lernen. Statt kurzem Lernaufwand lieber eine
> riesige Anzahl 595er verbauen ist ja wie von hinten durch die Brust ins
> Auge geschossen.

Warum soll das Multiplexen so ungeheuer viel besser sein?

Das Layout wird deutlich komplexer, man braucht extra Treiberstufen für 
die Segmente und die Digits.
Und wenn man bei der Software nen Fehler macht, können die LEDs 
durchbrennen.

Das Dimmen der Anzeige ist auch ziemlich tricky. Geht ja nicht so 
einfach mit PWM an /OE, sondern muß in das Multiplexen hinein verwoben 
werden.

Kostenmäßig spart man auch kaum, die 595 sind Cent-Artikel.

Wenns denn unbedingt Multiplex sein muß:
24-fach Multiplex braucht schon sehr hohe Spitzenströme. Daher besser 
nur 8-fach Multiplex (8 Digits, 24 Segmente).


Peter

von Alex K. (derheld2k1)


Lesenswert?

Also ich bleib bei 1x Multiplex, da ich die Spalten wieder über 595er 
realisieren müsste und wie Peter schon geschrieben hat, ist das Layout 
so wesentlich einfacher.

von Harald (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> 24 Stück 7-Segment multiplext du aber nicht mehr so einfach, so dass die
> dann auch noch tatsächlich ablesbar sind.

Da habe ich aber schon wesentlich mehr gesehen.
24 7Segment-Displays sind 168 LEDs. Mit 2 595ern schafft man 64 LEDs. 
Mit 6 Stück schafft man also die LED-Displays locker und es bleiben noch 
Leitungen für extra LEDs und LCDs übrig. Gar kein Problem.

von Karl H. (kbuchegg)


Lesenswert?

Alex K. schrieb:
> Also ich bleib bei 1x Multiplex, da ich die Spalten wieder über 595er
> realisieren müsste und wie Peter schon geschrieben hat, ist das Layout
> so wesentlich einfacher.

Überleg dir das noch mal.
In dem Fall

     +--+--+--+--+---+...
  -  |  |  |  |  |   |
     |  |  |  |  |   |
     +--+--+--+--+---+...
  -  |  |  |  |  |   |
     |  |  |  |  |   |
     +--+--+--+--+---+...
  -  |  |  |  |  |   |
     |  |  |  |  |   |
       .....

      |  |  |  |  |
   +-----------------+
   |    595          |
   +-----------------+

(jede Spalte ist eine komplette 7-Segment, jeder 595 bedient jeweils 8 
Stück 7-Segment)

ist das Layout fast genauso einfach wie im anderen Fall. Anstatt 3 
Leitungen hast du deren 10. Aber elektrisch kaskadieren kannst du das 
genauso einfach wie wenn jeder 595 nur eine einzige 7-Seg betreibt.

von Alex K. (derheld2k1)


Lesenswert?

Ich werde mir das zu Hause nochmal ganz in Ruhe durch den Kopf gehen 
lassen.
Es stehen wohl doch mehrere sinnvolle Alternativen zur Auswahl.

von Mikel (Gast)


Lesenswert?

Alex K. schrieb:


> Das dachte ich mir. Vielen Dank für die Info.
> Da der MAX7219 den preislichen Rahmen sprengt (Farnell 10€ * 3 Stück)
> werde ich den Haufen 595er verbauen mit 08er als Taktpuffer.
> Layout macht so auch relativ wenig Probleme.

machs andersrum

dann kauf dir lieber 10 Stück, die gibts für 3 euro ;)




..ok 3,71 ;)

von Mikel (Gast)


Lesenswert?

oder, wenn du schon 10€ pro stück rechnest nimm soetwas:

http://www.ebay.de/itm/MAX-7219-with-8-Digit-LED-Display-Module-R-G-B-Color-/130524115140?pt=LH_DefaultDomain_0&hash=item1e63d7f0c4

da gibts es die 7segmentanzeigen dann gratis dazu :)

von Route_66 (Gast)


Lesenswert?

Hallo!
> - 1 LCD im 4Bit Modus, ohne R/W und E    ->   5 Pins

LCD ohne E geht nicht. Braucht auch im 4-Bit-Modus mindestens 6 
Leitungen.

von Alex K. (derheld2k1)


Lesenswert?

> LCD ohne E geht nicht. Braucht auch im 4-Bit-Modus mindestens 6
> Leitungen.

klar, ich meine ja auch E direkt an uC anschließen..

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.