Forum: Mikrocontroller und Digitale Elektronik Komisches LCD-Verhalten


von S. H. (fat32)


Lesenswert?

Hallo,

ich betreibe ein LCD (2x16) mit einem HD4780-Controller. Der Controller 
wird von einem Atmega 8 gesteuert.

Die Stromversorgung erfolgt über einen gleichrichter mit anschließendem 
7805er.

Es funktioniert auch alles, aber manchmal werden Buchstaben falsch 
angezeigt (vor allem bei längerer Laufzeit.)

Also wenn z.B. ein F auf dem LCD ist, kommt kurzzeitig ein kleiner 
Kreis, der dann wieder verschwindet.

Woran kann das liegen?

von S. H. (fat32)


Lesenswert?

Achja: Ich habe vor jedem IC 1x 100nF und am gleichrichter 2x 200µF + 1x 
100nF

von Troll B. (blaubeer)


Lesenswert?

S. H. wrote:
> Hallo,
>
> ich betreibe ein LCD (2x16) mit einem HD4780-Controller. Der Controller
> wird von einem Atmega 8 gesteuert.
>
> Die Stromversorgung erfolgt über einen gleichrichter mit anschließendem
> 7805er.
>
> Es funktioniert auch alles, aber manchmal werden Buchstaben falsch
> angezeigt (vor allem bei längerer Laufzeit.)
>
> Also wenn z.B. ein F auf dem LCD ist, kommt kurzzeitig ein kleiner
> Kreis, der dann wieder verschwindet.
>
> Woran kann das liegen?

- An Deiner vermutlich fehlerhaften Hardwarebeschaltung
- An Deiner vermutlich fehlerhaften Software
- An Deinem vermutlich zu schnellem Timing

MfG, Blaubär

von S. H. (fat32)


Lesenswert?

ich hab alles genauso gemacht wie im tutorial beschrieben

von Troll B. (blaubeer)


Lesenswert?

S. H. wrote:
> ich hab alles genauso gemacht wie im tutorial beschrieben

Das glaubst Du aber nur. Dir gelingt es ja nichtmal, die Bezeichnung des 
Controllers korrekt abzuschreiben. Mit so nachlässiger Arbeitsweise sind 
Deine Erfolgsaussichten mit Lotto vergleichbar.

MfG, Blaubär

von S. H. (fat32)


Lesenswert?

verarsch mich nicht
gib mir lieber ratschläge

von Benedikt K. (benedikt)


Lesenswert?

Ich kenne mich normalerweise gut mit LCD aus, aber deine 
Fehlerbeschreibung sagt mir rein garnichts.
Kannst du ein Foto oder ein kurzes Video machen ?

von Christopher B. (chris_muc)


Lesenswert?

Troll Blaubär wrote:
> S. H. wrote:
>> ich hab alles genauso gemacht wie im tutorial beschrieben
>
> Das glaubst Du aber nur. Dir gelingt es ja nichtmal, die Bezeichnung des
> Controllers korrekt abzuschreiben. Mit so nachlässiger Arbeitsweise sind
> Deine Erfolgsaussichten mit Lotto vergleichbar.
>
> MfG, Blaubär

Sehr hilfreich und nett! Da machts hier doch gleich richtig Spaß Mr. 
Perfect!


S. H. wrote:
>verarsch mich nicht
>gib mir lieber ratschläge

wow... das war jetzt aber auch richtig produktiv und sehr nett...

ihr solltet beide erstmal an euren Egos und an euren Umgangstönen 
arbeiten...


zu dem Problem:
bei der Beschreibung kommen nur die üblichen verdächtigen in Frage.
Problem im Code, Problem in der Beschaltung oder evtl hat das Display 
nen Fehler. Kann auch nen Problem bei der Versorgungsspannung geben.

von Troll B. (blaubeer)


Lesenswert?

Benedikt K. wrote:
> Ich kenne mich normalerweise gut mit LCD aus, aber deine
> Fehlerbeschreibung sagt rein garnichts.
> Kannst du ein Foto oder ein kurzes Video machen ?

Schaltbild und Programm wären ja auch schon hilfreich, aber FAT32 zieht 
es ja vor, sich verarscht zu fühlen, anstatt die Voraussetzungen für das 
Helfen zu schaffen.

MFG, Blaubär

von Jadeclaw D. (jadeclaw)


Lesenswert?

@Troll Blaubär: Wenn du weitere Infos brauchst, um die Frage zu 
beantworten, dann kann man auch etwas freundlicher nachfragen. Für 
aggressives Verhalten ist hier kein Platz.

PLONK


@S.H. : Hast du Interrupts aktiv laufen? Z.B. Zeittakt für eine Uhr? 
Wenn ja, dann muß auch das Display-Update innerhalb der 
Interrupt-Routine erfolgen. Ansonsten passiert es tatsächlich, daß Müll 
im Display erscheint.

Falls nicht, generell mal am Timing drehen, sprich dem Display etwas 
mehr Zeit geben. Die Minimalzeiten für jede Anweisung finden sich im 
Datenblatt zum HD44780.
Datenblatt ist hier:
http://www.alldatasheet.com/datasheet-pdf/pdf/63673/HITACHI/HD44780.html

Gruss
Jadeclaw.

von Troll B. (blaubeer)


Lesenswert?

Christopher Bock wrote:

> Sehr hilfreich und nett! Da machts hier doch gleich richtig Spaß Mr.
> Perfect!

Schau Dir bitte erstmal seine anderen Threads an, dann wirst Du 
feststellen, dass meine Aussage (und mein Tonfall) nicht Aktion, sondern 
Reaktion ist.

> zu dem Problem:
> bei der Beschreibung kommen nur die üblichen verdächtigen in Frage.
> Problem im Code, Problem in der Beschaltung oder evtl hat das Display
> nen Fehler. Kann auch nen Problem bei der Versorgungsspannung geben.

Genau das versuche ich ihm mitzuteilen, aber ohne seine Mitarbeit 
(Zeigen von Schaltung und Programm) kann man keine genaueren Vorschläge 
machen.

Mfg, Blaubär

von Nixweiss (Gast)


Lesenswert?

@S.H. : Hast du Interrupts aktiv laufen? Z.B. Zeittakt für eine Uhr?
Wenn ja, dann muß auch das Display-Update innerhalb der
Interrupt-Routine erfolgen. Ansonsten passiert es tatsächlich, daß Müll
im Display erscheint.

  aber nur dann wenn er in der interrupt routine
die register mit push und pop nicht sichert

von S. H. (fat32)


Lesenswert?

Benedikt K. wrote:
> Ich kenne mich normalerweise gut mit LCD aus, aber deine
> Fehlerbeschreibung sagt mir rein garnichts.
> Kannst du ein Foto oder ein kurzes Video machen ?

würde ich gerne machen, aber da der fehler immer nur kurz auftritt, geht 
das nicht (tritt unregelmäßig auf)

von S. H. (fat32)


Lesenswert?

Christopher Bock wrote:
> zu dem Problem:
> bei der Beschreibung kommen nur die üblichen verdächtigen in Frage.
> Problem im Code, Problem in der Beschaltung oder evtl hat das Display
> nen Fehler. Kann auch nen Problem bei der Versorgungsspannung geben.

ich glaube auch, dass es an der versorgungsspannung liegt.

aber wo genau? an der versorgung des m8 oder des LCD?

von Nixweiss (Gast)


Lesenswert?

sieht nach wackelkontakt aus-einfach mal anden kabelenden ziehen.

von S. H. (fat32)


Lesenswert?

Troll Blaubär wrote:
> Benedikt K. wrote:
>> Ich kenne mich normalerweise gut mit LCD aus, aber deine
>> Fehlerbeschreibung sagt rein garnichts.
>> Kannst du ein Foto oder ein kurzes Video machen ?
>
> Schaltbild und Programm wären ja auch schon hilfreich, aber FAT32 zieht
> es ja vor, sich verarscht zu fühlen, anstatt die Voraussetzungen für das
> Helfen zu schaffen.
>
> MFG, Blaubär

programm seht ihr alle im tutorial!

ein schaltbild mach ich nachher

von S. H. (fat32)


Lesenswert?

Jadeclaw Dinosaur wrote:
> @Troll Blaubär: Wenn du weitere Infos brauchst, um die Frage zu
> beantworten, dann kann man auch etwas freundlicher nachfragen. Für
> aggressives Verhalten ist hier kein Platz.
>
> *PLONK*
>
>
> @S.H. : Hast du Interrupts aktiv laufen? Z.B. Zeittakt für eine Uhr?
> Wenn ja, dann muß auch das Display-Update innerhalb der
> Interrupt-Routine erfolgen. Ansonsten passiert es tatsächlich, daß Müll
> im Display erscheint.
>
> Falls nicht, generell mal am Timing drehen, sprich dem Display etwas
> mehr Zeit geben. Die Minimalzeiten für jede Anweisung finden sich im
> Datenblatt zum HD44780.
> Datenblatt ist hier:
> http://www.alldatasheet.com/datasheet-pdf/pdf/63673/HITACHI/HD44780.html
>
> Gruss
> Jadeclaw.

danke für den BRAUCHBAREN beitrag! werde das mal versuchen.

interrupts hab ich (noch) keine, das soll mal n wecker werden, d.h. ein 
zeittakt kommt noch!

von S. H. (fat32)


Lesenswert?

Nixweiss wrote:
> sieht nach wackelkontakt aus-einfach mal anden kabelenden ziehen.

probier ich mal. da das ganze noch auf steckbrett aufgebaut ist, kann 
das schon sein

aber könnte es auch daran liegen, dass meine elkos und kondensatoren zu 
klein sind?

von Tobias P. (hubertus)


Lesenswert?

Ich hatte auch mal ein ähnliches Problem. Bei mir lags daran, dass das 
LCD nicht richtig Kontakt hatte. Zudem war meine Ansteuerung etwas zu 
schnell.
Übrigens: Offenbar kann man das LCD auch zu langsam ansteuern. Ich hatte 
das auch schonmal beobachtet - wenn ich wirklick extrem grosse 
Zeitverzögerungen eingebaut habe, hat das LCD nicht mehr funktioniert. 
Keine Ahnung weshalb!
nja - aber die Verzögerung kann durchaus >60 ms sein, und es 
funktioniert trotzdem. Aber du wirst das Display niemals mit einem so 
langsamen Takt ansteuern, also vergiss das. Dein Timing ist wohl eher zu 
schnell. Oder es könnte ein Wackelkontakt sein. Ist natürlich schwer zu 
diagnostizieren, denn wenn ein Wackel vorliegt, können auch ganz andere 
Dinge pasieren.
Wenn das Display in nem Steckbrett ist, würde ich mal versuchen, es 
irgendwo an einer anderen Position auf dem Brett einzustecken. Denn 
vielleicht ist ja irgend einer der "Stecker" in deinem Brett defekt? 
verschmutzt? ausgeleiert?

Probier doch einfach mal drauflos. Du siehst schon wenns klappt ;) nicht 
gleich verzweifeln wenns nicht geht. Basteln ist da angesagt ;)

von Jadeclaw D. (jadeclaw)


Lesenswert?

S. H. wrote:
> interrupts hab ich (noch) keine, das soll mal n wecker werden, d.h. ein
> zeittakt kommt noch!

Dann tippe ich erstmal auf Timingprobleme.

S. H. wrote:
> aber könnte es auch daran liegen, dass meine elkos und kondensatoren zu
> klein sind?

Wenn nur Controller und Display dranhängen, nicht, hängt da noch die 
Displaybeleuchtung mit dran, sind 2 x 200µF am Gleichrichter etwas 
wenig.

@Nixweiss wrote:
> aber nur dann wenn er in der interrupt routine
> die register mit push und pop nicht sichert

Ich habe diesen Effekt auch bei vollständiger Sicherung aller relevanten 
Register. Ich kann nur vermuten, daß die AVR-Peripherie nicht 
Interruptsicher ist und dadurch Spikes an den Ausgängen auftreten, die 
dann eine unerwünschte Datenübernahme am Display auslösen. Packe ich das 
Displayupdate in die Interruptroutine, ist Ruhe.

Gruß
Jadeclaw.

von Stephan H. (stephan-)


Lesenswert?

sag mal S.H. warst du nicht der, der gestern erst 90 Beiträge hatte um 
die Beleuchtung des Display´s hinzukriegen ???
90 !!! wgene einem Widerstand....ts ts ts

Beitrag "Stromverbrauch LCD-Beleuchtung"

Ich denke etwas Fleißarbeit und Grundlagen lernen würde Dir so einiges 
leichter machen.

Falls Du es nicht warst, vergiss es. Trotzdem sind Schaltplan und Code 
immer noch die beste Vorruasetzung für Hilfe von anderen.
Die haben nämlich auch was zu tun und bei den meisten ist die Glaskugel 
gerade beim TÜV.

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.