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...
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.
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.
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.
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.
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
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.
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.
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?
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...
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?
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.
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?
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).
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"...
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).
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?