Hallo, ich mit einem PIC16F877 per 4.bit-Anateuerung ein 2x16-Display TM162A von TIANMA an. R/W ist auf Masse, Bussy wird nicht abgefragt. Den Code habe ich von Michael Dworkin(cc5x.de) und der von Holger Klabunde. Ich porte ihn etwas später hierein, weil an dem Standort, wo der Programmier-Rechner steht dank EON bis 15.00Uhr mal wieder kein Saft ist. Grundsätzlich funzt seit Monaten/Jahren die Geschichte prima. Menue rauf, Menue runter alles palletti. Nun traten die ersten Probleme beim Endkunden auf. Die Baugruppe steuert unter anderem via Relais Pumpen an. Zunächst also trat der Effekt auf, dass mit schalten eines Pumpen-Relais, das Display Buchstabensalat brachte. Nicht immer, aber immer öfter. Ich habe auf Einstreuung von Störimpulsen(die Zuleitung zur Anzeige-Platine sind Bandkabel), bzw. neg.-Spitzen in der Betriebspannung getippt. Das Bandkabel habe ich abgeschirmt, die Betriebspannung direkt am Display mit 2000µ, parallel 100nF stabilisiert. Keine Nachvollziehbare Änderung. Anschließend habe die Software dahin geändert, dass das Display nach jedem Relais-Schalten komplett neu initialisiert wird. Dann ging es gut. Das bandkabe habe ich absichtlich gestört, das Display heiß gemacht(98Grad), die Baugruppe tagelang laufen lassen, das Display während des betriebes aus- und wieder eingelötet - kein Absturz mehr. Anschließend ging die Steuerung wieder zum Kunden ins Testlabor und lief auch 4 bis 6 Wochen. Jetzt aber kommt es wieder zu Buchstabensalat(ohne Relaisschalten)- nicht immer, aber immer öfter. Ert nur einmal, dann wöchentlich, jetzte mehrmals täglich. Nach reset(aus- und einschalten) läuft's wieder. Das Ganze passiert aber nicht nur mit einem Exemplar, sondern mit mehreren. Kann mir das nicht mehr erklären. Thomas
Hallo Thomas, das Geheimnis heißt EMV . Das Display besitzt einen oder mehrere Controller, vermutlich wird einer dieser durch einen externen Impuls geresetet. Möglichkeiten der Fehlerbehebung: - Ursache bekämpfen - Datenleitungen, besonders ENABLE schirmen - offene Pins des LCD auf GND bzw +5V - alle paar Minuten das Diplay neu Initialisieren Bernhard
Hallo Bernhard, das mit EMV hatte ich auch gedacht, bzw. denke ich noch. Nur: 1. hatten wir schon EMV-gettestet, auch die Störbeeinflussung. 2. hatte ich zum Test um die Bandkabel je 2 Windungen von Motorzuleitungen gelegt. Einmal besagte Pumpe, das zweite war ein Gleichstrommotor mit 1A Anlaufstrom. 3. Aber -und das gibt mir am meisten zu denken- Warum tritt die Geschichte erst nach Wochen des Betriebes auf? Die übrig gebliebenen offenen Pins betreffen die Daten-Bits0-3. Die auf Potential zu legen, werde ich mal ausprobieren. Vielen Dank schon mal. Thomas
Hallo zusammen, mittlerweile hat jemand auf Timingprobleme gedeutet. Das habe ich kontrolliert und festgestellt, dass jedem Zugriff mindestens 1ms Pause folgt. Bei Inititialisierung freilich mehr. So ganz kann es das eigentlich auch nicht sein. Da ich nun die Fehlerursache nicht wirklich klären kann, habe ich folgendes gemacht: Zunächst habe ich die R/W-Leitung mit (kratzen und CuL-Strippchen ziehen) wieder aktiviert softwaremäßig und die Zugriffe über das busy gesteuert. D.h. VOR jedem Zugriff (Schreiben und Lesen)wird das busy abgefragt. Alle anderen Wartezeiten (außer Initialisierung) flogen raus. Dazu habe ich die freien Pin's(DB4-7) via PullDown-R's auf Masse gelegt. Um ganz sicher zu gehen, habe ich einen "Schatten-RAM" eingeführt. Freien Speicher hatte ich noch genug. In diesen 4 Byte wird permanent mitgeschrieben, was ans Display gesendet wird. Alle paar 100 µs oder ms wird das Display ausgelesen., Ist dann irgendwas falsch, wird das Display komplett neu initialisiert und neu beschrieben. Jetzt kann man bei laufender Anzeige die Daten-Pins kurzschließen und anschließend erholt sich das Display wieder(meistens jedenfalls). Fällt irgendjemandem noch was ein, was helfen würde? Thomas
Hallo Thomas, ich bin mal gespannt, ob Dein Display jetzt beim Kunden zuverlässiger läuft, erstatte uns mal Bericht. Bernhard
Hallo Bernhard, Kundenanruf nach 14 Tagen: "Keine Auffälligkeiten mehr zu beobachten." Ich hoffe mal, dass an dieser Front nun Ruhe einkehrt. Besten Dank für's "mitfiebern"! Thomas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.