www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD macht Buchstabensalat PIC16F877


Autor: Thomas Vollmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas Vollmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas Vollmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

ich bin mal gespannt, ob Dein Display jetzt beim Kunden zuverlässiger
läuft, erstatte uns mal Bericht.

Bernhard

Autor: Thomas Vollmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.