Initialisierungsfolge fuer EA DOGM 163 SPI 3.3V

OP Persönliche Seite #903491
Lesenswert?

Hallo Forum,

ich hab etliche alte Threads gewaelzt und versucht, herauszufinden, 
welche Initialisierungsfolge man braucht, um das EA DOGM 163 (3 Zeilen) 
per SPI und 3.3V anzusteuern.

Leider funktioniert nichts von dem, was ich ausgegraben habe, selbst mit 
grosszuegigen timings. Ach die Beispielfolgen aus dem Datenblatt wollen 
nicht tun bei mir.

Generelle Fehler bei der Datenuebertragung kann ich nunmehr zumindest 
ausschliessen - das ist OK. Ich waere dankbar, wenn mal jemand eine 
C-Routine bzw. seine Initialisierungsroutine posten koennte.

Aber bitte GENAU fuer dieses Display und bei dieser Spannung, denn die 
Initialisierung ist bei 5V anders als bei 3.3V.

Schonmal danke.
Michael
#903606
Lesenswert?

Hast du schon das Datenblatt des Displaycontrollers gefunden? Da steht 
auch ein Initialisierungsbeispiel für SPI drin und alle möglichen 
Timings usw.

Ich überlege auch gerade, ob ich mir dieses Display zu Übungszwecken 
kaufen soll, denn das S65 Display bekomme ich an meinem 8051er nicht so 
einfach zum Laufen. Bei diesem steht aber sogar ein Programmbeispiel für 
die Initialisierung mit dem 8051er über SPI im Datenblatt des 
Controllers.

Habs mal angehangen...
Angehängte Dateien:
OP Persönliche Seite #903609
Lesenswert?

Daniel, danke. Natuerlich hab ich das Datenblatt.
Ich hab das Display auch soweit dass es etwas anzeigt, aber fast 
unsichtbar. Das scheint mir ein Problem mit dem Kontrast oder sonst 
irgendeiner Einstellung zu sein. An den Timings kann es nicht liegen, da 
ich testweise 10ms (und mehr) Verzoegerung eingebaut habe.

Bloederweise scheint jeder ne andere Initialisierungsfolge zu verwenden. 
Ich habe auch schon versucht an den Kontrastwerten usw. zu drehen, 
leider ohne Erfolg. Anscheinend haben andere mit der 
Initialisierungsfolge aus dem Datenblatt auch schon Probleme gehabt. 
Dann muss es ja ein Problem mit der Schaltung sein bei mir. Aber das 
glaub ich dann auch wieder nicht, da die Daten ja ankommen und 
ausgewertet werden...
#903611
Lesenswert?

Ok, war nur so einen Idee, da das Datenblatt nur indirekt verlinkt war. 
=)

Mal ne andere Frage... Nach dem, was in dem Datenblatt vom Controller 
steht, müsste man das Display doch auch mit 3V betreiben können, oder?

Oder gibt es noch andere wichtige Komponenten im Display, die unbedingt 
die 3,3V brauchen?

Die Hintergrundbeleuchtung (weiß) hat 3,2V Forward Voltage, sollte also 
auch direkt mit 3V gehen, nur eben nicht ganz so hell, oder?

Habe mir soeben auch das Display bestellt, da ich es sehr schick finde 
und schön kompakt ist.
Problem ist, dass mein Testboard (womit ich das Display nutzen will) mit 
3V läuft. Im Notfall könnte ich den 3V Regler gegen einen 3,3V Regler 
austauschen, aber nur ungerne.

Und noch was: Mit welcher Frequenz betreibst du das SPI Interface?
OP Persönliche Seite #903614
Lesenswert?

Daniel Reinke wrote:
> Ok, war nur so einen Idee, da das Datenblatt nur indirekt verlinkt war.
> =)

Joa das wesentliche aus diesem Datenblatt steht ja auch schon im 
"Datenblatt" zu dem Display selbst ;) Ich mein das meiste dort bezieht 
sich auf die Verwendung des Controllers, das ist aber recht uwesentlich 
fuer meine Applikation, da ich ja kein Display entwickeln will.

> Mal ne andere Frage... Nach dem, was in dem Datenblatt vom Controller
> steht, müsste man das Display doch auch mit 3V betreiben können, oder?

Man kann es mit 3.3V betreiben, ja.

> Oder gibt es noch andere wichtige Komponenten im Display, die unbedingt
> die 3,3V brauchen?
>
> Die Hintergrundbeleuchtung (weiß) hat 3,2V Forward Voltage, sollte also
> auch direkt mit 3V gehen, nur eben nicht ganz so hell, oder?

Mit 3V wird da garnichts gehen. Mit 3.3V und einem entsprechend kleinem 
Widerstand geht es allerdings.

> Habe mir soeben auch das Display bestellt, da ich es sehr schick finde
> und schön kompakt ist.

Welches? Ich hoffe Du hast auch das Beleuchtungsmodul mitbestellt? ;)

> Problem ist, dass mein Testboard (womit ich das Display nutzen will) mit
> 3V läuft. Im Notfall könnte ich den 3V Regler gegen einen 3,3V Regler
> austauschen, aber nur ungerne.

Ne mit 3V geht da nichts.

> Und noch was: Mit welcher Frequenz betreibst du das SPI Interface?

250KHz.

Gruss,
Michael
#903618
Lesenswert?

Ok, im Notfall muss ich dann halt nen 3,3V Regler auflöten.

Hintergrundbeleuchtung hab ich natürlich mitbestellt! Habe die schwarze 
Version genommen mit weißer Hintergrundbeleuchtung.

Hast du die Codebeispiele aus den anderen Threads hier im Forum schon 
ausprobiert?

Wie sehen eigentlich die Pins vom Display aus, kann man die auf eine 
Sockelleiste mit runden Löchern stecken? Wäre sehr praktisch...
Gast #903638
Lesenswert?

Ich habe schon die verschiedensten DOGM von Reichelt verwendet (auch die 
Grafik-Typen) und ich habe immer mit der Initialisierung aus dem 
mitgelieferten Datenblatt erfolg gehabt.
Irgendwas muss an der Hard- oder Software faul sein.
- alle Kondensatoren richtig angeschlossen (sind für die 
Kontrastspannung wichtig!)
- Phasenlage der SPI richtig?
- Spannungsversorgung sauber? (Abblockkondensatoren)
#904020
Lesenswert?

@thilo
naja die Beschaltung mit 3.3V und 5V ist auch softwaretechnisch anders 
zu behandeln. -> Ladungspumpe an oder aus halt.

Zum Thema Display in Praezisionsfassungen stecken (die runden) -> jupp 
geht habe ich gemacht. Natuerlich nicht so schoen smoothig wie wenns 
runde Kontakte waeren, aber geht.

cu Tarzanwiejane
Angehängte Dateien:
OP Persönliche Seite #904078
Lesenswert?

Hi Leute,

heute nacht waren anscheinend die Klabautermaenner bei mir. Hab das Teil 
eingeschalten und auf einmal tut es... und zwar reproduzierbar und nicht 
sporadisch! Und das obwohl ich seit gestern nichts mehr geaendert habe. 
Auch toll :P

Ach ja: Ich verwende momentan die im EA Datenblatt ausgezogene 
Initialisierungsfolge (0x39, 0x15, 0x55, 0x6E, 0x72, ...).
OP Persönliche Seite #904082
Lesenswert?

Matthias wrote:
> Die Beschaltung von C3 und der PINS 24,25 ist falsch. Reset sollte auf H
> liegen, der C ist nicht erforderlich.
>
> Als Anlage ein Beispiel für alle 1-3 Zeilige DOG-M Displays in C mit
> Soft-SPI für 8051 µC. Kannst Du leicht auf AVR anpassen.

Danke Matthias ;) Deinen Code hatte ich auch bereits ausgegraben aus der 
Codesammlung - ist nicht schlecht. Sogar mal gut lesbar im Vergleich zu 
manch anderen Beitraegen. Du hast auch die Initialisierungsfolge aus dem 
Datenblatt verwendet, die ja auch tatsaechlich tut.
Gast #904203
Lesenswert?

> Die Beschaltung von C3 und der PINS 24,25 ist falsch. Reset sollte auf H
> liegen, der C ist nicht erforderlich.

@ Michael G.
> Erm was soll daran falsch sein? Und Reset liegt auf High!

+3V3 muss an VIN (Pin 25) nicht an VOUT! Das Reset nicht auf H liegt 
habe ich nicht geschrieben, nur das der C nicht sein muss.
Angehängte Dateien:
Gast #904433
Lesenswert?

Kannst du vllt mal deinen Code posten mit dem es jetzt auf 5V läuft da 
ich leider auch schon erfolglos seit einiger Zeit versuche so ein 
Display zum laufen zu bekommen und ich mich inzwischen frage ob das 
überhaupt noch geht.
Wäre echt nett von dir.

Grüße Puppetmaster
#1086877
Lesenswert?

So, habe jetzt alles versucht was ihr hier und anderweitig geschireben 
habt und es tut bei mir trotzdem nicht!!!
Ich benutze ein DOGM163, welches ich über SPI von einem Pic18f25K20 
ansteuern will...
Hier mein aktueller Source Code:

#include <p18f25k20.h>
#include "system.h"

#define  CSB  LATCbits.LATC2
#define  RS  LATCbits.LATC1

void main(void)
{
TRISCbits.TRISC1 = 0;
TRISCbits.TRISC2 = 0;
TRISCbits.TRISC3 = 0;
TRISCbits.TRISC4 = 1;
TRISCbits.TRISC5 = 0;        //x, x, SDO, SDI, SCK, CSB, RS, x
SSPCON1 = 0x30;            //x, x, SPI-Portfreigabe, Ruhetakt high, 
Clock = max
SSPSTATbits.SMP = 0;
SSPSTATbits.CKE = 1;

CSB = 0;
RS = 0;

send(0x39);
send(0x15);
send(0x55);
send(0x6E);
send(0x72);
send(0x38);
send(0x0F);
send(0x01);
send(0x06);
RS = 1;
send(0x41);
while(1);
}


