Forum: Mikrocontroller und Digitale Elektronik Arduino LCD Display spinnt rum


von peetr (Gast)


Lesenswert?

Hi,
ich habe folgendes Problem:
Wenn ich bei meinem Arduino Mega mein LCD Display ansteuere funktioniert 
zunächst alles ganz gut, doch nach einiger Zeit hängt das Display sich 
auf.
Entweder es kommen erst kryptische Zeichen, oder es fängt direkt an das 
ganze Display voll mit diesen Balken zu  machen. Soweit ich das sehe, 
kommt das durch aufrufen von lcd.print("xy"); ... Also eigentlich soll 
das was hingeschrieben werden und dann dreht das ganze durch. Aber 
vorher funktioniert es halt...

Kann dies an einer Außentemperatur von 5° liegen?


Und noch eins... Wenn eine Zeile überschrieben wird, also Zeile 1(0) 
voll ist, dann schreibt der in Zeile 3(2) weiter  und nicht in 2(1)... 
Wie kann man das ändern?


Hier noch ein Link zum Display:
http://www.amazon.de/gp/product/B00ALNHTVY/ref=oh_details_o00_s00_i00?ie=UTF8&psc=1

von spess53 (Gast)


Lesenswert?

Hi

>Entweder es kommen erst kryptische Zeichen, oder es fängt direkt an das
>ganze Display voll mit diesen Balken zu  machen.

Wie lang ist das Kabel zum Display?

>Kann dies an einer Außentemperatur von 5° liegen?

Temperatur wirkt sich bei den meisten Displays auf den Kontrast aus.

>Hier noch ein Link zum Display:
>http://www.amazon.de/gp/product/B00ALNHTVY/ref=oh_...

Das Datenblatt ist interessant, nicht wo du es gekauft hast.

MfG Spess

von peetr (Gast)


Lesenswert?

Da ich das dort gekauft habe und es da kein richtiges Datenblatt gibt, 
habe ich auch nur das...

Und das kabel dürfte vllt. 30cm sein?

Und wenn man ganz schräg auf das display guckt, dann sieht man noch 
andere zeichen daneben. also vordergründig die balken und dahinter was 
anderes. Aber aufjedenfall wird halt was anderes geschrieben als es 
soll. Z.b. kommt am anfang manchmal auch anstatt einer 0 eine 3 aufs 
display, und kurz danach die balken und so. Aber das programm läuft 
trotzdem ganz normal weiter...

Da das dieser Treiber ist, dürfte das das datenblatt sein:
https://www.google.de/search?q=ks0066+datasheet&oq=ks&aqs=chrome.1.69i59l2j69i57j0l3.2222j0j7&sourceid=chrome&espv=210&es_sm=122&ie=UTF-8

von Kaj (Gast)


Lesenswert?

Hier ist ein thread in dem es genau um den in deinem Disaply verbauten 
Treiber-IC geht:
Beitrag "LCD (Ks0066) initialisieren"
vielleicht findest du da ja was interessantes

Grüße

von Christian B. (chbalnuweit)


Lesenswert?

Welche LCD Library verwendest du? Bei mir hat es schonmal geholfen, das 
Timing heraufzusetzen.

von Karl H. (kbuchegg)


Lesenswert?

> Kann dies an einer Außentemperatur von 5° liegen?

Kannst du ja ausprobieren.

Läuft deine Schaltung im warmen Zimmer problemlos ein paar Stunden 
durch, tritt das Problem aber auf, wenn du die Schaltung nach draussen 
karrst, dann ist der Gedanke nicht von der Hand zu weisen, dass die 
Temperatur was damit zu tun haben könnte. Stürzt das Teil aber im warmen 
Zimmer genauso ab, dann wirds wohl nicht die Temperatur draussen sein. 
So ein Arduino ist ja keine Frau, der rein beim rausschauen aus dem 
Fenster schon kalt wird.

von Karl H. (kbuchegg)


Lesenswert?

> Und noch eins... Wenn eine Zeile überschrieben wird, also Zeile 1(0)
> voll ist, dann schreibt der in Zeile 3(2) weiter und nicht in 2(1)...
> Wie kann man das ändern?

Wenn sich deine LCD-Funktionen nicht darum kümmern, dann: gar nicht.
Das Verhalten ist der internen Speicherorganisation des LCD geschuldet.

