- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: Display Multiplexen Breakpoint

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076

    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:

    Klicke auf die Grafik für eine größere Ansicht

Name:	Mux_Led_01.jpg
Hits:	12
Größe:	51,1 KB
ID:	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
    Geändert von Siro (23.04.2018 um 15:13 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Siro Beitrag anzeigen
    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.
    Dies Problem hatte ich auch. Meine Schaltung war anders herum, 20mm Displays mit gemeinsamer Kathode über einen BSS138 FET gesteuert und die Anoden jeweils über einen Vorwiderstand direkt vom Portpin. Das sollte aber keine Rolle spielen.

    Zum Debuggen hatte ich mir überlegt, die Widerstände so groß zu machen, daß der zulässige Strom pro Segment im Dauerbetrieb nicht überschritten wird. Ich hab da mal mit 470Ω angefangen, bei 5V und roten LEDs sind das weniger als 10mA. Damit habe ich dann angefangen zu Debuggen und wollte, wenn alles funktioniert, die Widerstände kleiner machen. Nun hat sich dabei herausgestellt, daß diese modernen LEDs so hell sind, daß ich es auch für den Multiplexbetrieb so belassen habe. Die Anzeige ist hell genug, obwohl die 20mA, die als Dauerstrom möglich wären, weit unterschritten werden. Ich hab aber nur drei Stellen, für mehr Stellen könnten die Vorwiderstände aber verkleinert werden um die Helligkeit zu erhöhen ohne die LEDs zu überfordern.

    In Summe: LED Ansteuerung mit einem Transistor pro Digit, 8 Widerständen und Breakpoint fest.

    MfG Klebwax
    Geändert von Klebwax (27.04.2018 um 11:31 Uhr)
    Strom fließt auch durch krumme Drähte !

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.191
    So wie ich das sehe, hast Du ja eine eigene Versorgung für VLED.
    Kannst Du da nicht ein Bauteil ausbauen und die Spannung dort über ein Labornetzteil einspeisen?
    Dadurch könnte man die Displayspannung so weit runter drehen, das keine gefährlichen Ströme entstehen.
    Während der Testphase leuchtet das Display halt dann etwas dunkler.
    In der fertigen Version, kannst Du dann ja auch noch eine Watchdog reinmachen, damit der Controller nicht hängen bleiben kann.

    Ich denke auch, das der fünffache Strom durch die LED's beim Multiplexen gar nicht nötig ist, um die Segmente genauso hell wie im Dauerbetrieb leuchten zu lassen.

    Der doppelte bis dreifache Strom sollte schon den gewünschten Effekt haben.
    Zudem haben LED's auch einen maximalen Kurzzeitstrom, den man auch nicht für kurze Zeit überschreiten darf.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Habt erstmal vielen Dank, Klebwax und wkrug, für Eure Anteilnahme und Informationen.

    Die Widerstände bzw. Ströme erst in der Endversion(Software) anzupassen wäre natürlich auch eine Option.
    Während der Softwareentwicklung spielt das ja wirklich keine Rolle.

    Ich staune immer, im Datenblatt sind fast alle Modelle mit 20mA angegeben.
    Spitzenströme recht unterschiedlich von 45 bis 140mA habe ich schon gefunden.
    Ich habe hier noch welche rumliegen, die brauchen wirklich so 15mA pro Segment damit es vernünftig aussieht.
    Habe mir aber heute mal welche bei Reichelt bestellt, mal gucken wie die sich verhalten.
    Mit den "5" Anzeigen hatte ich nur als Beispiel genommen, in Wirklichkeit hab ich 15 Digits zu steuern....
    Das geht natürlich nicht mehr mit nur einem Multiplexer....
    Maxim bietet auch Chips mit bis zu 8 Digits und sogenannten "Charlieplexing" an.

    Hier ist mal ein Link dazu:
    https://www.maximintegrated.com/en/a...ex.mvp/id/1880

    So ein chip kost dann auch rund 7-10 Euro.
    Ich werd mir den aber auch mal besorgen (bei Mouser Elektronik) und damit testen/spielen.

    Das Problem wird aber hauptsächlich sein, dass ich verschiedene Größen von Displays gleichzeitig benutzen möchte.
    Mit unterschiedlichhen Strömen können die Chips aber nicht arbeiten.

    Ich liebe ja eigentlich den statischen Betrieb mit reinen Schieberegister und Konstantströmen
    CAT4016 habe ich zur Zeit auch im Einsatz.

    Am besten (einfachsten) sind aber immer noch die seit 20 Jahren bewährten LTM8522 von Lite-On.
    Schieberegister und Konstantströme gleich im 3 stelligen Display integriert.
    Aber genau die wollte ich mal ablösen und muss zum Bedauern feststellen, das der Aufwand dann enorm wächst...

    Ich probier erstmal die Ströme mit den neuen Displays dann aus und werde berichten.

    Die Firma Avago hat wohl Low Current Displays, Tescondition geben sie an von 1-5mA das klingt doch sehr gut.

    Siro

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Siro Beitrag anzeigen
    Ich habe hier noch welche rumliegen, die brauchen wirklich so 15mA pro Segment damit es vernünftig aussieht.
    Der Fortschritt bei den LEDs ist schon gewaltig. Ich hab auch noch eine Menge ältere rumzuliegen (muß mal aufräumen). Ich glaube, man kann an der Brennspannung etwas erkennen. Ältere rote LEDs sind etwas dunkler im Rot und haben so ca 1,6V, neuere und hellere baben eine Spannung von über zwei Volt. Das ist aber mehr ein Eindruck als eine gesicherte Erkenntnis.

    Mein Motiv für die 20mm LED Displays war, die Anzeige auch ohne Brille und aus größerer Entfernung ablesen zu können. Ich bin inzwischen davon wieder abgekommen. Trotz aller möglicher Muster, mit den man z.B Overflow oder anderes anzeigen kann, fehlten mir Einheitensymbole. Ich verwende jetzt Oled-Display mit I2C. Und da nicht die kleinen mit 0,96", das ruft auch noch nach der Brille, sondern welche mit 2,4". Die werden genauso angesteuert wie die kleinen. Da bekommt man leicht 4 Zeilen a 10 Zeichen unter, die sich auch gut aus größerer Entfernung ablesen lassen. Am µC kosten sie nur 2 Pins und wenn man schon einen I2C Bus hat, gar keinen.

    Mein erster Ansatz mit den 7 Sedment Display war ein wenig von diesen Volt/Amperemetern beinflußt (die treiben die LEDs direkt mit den Prozessorpins, ich hab mir die Platine daraufhin mal genau angesehen). Die Anzeige ist zwar hell, aber zum Ablesen aus größerer Entfernung zu klein. Nachdem ich auf diese Größeren gestoßen bin, nehme ich die 2,4" Oleds. Sie sind zwar nicht wirklich billig, bieten aber viele Freiheiten bei simpler Ansteuerung.

    Aber auch mit den 0,96" oder 1,3" Oleds kann man 2 große Digits anzeigen. Da sie zwei einstellbare I2C Adressen haben, kann man mit 2 nebeneinander ohne zusätzliche Hardware ein 4-Stelliges Display mit rund 20mm hohen Zeichen bauen. Dazu sind sie wirklich billig, Helligkeit einstellen oder Abschalten ist eingebaut. Aber genug der Ablenkung von deinem Problem.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    ich arbeite ja unter anderem mit solchen segmentanzeigen und die erfahrung zeigt, das träge auge des menschen und die automatische verstärkung im hirn regeln schon alles was du brauchst

    will sagen, eine gepulste LED erscheint dem menschlichen auge heller als eine konstant leuchtende, du brauchst definitiv nicht den 5fachen strom, selbst bei 3fach wäre ich noch skeptisch

    teste doch erstmal deine anzeigen bei normalstrom nach datenblatt, dann steuer die LEDs per PWM an und du wirst merken, dass die oberen 25% des duty cycle ohne warnehmbaren helligkeitsverlust sind und erst danach eine sichtbare verdunkelung eintritt, i.d.R. kannst du eine LED (wenn es nicht gerade ein sehr schneller typ ist) locker bis 50% duty cycle dimmen ohne dabei nennswerten leuchtverlust zu erleiden

    in diesem konkreten fall würde ich definitiv den praktischen weg des ausprobierens gehen, schließ sie einfach an, rechne aus wie oft die LED pro sekunde eingeschaltet sein wird und emulier einmal eine ziffer des display und sieh nach wie sich das auswirkt wenn du den PWM anhälst und ein segement dauerhaft leuchtet
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Zitat Zitat von Siro Beitrag anzeigen
    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 ?
    Ich denke schon. Nix hardwaremäßig, sondern alles nur softwaremäßig in einer endloser Schleife, die immer läuft, umschalten. So habe ich immer alles nach Programmablaufdiagram programmiert. Es ist nicht das beste Beispiel, aber das ich mir noch schnell erinnern kann: https://www.roboternetz.de/community...m-Nachbauen%29
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Das hast Du glaube ich nicht richtig verstanden PICture.
    Es geht ja darum wenn die Software stehen bleibt.

    Das multiplexen muss natürlich immer in einer Schleife, bzw. im Timerinterrupt laufen.
    Aber wenn die Software anhält, egal wo, dann bleiben halt die Segmente dauerhaft angesteuert.
    Also nur mit Software kann ich dagegen nichts machen.

    Stell Dir vor das Quarz oder der der interne RC Oszillator vom Controller fällt aus, dann bleiben irgendwelche
    Segmente dauerhaft angesteuert. Das muss natürlich nicht gleich zu Schäden, könnte aber.

    In deinem Projekt ist es ja eine LCD Anzeige, da tritt diesen Problem ja garnicht auf,
    da fließen keine (fast keine) Ströme...

    So nebenbei:
    dein benutztes LCD-Dipslay gibt es jetzt bei Pollin jetzt für 10 cent zu kaufen.
    Da muss man ja eigenlich zuschlagen.....
    https://www.pollin.de/p/lcd-modul-ph...-2673-1-120103


    Siro

  9. #9
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Zitat Zitat von Siro Beitrag anzeigen
    Stell Dir vor das Quarz oder der der interne RC Oszillator vom Controller fällt aus, dann bleiben irgendwelche Segmente dauerhaft angesteuert.
    Wenn du sowas Breakpoint nennst, dann hast du Recht.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.191
    Stell Dir vor das Quarz oder der der interne RC Oszillator vom Controller fällt aus, dann bleiben irgendwelche Segmente dauerhaft angesteuert.
    Ich denke mal wir reden hier von 2 Dingen.

    1. Von Breakpoints für das Debugging.
    Das könnte man so lösen, das man vor dem Breakpoint die Ausgangspins der Ports für die Segmenttreiber inaktiv schaltet.
    A oder K der Displays sollte dabei egal sein.
    Dann wird das Display bei einem Breakpoint nicht mehr angesteuert.
    Nachteilig ist, das hier durch den zusätzlich eingefügten Code die anzahl der Taktzyklen nicht mehr 100% stimmt - Das sollte aber keine allzu große Rolle spielen.

    2. Abschaltung des Displays bei einem Hardwarefehler / Programmhänger.
    Das kann man wiederum mit einem Watchdog lösen.
    Fast alle AVR Controller haben einen internen Watchdog, der mit dem Assembler Kommando WDR immer wieder zurückgesetzt werden muß.
    Dieser Watchdog hat einen eigenen Oszillator und läuft somit unabhängig vom Prozessortakt.
    Bei manchen AVR ist dieser Watchdog auch direkt über die Fuses aktivierbar.
    Wird dieser Watchdog nicht rechtzeitig zurückgesetzt resettet er den Controller.
    Auch wenn der Controller keine gültige Taktquelle mehr hat, sind dann die Portpins als Eingänge geschaltet und somit hochohmig.
    Schaltungtechnisch sollten für diesen Fall passende pullup bzw. pulldown Widerstände an den entsprechenden Ports angebracht werden.
    Aber das ist für die Initialisierungsphase ohnehin sinnvoll.

    Noch was.
    Ich hatte mal vor Jahren eine Jumbo Uhr mit 6 Stellen ebenfalls im Multiplexbetrieb gebaut.
    Beim Umschalten der einzelnen Anzeigeelemente glimmten die Segmente der vorher angsteuerten Anzeige mit.
    Grund war, das die Anodentreiber ( gemeinsame Anoden ) nicht schnell genug umschalteten.
    Nachdem die Anoden kurz abgeschaltet und dann erst das nächste Segment angeschaltet wurde, war das Phänomen weg.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. I2C Multiplexen
    Von filth im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 01.07.2009, 06:40
  2. Konstantstromregelung zum Multiplexen
    Von KingTobi im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 24.03.2009, 18:32
  3. Multiplexen Probleme
    Von Rohbotiker im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 05.10.2008, 15:24
  4. AVR Studio: Kann Breakpoint nicht setzen
    Von Whassup im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 24.02.2006, 11:59
  5. Multiplexen
    Von Moritz f. im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 18.09.2005, 15:40

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress