Forum: Mikrocontroller und Digitale Elektronik Probleme mit EA W62B-N3LW LCD an STK 500


von Lars R. (poempel)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Lese schon einige Zeit hier mit, bekomme aber leider mein LCD Display 
nicht zum laufen.

Habe zwei EA W162B-N3LW.
Das 1. Display zeigt in der ersten Zeile "Test" und in der zweiten Zeile 
"Hello Wo" an, also schneidet nach dem 8. Zeichen ab.

Das zweite Display hab ich mir bestellt da ich dachte das erste sei 
kaputt, dieses zeigt aber gar nichts an, mit gleichem Versuchs-Aufbau!

Am Anfang hat keins von beiden funktioniert, dann habe ich die Ausgänge 
auf Port B umgestellt und mit den Zeiten ziemlich viel versucht. Habe 
Sie jetzt alle stark verlängert und jetzt funktioniert es wie oben 
beschrieben.

Hat jemand eine Idee an was das liegen kann bzw. was ich noch probieren 
kann damit es funktioniert?

Vielen Dank im voraus!

von Lars R. (poempel)


Angehängte Dateien:

Lesenswert?

Hier noch die Files

von spess53 (Gast)


Lesenswert?

Hi

>Hat jemand eine Idee an was das liegen kann bzw. was ich noch probieren
>kann damit es funktioniert?

Schon mal am Kontrastregler gedreht?

MfG Spess

von Lars R. (poempel)


Angehängte Dateien:

Lesenswert?

Ja, habe mal Bilder angehängt wie es aussieht wenn ich am Kontrastregler 
drehe.

Müsste da normalerweise nicht alle Felder sichtbar sein?

von spess53 (Gast)


Lesenswert?

Hi

Lt. Datenblatt sollte zwischen Vee und Vcc eine Spannung von ca. 3,4V 
anliegen. Was heißt bei dir 'voll' bzw. 'halb'.

An den Bildern ist es nicht zu erkennen: Hat deine Beleuchtung einen 
Vorwiderstand?

MfG Spess

von google (Gast)


Lesenswert?

Die Beleuchtung hat keinen Vorwiderstand und das Display keine  +5V 
Spannungsversorgung. Prüfe die Beschaltung!

von Lars R. (poempel)


Lesenswert?

Mit "halb" bzw. "voll" war die der visuelle Eindruck am Display gemeint.
Habe eben nochmal nachgemessen:

Pin 1  --> Masse
Pin 2  --> 5 Volt
Pin 3  --> 0,0 Volt bei "Voll"
       --> 0,3 Volt bei "Halb"

Pin 15 --> 3,5Volt (56 Ohm Widerstand)
Pin 16 --> Masse

von Lars R. (poempel)


Angehängte Dateien:

Lesenswert?

Das dürfte doch so passen, oder?

von google (Gast)


Lesenswert?

Ok, Beschaltung scheint ok zu sein, auf den allerersten Bildern sah das 
anders aus.

von google (Gast)


Lesenswert?

Welchen Wert hat das Poti?

von google (Gast)


Lesenswert?

Die Beschaltung kann es nicht sein, das erste Display funktioniert ja, 
es gibt nur ein Problem mit der Zeilenlänge der zweiten Zeile. (DD-RAM 
Anordnung im Display unüblich?) Beim Einsetzen des zweiten Displays gibt 
es wohl ein Kontaktproblem oder es ist defekt.

Warum die zweite Zeile nur 8 Buchstaben zeigt trotz offensichtlich 
korrekter Einstellungen kann ich gerade nicht beantworten.

von Lars R. (poempel)


Angehängte Dateien:

Lesenswert?

Ist ein 5k Ohm Poti.

Habe eben etwas experimentiert.
Also die erste Zeile zeigt auch maximal 8 Buchstaben an.
Auf dem Display ist auch nach dem 8 Feld (egal ob 1. oder 2. Zeile) kein 
Kontrast mehr zu sehen, Display eventuell Defekt?

