Forum: Mikrocontroller und Digitale Elektronik 4-zeiliges Display macht Probleme, wenn länger an


von Schorsch63 (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe da ein kleineres Problem mit einem Display... War das Display 
längere Zeit aus, startet es ganz normal hoch und es erscheint der 
"normale" Text... War es längere Zeit in Betrieb und schalte es aus und 
dann wieder ein, sieht man nur noch zwei dicke Balken... So als ob die 
Spannung nicht mehr stimmt... Warte ich einen Tag, geht es wieder... 
Kann es sein, daß da ein Kondensator der Übeltäter ist? Vielleicht 
erkennt ja ein Fachmann den möglichen Fehler anhand der Steuerplatine... 
Ich habe noch eine weitere gleiche Steuerplatine... Die funzt 
problemlos...

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Diese 2 Balken kommen wenn das Display den Power On Reset durchlaufen 
hat und vom Prozessor noch nicht initialisiert wurde.

Also der Prozessor durchläuft nach längerem Betrieb und dann 
Geräteneustart nicht mehr den Power On Reset oder der Brown Out Detektor 
hat ne Klatsche.

-> Also mal beim Prozessor Reset gucken was da im Eimer ist.

von Stefan F. (Gast)


Lesenswert?

Könnte ein thermischer defekt sein. Du kannst versuchen, einzelne 
Bereiche der Platine mit Kältespray zu kühlen und dann aus/ein schalten. 
So kommst du der schadhaften Stelle näher.

Anderer Lösungsvorschlag: Auf Verdacht alle Lötstellen nachlöten.

> Kann es sein, daß da ein Kondensator der Übeltäter ist?
Unwarscheinlich, vor allem, wenn lediglich das Display ausfällt aber das 
Gerät ansonsten noch funktioniert.

von Stefan F. (Gast)


Lesenswert?

Link unter dem Mikrocontroller sieht am einen Widerstand der über eine 
Drahtbrücke gelötet ist. Schau mal nach, ob diese Teile sich eventuell 
unerwünscht berühren.

von Peter D. (peda)


Lesenswert?

Solche Effekte sind typisch für Fehler in der Initialisierungsroutine.

http://www.avrfreaks.net/forum/tutc-lcd-tutorial-1001?skey=lcd%201001#

von Harry L. (mysth)


Lesenswert?

Ich würde mir das Netzteil mal genauer anschauen.

von Arduinoquäler (Gast)


Lesenswert?

Peter D. schrieb:
> Solche Effekte sind typisch für Fehler in der Initialisierungsroutine.

Ja ... mit grenzwertigen Timimgs initialisiert, manchmal geht's
und manchmal nicht.

Demnach müsste es mit hoher Warscheinlickeit funktionieren
wenn man das Teil im Kühlschrank gelagert hat.

Oft helfen auch ein paar zusätzliche Abblock-Kondensatoren,
mit denen das Modul sicherlich nicht reichhaltig ausgestattet
ist.

von Schorsch63 (Gast)


Lesenswert?

Erst einmal vielen Dank für die Antworten...

Netzteil ist es nicht, wurde getauscht... Microcontroller wurde auch 
getauscht... Lötpunkte wurden auch nachgelötet...

ich habe eine andere Steuerplatine am angedockten Display getestet, dann 
funktioniert es problemlos... Ich teste mal mit Kältespray...
eigenartig

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Schorsch63 schrieb:
> DSC08243.JPG

Der 87C51 hat seinen Reset Pin (positive Polarität!) an Pin 9. Da wird 
eine Schaltung mit Elko und evtl. Diode dranhängen, die beim Einschalten 
einen kurzen positiven Puls auf Pin 9 gibt. Vergrössern des Elkos 
verlängert den Resetpuls und wäre mal einen Versuch wert.

von Schorsch63 (Gast)


Lesenswert?

Habs soeben nochmal eingeschaltet... initialisiert noch immer nicht, 
obwohl ausgekühlt war... Und nochmal einen 3. Controllertausch 
gemacht...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Schorsch63 schrieb:
> Und nochmal einen 3. Controllertausch
> gemacht...

Das hat anscheinend wenig Sinn. Wenn das Problem immer dann auftritt, 
wenn du den Controller nur kurz ausschaltest und dann wieder ein, haben 
die Konstrukteure vermutlich die Diode von Reset zur Versorgungsspannung 
vergessen. Diese soll bei Wegfall der Versorgung Reset sofort auf low 
ziehen und wird mit der Anode an Reset und der Kathode an +Vcc 
angeschlossen.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Schorsch63 schrieb:
> Und nochmal einen 3. Controllertausch
> gemacht...

Dürfte kaum gegen Programmfehler helfen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

Hab mal die Schaltung von circuitstoday.com um die Diode ergänzt - siehe 
Anhang.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Schorsch63 schrieb:
> War es längere Zeit in Betrieb und schalte es aus und dann wieder ein,
> sieht man nur noch zwei dicke Balken...
Was passiert, wenn du zwischendurch auf den Reset drückst?

> War das Display längere Zeit aus, startet es ganz normal hoch und es
> erscheint der "normale" Text... War es längere Zeit in Betrieb und
> schalte es aus und dann wieder ein, sieht man nur noch zwei dicke
> Balken...
Ist das Problem nur die Anzeige auf dem Display oder funktioniert die 
ganze Schaltung nicht mehr? Hast du sowas wie eine "Ich-lebe-noch" 
Blink-LED auf der Platine?

von Schorsch63 (Gast)


Lesenswert?

Nun, Programmfehler kann man wahrscheinlich eher ausschließen, ich hab 6 
Stück dieser Displays, die alle perfekt laufen, sowie noch 5 Controller 
in Reserve...

An Pin 9 (Reset) ist tatsächlich ein 10uF Elko, aber keine Diode... 
!!!!!!

Ich teste mal...

von Schorsch63 (Gast)


Lesenswert?

Lothar, Ich habe keinen extra Reset-Knopf und keine "Ich-lebe-noch-LED" 
auf der Platine...

aber ich versuch es mal mit ner Diode am Elko... Müsste doch mit der 
IN4148 passen, oder?

von Schorsch63 (Gast)


Lesenswert?

Diode hat leider nix gebracht...

von Schorsch63 (Gast)


Lesenswert?

also doch einen größeren Elko?

von Peter D. (peda)


Lesenswert?

Schorsch63 schrieb:
> Nun, Programmfehler kann man wahrscheinlich eher ausschließen, ich hab 6
> Stück dieser Displays, die alle perfekt laufen

Schau einfach mal ins Datenblatt des LCD-Controllers, welche Toleranz 
der interne RC-Oszillator haben kann.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Schorsch63 schrieb:
> Lothar, Ich habe keinen extra Reset-Knopf
Dann löte doch mal einen dran...
Spätestens, wenn du den drückst muss die software das Display neu 
initialisieren. Wenn sie das nicht kann, klemmts in der Init-Routine. 
Dann kann es schon mal sein, dass ein ganz "jungfräuliches" oder 
"übernächtigtes" Display sich anders verhält als ein eben noch 
bestromtes...

In diesem Zusammenhang:
Wie gut ist deine Versorgung? Wie schnell steigt die Versorgungsspanung 
an? Steigt sie monoton an oder bricht sie zwischendurch ein?

> und keine "Ich-lebe-noch-LED" auf der Platine...
Du kannst also nicht feststellen, ob der Controller überhaupt 
losgelaufen ist? Ich toggle z.B. pro Durchlauf der Hauptschleife einen 
Pin, da kann ich sehen, ob der Controller irgendwie hängt. Hast du auch 
Signal an irgendeinem Pin?

Schorsch63 schrieb:
> Diode hat leider nix gebracht...
Schorsch63 schrieb:
> also doch einen größeren Elko?
Mach erst mal den Elko vom Reset weg und einen normalen 100nF Kondesator 
stattdessen dran.

Peter D. schrieb:
> welche Toleranz der interne RC-Oszillator haben kann.
Soll heißen: hast du das Init-Timing "auf Kante genäht"? Oder in die 
Zeiten eher den Faktor 2 reingebaut?

: Bearbeitet durch Moderator
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Lothar M. schrieb:
> Peter D. schrieb:
>> welche Toleranz der interne RC-Oszillator haben kann.
> Soll heißen: hast du das Init-Timing "auf Kante genäht"? Oder in die
> Zeiten eher den Faktor 2 reingebaut?

Ach, das Ding ist eine Eigenkonstruktion? Ich bin bisher von was 
fertigem ausgegangen, an dem man an der Firmware nix mehr tun kann 
(ausser diassemblen und raten).

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Matthias S. schrieb:
> Ach, das Ding ist eine Eigenkonstruktion? Ich bin bisher von was
> fertigem ausgegangen, an dem man an der Firmware nix mehr tun kann
> (ausser diassemblen und raten).
Nein, nicht das Display, eher der Init-Code des 87C51. Wenn der streng 
nach den "typischen" Zeiten irgendwelcher Datenblätter programmiert 
wird, dann geht evtl. schon der allererste Reset im Display schief und 
das Ding kriegt seinen "Arsch nicht hoch". Oder es klappt "gerade noch 
so" und eine kleine Temperatur- oder Spannungänderung reicht aus fürs 
"Hängenbleiben"...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Lothar M. schrieb:
>> Ach, das Ding ist eine Eigenkonstruktion? Ich bin bisher von was
>> fertigem ausgegangen, an dem man an der Firmware nix mehr tun kann
>> (ausser diassemblen und raten).
> Nein, nicht das Display, eher der Init-Code des 87C51.

Ja, ich habe mich missverständlich ausgedrückt - ist die Firmware im 
87C51 eine Eigenproduktion?
Das das LCD ein fertig gekauftes ist, vermute ich wohl :-P

Wenns aber ein HD44780 kompatibles ist, kann man, wie PeDa schon sagte, 
mal mit dem frequenzbestimmenden R auf dem Display spielen (Pin OSC1 und 
OSC2).

von Schorsch63 (Gast)


Lesenswert?

Guten Morgen nochmal in die Diskussionsrunde...

vielen Dank für die Infos, und das Interesse an der Problemlösung


Peter D. schrieb:
> Schau einfach mal ins Datenblatt des LCD-Controllers, welche Toleranz
> der interne RC-Oszillator haben kann.
Interner RF-Oszillator? Datenblatt? Das Gerät ist ein Serienprodukt...

Lothar M. schrieb:
> Mach erst mal den Elko vom Reset weg und einen normalen 100nF Kondesator
> stattdessen dran.
Das kann ich mal probieren... danke für den Tipp...

Matthias S. schrieb:
> Ja, ich habe mich missverständlich ausgedrückt - ist die Firmware im
> 87C51 eine Eigenproduktion?
> Das das LCD ein fertig gekauftes ist, vermute ich wohl :-P

Eigenproduktion:
Also zunächst einmal: Das Gerät ist keine Eigenproduktion, es handelt 
sich um eine M-LIVE Wordbox, ein Midi-Textdisplay... Ist ein 
Serienprodukt, dessen Produktion aber leider eingestellt wurde. Ich habe 
insgesamt sechs Stück davon, und habe zusätzlich (da ich die Dinger mal 
im Vertrieb hatte) noch einige der Mikrocontroller mit der neuesten 
Firmware... und natürlich auch Netzteile... Es sind in jeder Box nur 
drei Platinen... Eine schmale Anschlussplatine mit Midi-in und thru, je 
1 Kontrast- und Helligkeitsregler und 9V-Spannungsbuchse... dann die 
Platine mit dem Display selbst und die per Stiftleiste aufgedockte 
"Problem"platine mit dem Prozessor, wo irgendwo die Problemursache sein 
muss...

Prozessor:
Da ich die Innenleben aller Wordboxen, sowie die ganzen Controller, oder 
Netzteile beliebig austauschen kann, um zu testen, kann ich ja gewisse 
Ursachen logisch ausschließen... Insoweit kann es zB. wenig mit dem 
Initcode des Prozessors zu tun haben, wenn der gleiche Prozessor in 
einer anderen Box bzw. auf einer anderen Steuerplatine funzt...

es muss also von der Logik her irgendwo anders ein Fehler sein...
nur wo?

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
Noch kein Account? Hier anmelden.