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
Mit SCH können die wenigsten was anfangen, machn PDF oder PNG draus. Ne einfache Lösung wären 2* MAX7219. Peter
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
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 ich alle 12 Anzeigen zusammen schalte, flimmert das dann nicht ??
Wenn du schnell genug bist, flimmert nichts.
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
im zweifelsfall freepdf installieren und dann als pdf drucken
im schlechtesten Falle einen Screenshot machen, dann das Bild mit Irfan auf erträgliche Größe und Farbtiefe reduzieren.
>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.
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 ?
> 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"
so, habe das mal mit dem Max7219 gezeichnet. Sollte doch so gehen ? Oder?
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=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 ?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.