Habe mir deswegen ja nochmal eins bestellt, aber bei dem komm ich ja 
nichtmal soweit das es mir überhaupt irgendwelche Buchstaben anzeigt.

Wenn ich die Zeiten auf die Standardwerte von dem Tutorial (hier aus dem 
Forum) setze, zeigt es mir nur noch komische Zeichen an (siehe Bild 2 
StandardZeitwerte).

Die DD-RAM Adressen sind im Datenblatt mit

1. Zeile : $00-$0F
2. Zeile : $40-$4F

angegeben.

In der lcd-routines.h habe ich dazu folgende Einstellungen gefunden

#define LCD_DDADR_LINIE1     0x00
#define LCD_DDADR_LINIE2     0x40

das dürfte ja so passen oder?

Was mir beim durchschauen noch aufgefallen ist ist die Einstellung

#define LCD_SET_DDADR       0x80

Stimmen die 0x80?

von spess53 (Gast)


Lesenswert?

Hi

>Was mir beim durchschauen noch aufgefallen ist ist die Einstellung
>#define LCD_SET_DDADR       0x80
>Stimmen die 0x80?

Ja. Sieh dir den Befehlssatz des Displays an.

MfG Spess

von google (Gast)


Lesenswert?

Die Displays sind nicht defekt. Beim zweiten hast Du offensichtlich ein 
Kontaktproblem. Warum die Displays sich wie 2x8 verhalten, ist mir 
gerade nicht klar. Vom Setup her scheint alles richtig zu sein.

von google (Gast)


Lesenswert?


von google (Gast)


Lesenswert?

Versuch mal das hier mit Deinem ersten Display:

Beitrag "Re: Komisches Verhalten mit lcd_puts"

So müßte sich das Problem der 8 Zeichen pro Zeile eigentlich klären 
lassen.

von Lars R. (poempel)


Lesenswert?

Also so ganz komme ich mit dem Beitrag nicht klar.
Habe jetzt mal unterschiedliche Sachen probiert z.B. ein Buchstabe in 
die 1. Zeile auf das 15. Position zu schreiben --> zeigt nichts an.

Mir scheint es, also gebe es für das Programm die letzten 8 Zeichen der 
zwei Zeilen gar nicht. Egal was ich versuche, mir zeigt es dort nie ein 
Zeichen an. Auch jedes mal wenn ich ein Programm auf den Microcontroller 
lade, leuchten während dem Vorgang nur die ersten 8 "Felder".

Habe dann nocht die #define Werte von


#define LCD_DDADR_LINE1         0x00
#define LCD_DDADR_LINE2         0x40

in

#define LCD_DDADR_LINE1         0x00
#define LCD_DDADR_LINE2         0x28

umgeändert. Blieb bei der selben Ausgabe am Display.

Wenn ich dann in der

1. Zeile --> 
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw123456789" und in der
2. Zeile --> "Hello World"

zeigt er mir

1. Zeile --> ABCDEFGH
2. Zeile --> Hello Wo

an.

Lass ich das Hello World in der zweiten Zeile Weg, erscheint

1. Zeile --> ABCDEFGH
2. Zeile --> opqrstuv

von google (Gast)


Lesenswert?

Dein Display ist wohl recht Timing-empfindlich, wenn man diversen 
Internetfundstellen glauben darf. Mit welchem Takt läuft Dein 
Controller? 20 MHz, wie in der lcd-routines.h angegeben?

von google (Gast)


Lesenswert?

2 MHz, hab eine Null zuviel getippt.

von Lars R. (poempel)


Lesenswert?

Ja genau, so zumindestens meine Annahme.
Das muss ich ja --> in der lcd-routines.h,
                --> bei Fuses --> SUT_CKSEL --> Int. RC Osc. 2MHz; 
Start-up time: 6CK + 0ms
                --> bei Advanced --> Oscillator Calibration Byte --> 2 
Mhz

auswählen, richtig?

Verwende AVR Studio 4

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.