Liste der Anhänge anzeigen (Anzahl: 1)
Display Multiplexen Breakpoint
Hallo zusammen,
ich entwerfe grad ein neues Bedienpanel.
Dort sollen mehrere 7-Segmentanzeigen angesteuert werden.
Dafür gibt es spezielle Bausteine z.B. von Maxim, diese klammere ich mal aus.
Also lediglich einen Segmenttreiber für die 8 Segmente und pro Digit ein Tranistor für die
gemeinsame Anode oder Kathode.
Wenn man per Softwarte die Displays selbst multiplexen möchte, muss ich bei z.B bei 5 Digits
den 5 fachen Strom in die Segmente jagen, da sie ja auch nur 1/5 der Zeit eingeschaltet sind.
Jetzt kommt das eigentliche Dilemma:
Wenn ich in der Testphase einen Breakpoint setze, steht die Software und es wird irgendein Digit
mit 5 fachen Strom dauerbetrieben, was vermutlich zur thermischen Zerstörung des Display führt. :(
Gibt es dafür eine Lösung ?
Mir ist jetzt die folgende eingefallen:
Die Versorgung der gemeinsamen Anode wird über eine Transistor normalerweise weggeschaltet.
Die CPU muss nun regelmäßig ein Triggersignal liefern um die Stromzufuhr wieder herzustellen.
Dafür wollte ich ein nachtriggerbares Monoflop wie den 74123 verwenden.
Kommt also ein Signal von der CPU, wird der Strom für die Displays für eine gewisse Zeit vom Monoflop freigegeben,
bleibt das Signal für eine bestimmte Zeit aus, werden die Displays strommässig abgeklemmt damit durch den
statischn Zustand die Segmente nicht durchbrennen.
Gibt das so Sinn ? oder habe ich evtl. etwas übersehen, oder bin ich völlig auf dem Holzweg
Ich bin ja sicher nicht der erste, der mal beim Multiplexen die CPU anhält, wie macht Ihr das ?
So hätte ich zudem automatisch einen Standby-Schaltung für die Displays. Wenn ich den Prozessor in den Ruhezustand versetze.
Da ist aber eher eine Nebenwirkung, die ich nicht unbedingt brauche.
So in etwas habe ich mir das vorgestellt:
Anhang 33427
Hab grad überlegt über die Drain Source Strecke vom Mosfet einen, sagen wir mal 5-10mA Konstantstrom zu schalten, dann sehe ich auch noch was auf dem momentan angesteurtem Digit.
ein entsprechender Widerstand tuts dann aber auch.;)
Siro
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
schön und Danke, dass Ihr euch Gedanken macht, so gibt es immer wieder neue Details meine Schaltung
und auch Software zu überdenken.
@Picture und wkrug:
Ob Breakpoint oder Prozessorausfall spielte bei meinen Betrachtungen erstmal nicht die Rolle.
Es geht darum, Multiplexer steht. Gewollt mittels Breakpoint oder ungewollt Defekt/Ausfall jegliche Art.
Können die Display Schaden nehmen oder nicht.
Die CPU sollte natürlich generell über einen Watchdog resettet werden. Völlig richtig.
Meine CPU wird vermutlich ein LPC1347 von NXP werden, weil ich mit dem schon viel probiert habe.
Entwicklungsumgebung ist das "freie" MCPXpresso von NXP ohne Codebegrenzung. (GEIL :-)
Um einen Breakpoint zu setzen klicke ich einfach in die Softwarezeile und dann bleibt die CPU
dort auch stehen, wenn sie dort ankommt. Wenn ich jetzt jedesmal Programmcode ändern müste
um die Ports in einen sicheren Zustand zu setzten, wäre das äußerst aufwendig,
aber natürlich möglich, deshalb gibts da auch nix gegen zu sagen.
Das Layout bzw. die Schaltung ist noch nicht fertig, sondern wird grade erst erstellt,
daher ist hier noch ALLES offen. Um im Voraus aber alles (zumindest möglichst viel) abzusichern kamen dann die Gedanken über das Multiplexen,
was passiert wenn... bisher habe ich immer alles statisch betrieben über Schieberegister.
Vorteil: CPU kann stehen bleiben, nix passiert, Anzeige bleibt komplett mit letzten Daten erhalten.
Heute habe ich meine ersten 7-Segmnent Display bekommen und schon einiges getestet und auch neue Probleme erkannt.
Zunächst mal habe ich 7-Segment Anzeigen Zeichenhöhe 14,2mm vom Typ SC56-11GN sowie
die etwas kleineren SC52-11GN aufs Steckbrett gesetzt und mir die Segmente mit verschiedenen Strömen mal angeschaut.
Bei 500µA kann man die Segemte schon schwach erkennen,
bei 1mA gut lesbar.
Bei ca. 5mA würd ich sagen supi.
bei 6-10mA wirds noch heller, aber unnötig würde ich sagen.
Bei 10 bis 20mA tut sich nicht mehr so viel außer Leistung verbrutzeln.
Somit benötige ich hierbei doch weniger Strom als zunächst erwartet.
Dann habe ich noch größere Anzeigen vom Typ SA10-21GWA Zeichenhöhe 25mm sowie SA15-11GWA Zeichenhöhe 38,1mm besorgt
"Common Anode"
Hier kommt jetzt das Problem, dass ich meine "Anoden" Transistoren nicht mehr durchgeschaltet bekomme.
Die CPU liefert ja nur 3,3 Volt Signale.
Durch den Spannungsabfall von 2 grünen LEDs in Reihe für ein einzelnes Segment, plus die Basis Emitter Strecke des Transistors komme ich
auf 2,2 + 2,2 + 0,6 = 5 Volt. Bei 3,3V vom Prozessor geht das natürlich nicht mehr.
So benötige ich also noch einen Pegelconverter.
Ich hab das schonmal skizziert:
Anhang 33431
Vled kann nun auch wesentlich höher sein als 3,3 oder 5Volt.
Schalten tuts dann trotzdem ab ein High Pegel von ca 0.6 Volt.
Durch die wesentlich geringeren Segmentströme als erwartet rückt das eigentlich Problem der Überhitzung
aber glücklicherweise weiter in den Hintergrund.
Jetzt verstehe ich auch, wie andere Projekte mehrere Anzeigen direkt an einen PIC Controller Ausgang betreiben.
Die Ausgänge vom PIC können ja nur bis zu 25mA liefern.
Wenn ich nur 4mA fließen lasse, kann ich ja bis zu 6 Anzeigen betreiben.
Die Zeiten mit 20mA pro LED sind glücklicherweise vorbei, mir wird jetzt einiges klarer...;)
Siro
Liste der Anhänge anzeigen (Anzahl: 1)
@Ceos,
kein Problem Ceos, ist mir auch schon passiert.
Hast aber recht, ich komme nämlich aus der Medizintechnik und da spielt sowas auch immer eine Rolle.
Thema Risikoanlayse
Überträgt sich dann automatisch auch in den Privatgebrauch.:)
Ich hab das mit dem P-Mosfet und einem NPN grad mal aufgebaut. Das funzt natürlich SUPER
Anhang 33433
Okay, der Mosfet ist jetzt "ETWAS" überdimensioniert...;)
Siro
Liste der Anhänge anzeigen (Anzahl: 1)
Es sollten nun alle Probleme gelöst sein.
So sollte das funktionieren. Die rechten 2 Digit sind die Anzeigen mit je 2 LEDs pro Segment.
Links 4 stellig mit je 1 LED pro Segment.
Anhang 33434
Dann wünsche ich euch allen ein schönes Wochenende.
Siro