- LiTime Speicher und Akkus         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 30

Thema: Display Multiplexen Breakpoint

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Anzeige

    Powerstation Test
    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

  2. #12
    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!

  3. #13
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.187
    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.

  4. #14
    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
    Ja, danke dir für die ausführliche Erklärung. Du hast den Nagel am Kopf getroffen.

    Zitat Zitat von wkrug Beitrag anzeigen
    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.
    Mir ist darauf noch ein zusätzlicher µC für Display eigefallen, der dank regelmäßigen kurzen Untebrechungen vom Hautprogramm mit Breakpoints das gewünschte permanent zeigt. Aber das wäre angeblich überkompliziert.
    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!

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.187
    Mir ist darauf noch ein zusätzlicher µC für Display eigefallen, der dank regelmäßigen kurzen Untebrechungen vom Hautprogramm mit Breakpoints das gewünschte permanent zeigt. Aber das wäre angeblich überkompliziert.
    So wie Ich das sehe, hat er das Layout bereits fertig und kann / will er daran nichts ändern.

    Wie gesagt, Ich hätte einfach für die Testphase den Strom durch die Anzeige auf ungefährliche Werte begrenzt, dann gäb's auch mit den Breakpoints kein Problem.
    In der endgültigen Version den Strom wieder erhöhen, dann den Watchdog aktivieren und gut ist.
    Auch die Watchdog Funktion könnte man überprüfen indem man einen Quarzoszillator nimmt und dann dem Controller die Taktleitung klaut, oder anderweitig den Controllertakt abschaltet.

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    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:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Mux_Led_02.jpg
Hits:	4
Größe:	69,8 KB
ID:	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
    Geändert von Siro (26.04.2018 um 17:37 Uhr)

  7. #17
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.187
    Wenn Dir der Strom nicht reicht, kannst Du natürlich auch zusätzliche Darlington Arrays verwenden.
    Für die Seite nach GND z.B. ULN 2803 ( 8 Darlington Arrays ).
    Für die High Side UDN2981 ( 8 High Side Treiber ).
    Lassen sich beide mit TTL Pegel ansteuern und machen die Betriebsspannung der Segmente unabhängig von den Controller Stromversorgung.

    Für meine 10cm Led Segmente hab ich auf der Low Seite die ULN's verwendet.
    Die High side hab ich noch über einzelne Transistoren angsteuert.
    Den UDN2981 kannte ich zu der Zeit noch nicht.

    Da Du ja 15 Displays ansteuern willst, wäre es eventuell möglich einen High Side Treiber für jeweils 2 Segmente zu verwenden.
    Und die Low Side mit 2*ULN2803 auszustatten.
    Nachteilig ist dabei natürlich, das man dazu 24 Prozessorpins braucht ( 8*High Side, 2*8*Low Side [ 7+Dezimalpunkt ] ).

    Das Multiplexing leg ich gerne in einen Timer Interrupt, damit läuft das unabhängig vom Hauptprogramm.

  8. #18
    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
    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.
    Bingo ! Das ist von mir gedachter zweiter µC, aber optimal, weil viel einfacher.
    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!

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    noch ne verrückte idee, ein resetable-monoflop als sicherung

    wenn das monoflop nicht resettet wird, schaltet es nach .... was weis ich ... 20mS .... die versorgung frei

    der reset hängt dann immer hinter dem letzten segment oder mit an einem segment dran

    wenn der controller also nicht mehr multiplext, läuft das monoflop aus und kappt den strom
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  10. #20
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    @wkrug:
    Für die Kathoden habe ich mir schon die ULN2803 gleich mit besorgt,
    Genau so war auch mein Plan.

    Die Highside Treiber 2981 habe ich mir auch schon angesehen.
    aber da wunderte (störte) mich die Sättigungsspannung von typisch 1,6 bis 2,0 Volt

    Wenn meine grünen LEDs schon 4,4 Volt brauchen und dann die CE-Strecke auch nochmal 1,6 Volt
    dann geht das nicht mehr mit VLED an 5Volt. Da fehlt mir 1 Volt....
    Ansonsten wär das ne super Sache.

    Den Chip gibst auch von Maxim MIC2981 aber auch VCE(sat) 1,7 bis 2,2Volt.
    Warum bauen die da keinen P-Channel MOS sondern einen Darlington Bipolar rein ???
    NPN und dann nen P-MOS dann hab ich den vollen Spannungshub.
    Sättigung (Spannungsabfall DS) läge dann im Millivolt Bereich.
    Gibt es sowas noch nicht ?

    @Ceos:
    Die Idee mit dem Monoflop hab ich schon im ersten Thread mit Schaltbild gezeigt.
    Ich fand das auch super, da kann dann wirklich nichts mehr schief gehen.

    Siro

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

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

Berechtigungen

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

LiFePO4 Speicher Test