Forum: Mikrocontroller und Digitale Elektronik 12 Stk. 7Seg.-Anzeigen Multiplexen


von Micha (Gast)


Angehängte Dateien:

Lesenswert?

Moin, ich bin am Basteln eines Winkelmessers. Dieser muss jeweils die 
rechte und linke Neigung  eines Schenkels und dann den Gesamtwinkel 
anzeigen. Dazu brauche ich 12 LED-Anzeigen. Kann ich das von der Hardwar 
so machen ? oder seht Ihr Fehler, Probleme oder andere Lösungsansätze 
???
Grüße Micha

von Micha (Gast)


Angehängte Dateien:

Lesenswert?

so müsste man jetzt sehen

von Sven L. (svenl)


Lesenswert?

Ist soweit kein Problem.

12 7-Segment-Anzeigen sind 84 LEDs, die es zu multiplexen gilt. Zur Zeit 
bastle ich an einem Projekt mit 2x VQC10 wo es insgesamt 280 LEDs sind 
und es funktioniert auch gut.

Du solltest das Zeichnen der Anzeige über einen Timer-Interrupt 
auslösen. In die ISR würde ich nur ganz wenig Code hineinpacken.

Gruß!

Sven

von Sven L. (svenl)


Lesenswert?

Naja, das sind ziemlich viele Drähte und Ports die Du da verschwendest.

Ich würde einen BCD-zu-7-Segment-Decoder für die 7 Segmente nehmen. Die 
12 Stellen würde ich über einen BCD-zu-1-aus-16-Decoder (K155 ID3) 
ansteuern und danach mit ULN2003 oder ULN2803 puffern.

Der Vorteil von den Decodern liegt darin, dass Du nicht nur Ports sparen 
tust, sondern ein Wert auf 4 Portpins direkt ausgegeben zeigt den 
korrekten Wert auf der Stelle an. Ebenso ist durch den zweiten Decoder 
immer nur eine Stelle zu einem Zeitpunkt darstellbar und Du kannst ganz 
bequem mit einem Zahlenwert zwischen 0 und 11 (oder 1 und 12) zwischen 
den Anzeigen umschalten.

Das ganze benötigt dann nur noch 2x 4 Leitungen, also ein ganzer Port + 
2 weitere Leitungen für die Enable-Eingänge der Decoder, falls Du das 
ganze Display oder einzelne Stellen dunkeltasten möchtest.

Sven

von Peter D. (peda)


Lesenswert?

Mit SCH können die wenigsten was anfangen, machn PDF oder PNG draus.

Ne einfache Lösung wären 2* MAX7219.


Peter

von Sven L. (svenl)


Lesenswert?

Beispiel:
1
// Gebe Wert auf den 4 niederwertigsten Bytes auf PORTB aus
2
PORTB |= wert & 0x0f;
3
// Gebe Wert auf den 4 höherwertigsten Bytes auf PORTB aus
4
PORTB |= wert & 0xf0;

Bereits jetzt brauchst Du 27 IO Leitungen (!), was auch 
programmiertechnisch bestimmt nicht einfacher zu handhaben ist wie nur 
10.

Die 7-Segmente würde ich von allen 12 Anzeigen parallel schalten, über 
den 1-aus-16-Decoder wählst Du Dir die Stelle aus. Den Rest baust Du Dir 
mit einem String im Programm zusammen.

Gruß!

Sven

von Micha (Gast)


Lesenswert?

Q Sven, ok ich spare Ports, aber brauche 2 ICs mehr... der ATMega kostet 
doch nichts und hat genug Ports ?
ja und wenn ich alle 12 Anzeigen zusammen schalte, flimmert das dann 
nicht ??

von STK500-Besitzer (Gast)


Lesenswert?

>wenn ich alle 12 Anzeigen zusammen schalte, flimmert das dann nicht ??

Wenn du schnell genug bist, flimmert nichts.

von Micha (Gast)


Lesenswert?

Q Peter, wenn du mir sagen kannst wie ich aus Eagle-Schaltungen ne Pdf 
mache, mach ich das gerne. ich weiß leider nicht wie das geht

von pdf (Gast)


Lesenswert?

im zweifelsfall freepdf installieren und dann als pdf drucken

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

im schlechtesten Falle einen Screenshot machen, dann das Bild mit Irfan 
auf erträgliche Größe und Farbtiefe reduzieren.

von Helmut L. (helmi1)


Lesenswert?

>wenn du mir sagen kannst wie ich aus Eagle-Schaltungen ne Pdf
>mache, mach ich das gerne. ich weiß leider nicht wie das geht

Bei Eagle unter Datei den Menupunkt exportieren anclicken.
Dort Image auswählen. Und dann das PNG Format auswählen.

Gruss Helmi

von Micha (Gast)


Angehängte Dateien:

Lesenswert?

danke "pdf"

von Ulrich (Gast)


Lesenswert?

Alle 12 Anzeigen zusammen muß nicht flimmern, aber man kann Probleme mit 
der Helligkeit kriegen. Zumindestens wird man wohl extra Treiber 
brauchen, und bei einem Hänger im Programm besteht die Gefahr das LEDs 
durchbrennen.
Bei 12 Stellen wäre zu überlegen lieber ein LCD Mudul zu nehmen.

Wie man nach PDF kommt, kann ich nicht sagen, aber nach .PNG geht recht 
einfach:

Unter Eagle auswählen: datei - Exportieren Image und dann mit den 
Default 150 DPI Speichern, z.B. als BMP (wenn PNG nicht direkt geht).
Das BMP-File kann man dann z.B. mit Paint ins PNG Format wandeln. Mit 
einem anderen Programm vielleicht auch nach PDF.

von Micha (Gast)


Lesenswert?

Q Ulrich und Peter, und wenn ich 2 Max7219 nehme, hätte ich doch keine 
Probleme bei einem Hänger im Programm ?? Oder sehe ich das falsch ?

von MaWin (Gast)


Lesenswert?

> Die 7-Segmente würde ich von allen 12 Anzeigen parallel schalten,

Man braucht aber den 12-fachen Strom wenn man so multiplext. Das mögen 
nicht alle Anzeigen nach Datenblatt, um nicht zu sagen, ich kenne keine. 
2 x 6 wäre besser, aber das SA10-21G ist gar für 20mA nominal, 140mA 
maximal spezifiziert, kann also nur 7 fach gemuliplext werden
Ausserdem hat es die scheussliche Eigenart, 2 LEDs in Reihe zu 
enthalten, so dass diese Scahltung mit nur 5V gar nicht hinkommt.
Da bracuht man sich über die gnadenlos überbelasteten 
ATMega-Segment-Ausgänge gar keine Gedanken mehr zu machen.

Gibt es eigentlich einen Grund, warum Multiplexanzeigen prinzipiell erst 
mal falsch gebaut werden? Warum glauben die Leute, dass sich wundersam 
die Energie vermehrt und aus dem Strom für 1 Display mal locker der 
Strom für 6 wird?

Also: Das Kingbricht-Display mit ULN2003 braucht deutlich über 8V als 
Betriebsspannung !

Der ATMega braucht auch bei den Segmenten stromverstärkende Bauteile, 
z.B. Transistoren !

Schaut doch einfach mal ins Datenblatt, bevor ihr was zusammenbaut, 
leider weiss ich aus dem Schaltplan die Farbe der Displays nicht.

von Micha (Gast)


Lesenswert?

Q MaWin
die Anzeigen lt. Eagle sind nur Symbolisch. Ich hätte wohl noch dazu 
sagen müssen das ich VQB28 nehmen will. 
http://jirky.webz.cz/zobraz_katalog_n.php?id=481
Das sind welche aus dem DDR RFT-Programm. Die habe ich mal bei Ebay 
gekauft. Die höhere Betriebsspannung die ich dann nehmen sollte,  ist 
doch aber dem ULN Bockwurst? Oder ?

von Sven L. (svenl)


Lesenswert?

Der ULN enthält doch Darlington-Transistoren, oder täusche ich mich da?

Der Strom müsste schon erhöht werden, jedoch kommt es auch darauf an wie 
lange eine Anzeige leuchtet. Wenn er einen BCD-zu-7-Segement-Decoder 
nimmt, leuchten ja alle angesteuerten Segmente gleichzeitig und er muss 
nur über 12 Anzeigen multiplexen.

Nehmen wir mal 100 Hz Refresh-Frequenz für die Anzeige, dass heißt, dass 
die Ansteuerfrequenz für die gemeinsamen Anoden bei 12 * 100 Hz = 1,2 
kHz liegt. Bei 1,2 kHz könnte er jede Stelle maximal 0,83 ms lang 
eingeschaltet lassen. - Auf den VQC10 lasse ich die Zeilen 100 µs (!) 
bei ausreichender Helligkeit leuchten.

Du musst ein wenig experimentieren und ein gutes Verhältnis zwischen 
Helligkeit, Strom, Verlustleistung und Flimmerfreiheit finden.

Das Flimmerfrei hinzubekommen ist nicht das Problem.

Sven

von MaWin (Gast)


Lesenswert?

> die Anzeigen lt. Eagle sind nur Symbolisch.

Ach Leute, ihr macht's immer so schwer, richtig zu antworten.

Die VQB28 hat einen Nennstrom von 10mA und Maximalstrom von 150mA, 
könnte also 1:12 gemultiplext werden, für deine 1:6 reichts. Ob 
allerdings die Helligkeit von diesem uralten Zeugs irgendwie der Hit 
ist, mag ich bezweifeln. Zudem ist die Spannung nicht definiert, schon 
bei Nennstrom benötigt sie zwischen 2 und 2.6V, sie kann also leicht bei 
3.5V liegen. Da der ULN2003 schon bei 420mA auch 1.8V brauchen könnte, 
blieben 5V - 1.8V - 3.5V = nichts übrig. Knappe Sache, aber nichts 
genaues weiss man nicht.

60mA für die Segmente kommen aber aus einem ATMega-Ausgang nicht raus. 
Du brauchst so oder so Verstärker für die Segmente. Entweder 3 Ausgangs 
Pins parallel (dann wird aber der VCC-Anschluss offiziell überlastet), 
oder einen PNP Transistor pro Pin, z.B. ein BC328 mit 
Basis-Vorwiderstand.

Bei Multiplex 1:12 würde der ULN2003 nicht ausreichen (840mA).

Ich würde an deiner Stelle bei Multiplex 1:6 bleiben, die Displays mit 
18mA Durchschnittsstrom fahren, statt dem ULN ordentliche Transistoren 
nehmen, wie in Beitrag "LED 8x8 Matrix Schaltplan mit ULN2803 BC337"

von Micha (Gast)


Angehängte Dateien:

Lesenswert?

so, habe das mal mit dem Max7219 gezeichnet. Sollte doch so gehen ? 
Oder?

von Peter D. (peda)


Lesenswert?

Micha schrieb:
> so, habe das mal mit dem Max7219 gezeichnet. Sollte doch so gehen ?
> Oder?

Besser wäre eine gleichmäßige Belastung, also 2 * 6 Digits.

Es reicht der LOAD-Anschluß getrennt je IC.
Die DIN an MOSI, die CLK an SCK.

Wenn das wirklich 4,4V Anzeigen sind, könnts knapp werden bei 5V.


Peter

von Micha (Gast)


Lesenswert?

Nein die Anzeigen sind andere. Es sind alte DDR- RFT Anzeigen.
Der 8er Pack sind VQE 23 und der 4er sind VQB27
http://jirky.webz.cz/zobraz_katalog_n.php?id=489
http://jirky.webz.cz/zobraz_katalog_n.php?id=480
da ich bei einer 2*6 Teilung bedenken wegen der Helligkeit der einzelnen 
Segmente hatte, habe ich das so geteilt.

die Anzeigen habe ich mal für ein Butterbrot bei eBay abgegriffen.
sollte doch mit denen gehen ?

von Peter D. (peda)


Lesenswert?

Micha schrieb:
> da ich bei einer 2*6 Teilung bedenken wegen der Helligkeit der einzelnen
> Segmente hatte, habe ich das so geteilt.

Dann ist Deine Schaltung richtig. Verschiedene Typen sollten nicht am 
gleichen MAX hängen.

Was steht denn für ein Buchstabe hinter der Bezeichnung (A..F)?
Dieser gibt die Helligkeit an.


Peter

von Micha (Gast)


Angehängte Dateien:

Lesenswert?

Danke Peter, das wäre dann so wie Bild 3 ?

von Micha (Gast)


Lesenswert?

VQE 23 F
VQB 27 E

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.