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
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
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
// 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
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 ??
>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
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.
> 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.
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 ?
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
> 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"
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
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=489http://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 ?
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