Du weißt doch, was du aufs LCD ausgibst. Schreib halt nicht über das 
Zeilenende hinaus und das 'Problem' ist keines mehr.

von spess53 (Gast)


Lesenswert?

Hi

>Da ich das dort gekauft habe und es da kein richtiges Datenblatt gibt,
>habe ich auch nur das...

Was steht denn für eine Bezeichnung auf dem Display.

>Und das kabel dürfte vllt. 30cm sein?

Mach es mal kürzer.

>Z.b. kommt am anfang manchmal auch anstatt einer 0 eine 3 aufs
>display, und kurz danach die balken und so. Aber das programm läuft
>trotzdem ganz normal weiter...

Deinem Arduino ist es egal, was das Display anzeigt.

>Und noch eins... Wenn eine Zeile überschrieben wird, also Zeile 1(0)
>voll ist, dann schreibt der in Zeile 3(2) weiter  und nicht in 2(1)...
>Wie kann man das ändern?

Die meisten 4-Zeiligen Displays haben für die Zeilen folgende Adressen 
im DD-Ram:

   1.Zeile   2.Zeile   3.Zeile   4.Zeile
   $00-$13   $40-$53   $14-$27   $54-$67

Also musst du um in die Zeile 2 zu kommen die DDRam-Adresse auf 0x40 
setzen.

MfG Spess

von peetr (Gast)


Lesenswert?

Ich schalte mithilfe folgendem Prinzip eine Pumpe mit Arduino:
http://www.kriwanek.de/arduino/aktoren/304-lasten-mit-power-mosfet-schalten.html

Und ich habe das gefühl das, das das problem irggendwie ist. Sobald ich 
die pumpe abklemme passiert nie was, und wenn sie dran ist kommt das 
halt... Zudem höre ich manchmal am pc dieses USB einsteck/aussteck 
signal.
Ich will doch nur das  die Anzeige nicht so durchdreht ;(...

von spess53 (Gast)


Lesenswert?

Hi

>Und ich habe das gefühl das, das das problem irggendwie ist. Sobald ich
>die pumpe abklemme passiert nie was, und wenn sie dran ist kommt das
>halt... Zudem höre ich manchmal am pc dieses USB einsteck/aussteck
>signal.

Nett das solche Fakten auch schon kommen.

Rein vom Gefühl her würde ich sagen: Du hast ein Problem mit der 
Stromversorgung. Zeige mal den genauen Schaltplan.

>Ich will doch nur das  die Anzeige nicht so durchdreht ;(...

Nicht rumheulen, die dreht nicht durch wenn man es richtig macht.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

peetr schrieb:
> Ich schalte mithilfe folgendem Prinzip eine Pumpe mit Arduino:
> http://www.kriwanek.de/arduino/aktoren/304-lasten-mit-power-mosfet-schalten.html

Aha!
Das ist dann schon ganz was anderes als eine Aussentemperatur von 5°

> Und ich habe das gefühl das, das das problem irggendwie ist. Sobald ich
> die pumpe abklemme passiert nie was, und wenn sie dran ist kommt das
> halt... Zudem höre ich manchmal am pc dieses USB einsteck/aussteck
> signal.


... wenn der Arduino angesteckt ist?

Dann liegt der Schluss nahe, dass die ganze Michpoke abstürzt. Was 
wiederrum ein Hinweis sein könnte, dass dein Problem in der 
Stromversorgung zu finden ist, weil dir die Pumpe wenn sie läuft da eine 
Menge elektrischen Schmutz auf die Schaltung gibt.

> Ich will doch nur das  die Anzeige nicht so durchdreht ;(...

Ja, ich will auch viel.
Deswegen muss man trotzdem sinnvoll und vernünftig und mit den richtigen 
Fakten mit der Problemanalyse anfangen.
Wenn dein LCD keine Probleme macht, wenn die Pumpe nicht läuft, sehr 
wohl aber wenn die Pumpe läuft, dann wird das Problem ja wohl nicht die 
Temperatur sein. Das Problem wird wohl auch nicht das LCD sein (obwohl 
das sein könnte), sondern es wird die Pumpe sein bzw. irgendwas was die 
beiden Schaltungsteile gemeinsam haben. Und das ist zb dass sie eine 
gemeinsame Stromversorgung oder zumindest eine gekoppelte 
Stromversorgung (wegen der Masseverbdindung) haben.

: Bearbeitet durch User
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.