mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Komisches LCD-Verhalten


Autor: S. H. (fat32)
Datum:

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

Autor: S. H. (fat32)
Datum:

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

Autor: Troll Blaubär (blaubeer)
Datum:

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

Autor: S. H. (fat32)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab alles genauso gemacht wie im tutorial beschrieben

Autor: Troll Blaubär (blaubeer)
Datum:

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

Autor: S. H. (fat32)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verarsch mich nicht
gib mir lieber ratschläge

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

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

Autor: Christopher Bock (chris_muc)
Datum:

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

Autor: Troll Blaubär (blaubeer)
Datum:

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

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

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

Gruss
Jadeclaw.

Autor: Troll Blaubär (blaubeer)
Datum:

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

Autor: Nixweiss (Gast)
Datum:

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

Autor: S. H. (fat32)
Datum:

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

Autor: S. H. (fat32)
Datum:

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

Autor: Nixweiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sieht nach wackelkontakt aus-einfach mal anden kabelenden ziehen.

Autor: S. H. (fat32)
Datum:

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

Autor: S. H. (fat32)
Datum:

Bewertung
0 lesenswert
nicht 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/6367...
>
> 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!

Autor: S. H. (fat32)
Datum:

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

Autor: Tobias Plüss (hubertus)
Datum:

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

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

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

Autor: Stephan Henning (stephan-)
Datum:

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

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.