7 Segmentansteuerung mit Atmega
Hallo zusammen
ich habe ein kleines Problem und vielleicht kann mri einer Helfen.
Ich möchte eine Anzeige mit 7 Segementanzeigen aufbauen.
Die Anzeige besteht aus 12 blöcken a 9 St 7Segmenten
sowie 3 Blöcken a 6 St 7Segmenten
jeden block muss ich einzeln ansteuern können.
Dazu hatte ich mir gedacht, dass ich je Block eine entsprechende Anzahl Schieberegister verwenden.
Soweit ich das verstanden habe, benötige ich 3 Ausgänge pro Block, ( Data, Clock, Strobe)
Das würde bedeuten ich benötige eine Atmega der mir 45 Ausgänge bietet.
Allerdings gibt es ein KO Kriterium, es darf kein Bauteil mit SMD Löttechnik sein !!
Der einzige Ansatz der mir einfallen würde, ist es die Anzeigen auf 2 AVR aufzuteilen. Das finde ich aber nicht glücklich.
Hat einer zufällig eine Idee ?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
for_ro
Hatte ich das nicht gesagt?
Möglich, nur hatte ich es nicht so verstanden bzw. das englische Datenblatt hat etwas Verwirrung gestifftet
- - - Aktualisiert - - -
Zitat:
Zitat von
JoeM1978
Öhm.... mal so ein kleiner einwurf...
Schau dir mal das Datenblatt an vom "MAX7219cng".
der kann "je" 8Stk 7-Segmentanzeigen ansteuern und ist Kaskadierbar. ;-)
und... die gesamte Kaskade wird nur über 3 Drähte angesteuert (Data IN / Load Data / Clock)
Für Bascom gabs da glaub ich sogar schon ein vorgefertigtes Komando fürs senden der daten.
(... müsste aber mal nachschauen in meinen alten projekten)
Das hört sich fachlich recht interessant an, ich habe mir mal die Datenblatt dazu angeschaut, und es ist mir dabei zwar noch einiges Unklar, allerdings ist die Lösung mit rund 70 € für die Bausteine recht teuer, dazu kann der chip nur 5,5 Volt udn ich brauche mindestens 12 wahrscheinlich sogar 15 oder 24 V. Auch der Strom mit 40 mA Pro Digit ( 7 Segmente) ist viel zu klein, hier brauche ich mindestens 20 mA pro Segment, also 140 mA pro Digit. Damit fällt er leider aus.
- - - Aktualisiert - - -
Zitat:
Zitat von
Klebwax
Ich würde die Idee mit den BCD Decodern knicken. Ich würde mich auch nicht darauf verlassen, daß ich mit 20mA bei 12V bis 15V auskomme, bevor ich nicht ein Digit als Prototyp aufgebaut und bei vollem Sonnenlicht getestet hätte.
Das ist auch mein Vorhaben. Ich habe mir 100 LEDs bestellt, um sowohl die Anordnung, die Größe ( es sind immerhin 75m Sicht zu ermöglichen und natürlich die Helligkeit bei verschiedenen Lichtverhältnissen.
Zitat:
Zitat von
Klebwax
Mein Vorschlag wäre:
ein Schieberegister pro Digit (egal ob 4094 oder 595, aber HC an 5V) und einen ULN2803 als Treiber. Da ist sowohl beim Strom (kann in Summe, also pro Digit, 500mA und mehr) als auch bei der Spannung (50V) ausreichend Reserve. So kann man auf jedem Digit-Display nicht nur Zahlen, sondern alles anzeigen, was sich aus den Segmenten darstellen läßt.
Für die 126 Digits wird im RAM des µC ein Array aus 126 Bytes aufgebaut. Wenn immer sich dort etwas geändert hat, wird es (das Array) komplett per Bitbanging oder per SPI in die Schieberegister übertragen und am Ende gelatched. Dazu braucht man drei Signale: Clock, Daten und CS#/Latch.
Das ganze ist für kleines Geld zu realisieren. 74HCwas_auch_immer und ULN2803 kosten nicht viel. Der 7-Segment Decoder wird in Software realisiert.
Was man noch überlegen könnte, wäre die drei Signale wegen der Leitungslänge zu jedem Displayblock über RS422 Treiber zu führen.
My 2¢,
MfG Klebwax
Das Thema BCD hat den Charme, das man einige Bauteile einspart und weniger Kabel benötigt.
Allerdings ist das Thema Strom und Spannung eines was mich etwas unwohl sein lässt. Die LEDS sollen 20 mA haben der BDC kann aber nur 25 mA. Da ist nicht viel Sicherheit drin.
Gestern war ich zu dem Vorort um mal Referenzen bezüglich der Größe und breite zu bekommen. Die Ziffern werden mind 12 cm wenn nicht sogar 14 cm hoch sein müssen. Ob da 6 LED pro Segment reichen um eine ausreichende Höhe und Dicke zu bekommen, habe ich leichte Zweifel. Wenn nicht muss ich eh mit der Spannung hoch und dann fällt der BCD sowieso wieder aus. Derzeit glaube ich eher an 10 LED pro Segment.
Die Punkte sind kein Thema. Ich benötige nur 10 Punkte die fest an einer Stelle sind, und die wollte ich aus 4 LEDs fest auf Plus legen.
Die 4 Doppelpunkte die ich brauche sollen ebenso beschaltet werden.
Was das Thema angeht, wo lege ich welche Bausteine hin ( auf die Grundplatine oder zu den Segmenten), bin ich mir da bezüglich einer guten Lösung nicht sicher. mit BCD war meine Idee nur die BCDs an die Segmente zu bringen, was 4 Adern pro Ziffer eingespart hätte.
Die Datenblätter zum MC1488 und MC1489 die ich auf der Reichelt Seite finde, sind für mich aber nicht aufschlussreich genug, könnte aber eine Idee sein, um ordentlich Kabel einsparen zu können.
Für das erste werde ich mal einen kleinen Testschaltplan für 4 Digit auf 2 Reihen machen um eine Testgrundlage zu haben.
Danke an Euch für euer Feedback
gruß Martin
- - - Aktualisiert - - -
Hier mal meine Testschaltung
der SWS003 dient für 3 Einstellungen, die Manuell machbar sein sollen, z.B. die Baudrate soll zwischen 2 Werten auswählbar sein.
IC 1 ist mein RS485 eingang
IC 3 soll später über Relais mit Freilaufdiode 5 Lampen Schalten.
Das andere dient dann um 2 x 2 Digits anzusteuern.
Wenn die Bauteile da sind werde ich sie aufbauen. Über ein Feedback vorab, sprich Hinweise auf mögliche Fehler würde ich mich freuen.
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
Hubert.G
ULN2003 schalten nach GND und sind daher so für dich nicht geeignet.
Wenn du so einen Treiber verwenden willst, dann einen UDN2981 nehmen.
Mist nicht daran gedacht, danke für den hinweis ich vergesse immer das bei den Verstärkerschaltungen.
Jetzt müsste es stimmen.