unsigned char text;
int bin;
void send(unsigned char text)
  {

  CSB = 0;
     SSPBUF = text;
  while(!SSPSTATbits.BF);
  bin = SSPBUF;
  CSB = 1;
  }

hab jetzt mal alles in ein File gemacht um meinen Code vollständig 
zeigen zu können...
in system.h deklariere ich nur die erzeugten Funktionen....
im Anhang dann noch mein Schaltplan dazu

Habe schon überlegt ob das Problem an der Dimensionierung der Display 
Kondensatoren liegt, aber sie bewegen sich beide im vorgegebenen 
Bereich, was meint ihr?

schonmal ein großes Dankeschön an diejanigen, die sich die Zeit nehmen 
nem Verzweifelten zu helfen^^
Angehängte Dateien:
OP Persönliche Seite #1086890
Lesenswert?

Hm den Post vom Puppenmeister hab ich leider nich mehr mitbekommen. Hier 
mal die Initialisierungsfolge, die ich verwendet habe:
1
void display_init(void)
2
{
3
#if BOARD_VOLTAGE == 33
4
  display_send(0x39, CMD); // 8 bits data length, 2 rows, instruction table 1
5
  display_send(0x15, CMD); // bias 1/5, 3 rows
6
  display_send(0x55, CMD); // booster on (3V3=>5V), contrast to internal follower mode
7
  display_send(0x6E, CMD); // follower control
8
  _delay_ms(200);          // wait until the voltage is stable
9
  display_send(0x72, CMD); // set contrast
10
#elif BOARD_VOLTAGE == 50
11
  display_send(0x39, CMD); // 8 bits data length, 2 rows, instruction table 1
12
  display_send(0x1D, CMD); // bias 1/4, 3 rows
13
  display_send(0x50, CMD); // booster off, contrast to internal follower mode
14
  display_send(0x6C, CMD); // follower control
15
  display_send(0x7B, CMD); // set contrast
16
#else
17
# error "Invalid BOARD_VOLTAGE, use 33 for 3V3 and 50 for 5V."
18
#endif
19

20
  display_send(0x38, CMD); // back to instruction table 0
21
  display_cursor(0);       // display on, cursor off
22
  display_clear();         // clear display and return to home position
23
}
OP Persönliche Seite #1913710
Lesenswert?

Oh da wurde mal wieder ein alter Fred von mir ausgegraben :P
Beitrag "Re: Initialisierungsfolge fuer EA DOGM 163 SPI 3.3V"

Das funktioniert schon. Ich weiss jetzt allerdings nicht, wie weit ich 
da Code und Schaltung noch geaendert habe...

Schaltung und Code sind jedenfalls in einer funktionsfaehigen Form hier:
http://svn.coremelt.net/avr/display_module/

Greets,
Michael
#2035063
Lesenswert?

Auch ich habe nach langen suchen und von diesem Display angenervt sein 
ein eigenes c/h-file erstellt. Wie ich finde besser als alles andere 
dokumentiert und auch fast alle Funktionen aus dem Handbuch. Die da 
wären:

spi_init
void spi_transmit
reset_CSB
write_instruction
write_char
write_string
init_3lines
init_doublehigh_upper
init_doublehigh_lower
set_cursor
clear
cursor_home
cursorON_blinkOFF
cursorON_blinkON
cursorOFF_blinkOFF
cursorOFF_blinkON
turnOFF
set_contrast
set_character

geschrieben für Hardware SPI.
Angehängte Dateien:
#2035065
Lesenswert?

So, ich bin total angenervt aber aber ich habe mein eigenes c/h-file 
erstellt. Wie ich finde besser als alles andere dokumentiert und auch 
fast alle Funktionen aus dem Handbuch. Die da wären:

spi_init
void spi_transmit
reset_CSB
write_instruction
write_char
write_string
init_3lines
init_doublehigh_upper
init_doublehigh_lower
set_cursor
clear
cursor_home
cursorON_blinkOFF
cursorON_blinkON
cursorOFF_blinkOFF
cursorOFF_blinkON
turnOFF
set_contrast
set_character

geschrieben für Hardware SPI.
Angehängte Dateien:
Gast #6735178
Lesenswert?

Daniel R. schrieb:
> Ich habe das "EA DOGM163S-A  DOG-Serie 3,3V Hintergrund: schwarz"
> von Reichelt bestellt. Also das, wo nur die Schrift weiß ist. Finde ich
> sehr schick, daher hab ich das bestellt.

Ich würde gerne dieses Display ohne Hintergrundbeleuchtung verwenden. 
Wie sind eure Erfahrungen dazu? Ist der Text unter normalem 
Umgebungslicht lesbar? Ich möchte extra auf backlight verzichten, da das 
Display nachts stören würde. Ein E-ink Display erscheint mir für meine 
Aufgabe zu träge, deshalb denke ich dass das Dogm163s mit weissem 
Vordergrund optimal wäre. Ich habe nur wegen der Leslichkeit ohne 
Hintergrundbeleuchtug Bedenken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren