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
AHA... ich seh grad dass das Display offensichtlich initialisiert ist aber der Kontrast quasi auf Null ist...!
Also am Kontrast liegt es offensichtlich auch nicht, da keine Einstellung zum Erfolg fuehrt... :( Ich hab zwar statt den 3Ohm fuer das Display 10Ohm verwendet, da ich nichts kleineres hatte, aber das kann ja wohl nicht das Problem sein, da die Beleuchtung sehr hell ist. Worin koennte also das Problem bestehen?
Naja offensichtlich erbarmt sich keiner... ich denk ich bin jetzt auch bald am Ende fuer heute. Wuesste nicht, was ich noch ausprobieren soll.
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...
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...
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?
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
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...
Ich hab auch die schwarze Version - Vordergrund weiss (es gibt ja auch eine mit Vordergrund schwarz). OK momchen ich mach mal ein Bild...
Guckst Du ;) Auf so ne runde Sockelleiste wird es nicht reinpassen - Pins sind zu breit.
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.
Joa es muesste nur noch funktionieren, dann waere es sicher toll ;P
Danke für das Bild! Aber leider kann ich nicht genau erkennen, ob die Pins rund oder flach (wie bei DIP ICs) sind. Sorry... =( EDIT: Ahh, hast deinen Beitrag überarbeitet. Alles klar! Wie kann ich denn dann das Display "wiederverwendbar" machen?
Hm also ich hab den Beitrag nacheditiert, hast wahrscheinlich nicht gesehen: Mit Aufstecken wirste zumindest bei den runden Stiftleisten (wie bei den Praezisionssockeln) keine Chance haben. Schau genau hin dann siehst es ;) Bzw. halt ma... das koennte sogar funktionieren!
Schreiben wir mal kurz per ICQ? 307682079 Waere gut wenn wir hier nicht zu weit abschweifen wuerden...
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)
Die Displays passen in Sockelleisten mit runden Löchern, bei heraus hebeln muss man nur sehr vorsichtig vorgehen.
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.
@michael g. Ich habe dir mal meine c routine rangehaengt. Funktioniert bei mir wunderbar. Cpu ist ein atmega16. System ist fuer 3.3V und Anschluss an das Hardware-SPI vom Atmega. cu Tarzanwiejane
Ich habe hier Beitrag "Dog-M / ST7036 Routine für 1-Zeiliges Display SPI-Mode" mal meinen Displaytreiber für das dreizeilige Teil gpostet. Per SPI für 'nen ATmega32@16MHz. Ist für 5V, aber die Beschaltung für 3.3V sollte kein Problem darstellen. Vielleicht hilft dir das weiter.
@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
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, ...).
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.
Matthias wrote: > Die Beschaltung von C3 und der PINS 24,25 ist falsch. Reset sollte auf H > liegen, der C ist nicht erforderlich. Erm was soll daran falsch sein? Und Reset liegt auf High! Gruss, Michael
OMG jetzt seh ich grad wo das Prob is!!!! Dieses vermaledeite STK500 hat einfach seine Target-Spannung auf 5V erhoeht... :( Das is jetzt nicht wirklich kritisch fuer diese Schaltung aber das is nen "bissel" scheise :(
Matthias wrote: > Die Beschaltung von C3 und der PINS 24,25 ist falsch. Reset sollte auf H > liegen, der C ist nicht erforderlich. OK Matthias. Ich hab C3 jetzt korrekt angeschlossen (- auf VIN, + auf VOUT, 3V3 an VIN). Leider hat es nichts geholfen :( Selbe symptomatik wie zuvor :/
> 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.
ups, da warst Du schneller als ich. Vielleicht hast Du damit das Display gekillt? (Eigentlich sind die DOGM erstaunlich robust!)
Meinste dass man es damit killen kann? Auf 5V laeuft es... wuerde es denn auf 5V dann laufen? Oh man so nen shice :/
Naja theoretisch kann ich das Board mit 5V laufen lassen und nen level-shifter benutzen fuer das TWI. Das is allerdings schon nen bissel kacka jetzt alles. Aber wenn's anders nich geht...
Vielleicht hast Du die interne Ladungspumpe, die nur bei 3.3V gebraucht wird, zerschossen(?)
Moeglich waer's... :/ Nu gut dann mach ich die ganze Schese halt auf 5V.
Mess mal die Spannung am Vout-Pin bei 3.3V Betrieb. Wenn die Ladungspumpe läuft, sollte dort eine Spannung >5V entstehen.
Zu spaet... jetzt hab ich die Geschichte auf 5V umgestellt. Is mir alles nen bissel zu langweilig geworden in Zwischenzeit hehe :P P.S. ich mess spaeter mal wenn der Lack trocken ist...
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
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^^
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 | }
|
Obwohl der Beitrag schon sehr alt ist, muss ich hier bemerken, dass in dem Schema von Linuxgeek (derjenige, dem das Display nicht laufen wollte), der R/!W Pin (Nr. 37) fälschlich auf High geschaltet ist und somit auf lesen statt schreiben. Karel
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
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.
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.
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.
https://www.lcd-module.de/pdf/doma/dog-m.pdf Seite 3 sind alle Kombinationen aufgelistet. Schwarzer Hintergrund braucht eine Beleuchtung... Am besten ausprobieren. Habe noch ein Bild, Schwarzer Grund und grüne Beleuchtung.
:
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.