Forum: Mikrocontroller und Digitale Elektronik Initialisierung LCD EA DOG-M 163 3,3V 4 Bit


von Yaro (Gast)


Lesenswert?

Hallo Leute,

ich versuche schon seit längerer Zeit, das EA DOG-M 163 zum laufen zu 
bringen, aber es will einfach nicht initialisieren.

Mit 5V läuft es schon, aber mit 3.3V klappt es nicht.

Ich benutze eine leicht abgewandelte Version der LCD lib, die hier im 
tutorial vorgestellt wird.

Die 5V init ist auch aus einem Beitrag und sieht folgendermaßen aus:
1
#define OPCODE_CLEAR_DISPLAY      0b00000001
2
#define OPCODE_FUNCTION_SET_INIT_0  0b00110011
3
#define OPCODE_FUNCTION_SET_INIT_1  0b00110010
4
#define OPCODE_FUNCTION_SET_INIT_2  0b00101001
5
#define OPCODE_INSTRUCTION_SET_0    0b00101000
6
#define OPCODE_INSTRUCTION_SET_1  0b00101001
7
#define OPCODE_BIAS_SET       0b00010101
8
#define OPCODE_POWER_CONTROL   0b01010000 
9
#define OPCODE_FOLLOWER_CONTROL   0b01101100
10
#define OPCODE_CONTRAST_SET     0b01111111
11
#define OPCODE_DISPLAY_ON     0b00001111       
12
#define OPCODE_ENTRY_MODE       0b00000110
13
14
15
    lcd_command(OPCODE_FUNCTION_SET_INIT_0);
16
    lcd_command(OPCODE_FUNCTION_SET_INIT_1);
17
    lcd_command(OPCODE_FUNCTION_SET_INIT_2);
18
19
    lcd_command(OPCODE_BIAS_SET);
20
    lcd_command(OPCODE_POWER_CONTROL);
21
    lcd_command(OPCODE_FOLLOWER_CONTROL);
22
    lcd_command(OPCODE_CONTRAST_SET);
23
    lcd_command(OPCODE_INSTRUCTION_SET_0);
24
    lcd_command(OPCODE_DISPLAY_ON);
25
    lcd_command(OPCODE_CLEAR_DISPLAY);
26
    lcd_command(OPCODE_ENTRY_MODE);

für 5V habe ich folgendes geändert:
#define OPCODE_BIAS_SET       0b00011101  //5V: 0b00010101
#define OPCODE_POWER_CONTROL      0b01010100    //5V: 0b01010000
#define OPCODE_FOLLOWER_CONTROL   0b01101111   //5V war: 0b01101100

Und natürlich Kondensatoren drangemacht.

Trotzdem geht es nicht.

Sieht jemand einen fehler?
von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Hallo Yaro,

Hast du mal Wartezeiten eingefügt. Ich kenne die EA DOG jetzt nicht aber 
HD44780 usw. benötigen für die Befehle immer Zeiten im ms Bereich. Laut 
DB des EA DOG benötigt ein Clear bereits 1ms, die Initialisierung dürfte 
einiges Länger dauern. Ich würde pauschal zum Test nach jedem Befehl mal 
10ms Wartezeit einfügen. Wenn das dann klappt kannst du die Zeiten 
wiederrunter nehmen.

Ich tippe mal das die Ladungspumpe etwas Zeit benötigt um sich einzu 
schwingen un das Disp darauf wartet oder ähnliches.

MfG

Tec

Edit gerade gesehen

http://www.mikrocontroller.net/attachment/36547/st7036.pdf

Seite 39

Das disp benötigt 40ms zum Starten nach dem Poweron, Hast du diese Zeit 
drin?
von spess53 (Gast)


Lesenswert?

Hi

Und auch zwischem dem ersten und zweiten Function Set muss eine größere 
Wartezeit rein.

MfG Spess
von Yaro (Gast)


Lesenswert?

Hab jetzt deutlich  größere Wartezeiten eingefügt (und zwischem dem 
ersten und zweiten Function Set noch zusätzlich 5ms)
Hat aber trotzdem nichts gebracht

Hab außerdem die Schaltung nochmal überprüft.

Meine Kondensatoren sind 0.33µ Tantal an CAP1N und CAP1P  und 1µ an VIN 
und VOUT
von spess53 (Gast)


Lesenswert?

HI

>Meine Kondensatoren sind 0.33µ Tantal an CAP1N und CAP1P  und 1µ an VIN
>und VOUT

Da sollten Keramikkondensatoren hin.

MfG Spess
von Yaro (Gast)


Lesenswert?

Hab jetzt an meinen Kontakten im Steckbrett etwas gewackelt, und nun 
initialisiert meine Funktion, aber das ganze Bild ist nun schwarz und es 
lässt sich nicht löschen.
Ich gehe mal davon aus, dass ich den Contrast falsch eingestellt habe.


Aber: ich hab jetzt hier: http://embdev.net/topic/126291 ne init 
gefunden, die funktioniert.

Werd jetzt da den richtigen Kontrastwert heraussuchen und in meine Init 
einbauen.

Im Endeffekt wars ein blöder Fehler... meine Kontakte sind ausgeleiert 
und etwas korrodiert.

Vielen Dank trotzdem für die Antworten!

Gruß, Yaro
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.