Forum: Mikrocontroller und Digitale Elektronik Pollin LCD SOLOMON LM118KFWL2


von St. S. (clean-energy)


Lesenswert?

Hallo,

ich habe gerade versucht dieses Display 
http://www.pollin-electronic.de/shop/dt/MzU0OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_SOLOMON_LM118KFWL2_LM1180SGL2_.html 
zum Leben zu erwecken.

Datenblatt: http://www.pollin-electronic.de/shop/downloads/D120546D.PDF

Leider leuchtet nicht mal die Hintergrund LED wenn man VSS und VDD (Pin 
1 und 2) verbindet. Laut Datenblatt (Seite 9) ist der LED Widerstand 
bereits im Display verbaut...

Hat jmd. von euch dieses Display schon einmal benutzt?

Vielen Dank im Voraus!

Grüße,

von Benedikt K. (benedikt)


Lesenswert?

St S. schrieb:
> Laut Datenblatt (Seite 9) ist der LED Widerstand
> bereits im Display verbaut...

Nur passt das Datenblatt nicht exakt zum Display: Es ist für ein 
LM1180SGL.
Das Backlight ist an Pin 15 und 16 angeschlossen. Vorwiderstände sind im 
Display aber schon verbaut.

von St. S. (clean-energy)


Lesenswert?

Benedikt K. schrieb:
> St S. schrieb:
>> Laut Datenblatt (Seite 9) ist der LED Widerstand
>> bereits im Display verbaut...
>
> Nur passt das Datenblatt nicht exakt zum Display: Es ist für ein
> LM1180SGL.
> Das Backlight ist an Pin 15 und 16 angeschlossen. Vorwiderstände sind im
> Display aber schon verbaut.

Danke Benedikt.

Wie ist die Polung an Pin 15 und 16?

Wüsstest du evtl. noch einen C Treiber für das Display?

Danke schon mal

von Benedikt K. (benedikt)


Lesenswert?

Pin 16 ist Minus. Bei dem Display muss man beachten, dass die 
Reihenfolge der Pins nicht 1-16 ist, sondern 16, 15, 1, 2, 3 .... 14.

Schau dir mal die Rückseite vom Display an:
In der Nähe von Pin 14 gibt es 4 Lötjumper:
Über 2 die schon auf einer Seite gelötet sind, kann man die Polung des 
Backlights vertauschen, über die anderen beiden die offen sind, kann man 
das Backlight auch an die normale 5V Versorgung anschließen, wenn man 
die beiden Jumper schließt.
Das Display ist HD44780 kompatibel. Dazu gibt es in der Codesammlung 
einiges an Software.

von Sebastian R. (sebr)


Lesenswert?

Habe dieses Display auch. Die etwas vom Standard abweichende 
Pinbelegung, die Sache mit den Lötbrücken und die Farbe der 
Hintergrundbeleuchtung sind wohl der Grund dafür dass es nur 1,95 EUR 
bei Pollin kostet. Aber Top Preis-Leistungs Verhältnis  :-)
Mal was zum Thema Befestigung: Wie befestigt ihr eure LCD Displays 
normalerweise? Ausschnitt in Gehäusefront und mit Distanzbolzen dort 
befestigen ? Display mit entspr. langen Abstandshaltern auf Platine 
anbringen? Oder mit Eibaurahmen (die aber teilw. ein vielfaches des 
Displays kosten)?

von Benedikt K. (benedikt)


Lesenswert?

Sebastian R. schrieb:
> Ausschnitt in Gehäusefront und mit Distanzbolzen dort
> befestigen ? Display mit entspr. langen Abstandshaltern auf Platine
> anbringen?

Ich mache das genau so (falls überhaupt ein Gehäuse außenrum kommt und 
ganze nicht nur offen auf die Platine geschraubt wird.) Da die 
Befestigungslöcher meist 2,54mm Durchmesser haben, bohre ich die Platine 
auf 3mm auf.

von Sebastian R. (sebr)


Lesenswert?

Ja, so wie ich auch. Hatte auch einige Male n Gehäuse aus Bastlerglas 
selbst zusammengeklebt. Ging erstaunlich gut: schnell, sauber, dicht und 
vor allem transparent. Macht jede Bastelei zu nem Schaustück.
Jedoch wäre für manche Sachen, wie z.B. das Touchscreen Display von 
Pollin, ein Einbaurahmen ne feine Sache....

von St. S. (clean-energy)


Lesenswert?

Vielen Dank!

Läuft schon am Testboard.

Finde den Kontrast und das Display echt Klasse! Wäre auch noch günstig 
für 10eur...

Super Teil

Danke nochmal an!

Grüße

von Simon (Gast)


Lesenswert?

Hallo

Ich hab auch ne Frage zum Backlight dieses LCD's. Mit welcher Spannung 
wird das betrieben? Also konkret was kommt an die Pins #15 und 16?

Vielen Dank für die Hilfe
Grüsse
Simon

von Marc (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche grade dieses Display mit einem ATxmega128 zum laufen zu 
bringen. Allerdings habe ich bei meinen Versuchen nie irgendetwas darauf 
zu sehen bekommen. Die Stromversorgung kommt vom Board. Details zum 
Anschluss findet man im Dateianhang. Alle Programme, die ich probiert 
habe, konnte ich kompilieren und mit avrdude auf den ATxmega laden.

1. Versuch: Sourcecode der Uni umschreiben
An der Uni haben wir auch LCDs, die den HD44780 Standard haben, 
verwendet. Ich habe den Sourcecode auf die von mir verwendete 
Pinbelegung am Port A angepasst:
Pin Leitung
1   RS
2   R/W
3   E
4   DB4
5   DB5
6   DB6
7   DB7

2. Versuch: Anderen Sourcecode probieren
Auf http://www.mikrocontroller.net/articles/HD44780 bin ich auf den Code 
von Peter Fleurys gestoßen und habe entsprechend lcd.h angepasst. Hier 
ein Ausschnitt:
1
#define LCD_PORT         PORTA_OUT        /**< port for the LCD lines   */
2
3
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
4
5
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
6
7
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
8
9
#define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
10
11
#define LCD_DATA0_PIN    4            /**< pin for 4bit data bit 0  */
12
13
#define LCD_DATA1_PIN    5            /**< pin for 4bit data bit 1  */
14
15
#define LCD_DATA2_PIN    6            /**< pin for 4bit data bit 2  */
16
17
#define LCD_DATA3_PIN    7            /**< pin for 4bit data bit 3  */
18
19
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
20
21
#define LCD_RS_PIN       1            /**< pin  for RS line         */
22
23
#define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
24
25
#define LCD_RW_PIN       2            /**< pin  for RW line         */
26
27
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
28
29
#define LCD_E_PIN        3            /**< pin  for Enable line     */

3. Versuch: Handprogrammieren
Ich habe ein Programm geschrieben, mit dem ich eine uint8_t Variable 
über den Eingang mit Pushbuttons geXORt habe d.h. ich konnte über 
Pushbuttons die Pins der Ausgabe für das LCD unabhängig setzen und 
rücksetzen. Zur Sicherheit habe ich auch die LEDs auf dem Board die 
Ausgabe zeigen lassen und habe diese mit den Pins am LCD + Messgerät 
verglichen. Habe mir das weiter oben verlinkte HD47780U Datenblatt 
angesehen (insbesondere Seite 42) und bin dann durch Drücken der Taster 
folgende Sequenz durchgegangen:
1
DB4, DB5
2
3x Enable
3
DB5    Sets to 4-bit operation
4
Enable
5
0    Turns on display and cursor
6
Enable
7
DB7, DB6, DB5
8
Enable
9
0    Entry mode set
10
Enable
11
DB6, DB5
12
Enable
13
RS, DB6    Writes H
14
Enable
15
RS, DB7
16
Enable

Keine der Versuche hat irgendwann auch nur irgendetwas auf dem LCD 
angezeigt. Ich bin für jede Hilfe dankbar.

von Marc (Gast)


Lesenswert?

Hallo nochmal,

ihr braucht euch erstmal nicht den Kopf zu zerbrechen, denn mir ist 
aufgefallen, dass die Versorgungsspannung des Displays 5V beträgt. Weiß 
nicht genau, ob das wirklich die Ursache ist, denn dazu müsste ich 
erstmal einen Lötkolben unter die Finger bekommen, wäre aber eine gute 
Erklärung.

von Marc H. (mheimann84)


Lesenswert?

Hallo,

ich habe das LCD nochmal ausgegraben und diesmal mit 5V 
Versorgungsspannung versucht, etwas anzuzeigen. Habe mich am HD44780 
Datenblatt orientiert. Dabei wollte ich wie auf Seite 42 beschrieben 
eine Ausgabe im 4-bit Modus hinbekommen. Dazu habe ich die Pinbelegung 
auch von dort übernommen, um Ablesefehler zu vermeiden. Den 
untenstehenden code habe ich auch schon so verändert, dass anstatt einem 
delay eine Warteschleife steht, aus die man per Tastendruck (Interrupt) 
wieder herausgelangt. So konnte ich die Werte nochmal direkt am Display 
abmessen, ob sie auch an der richtigen Stelle anliegen. Weiß jemand 
weiter? Muss man den Kontrast noch irgendwie einstellen? Mehr außer der 
Hintergrundbeleuchtung habe ich nicht hinbekommen.
1
#include <avr/io.h>
2
#include <util/delay.h>
3
4
/*
5
Pinbelegung nach Dokument "HD44780U (LCD-II)" von HITACHI (Seite 42):
6
7
Pin  Belegung
8
0  DB4
9
1  DB5
10
2  DB6
11
3  DB7
12
4  RW
13
5  RS
14
6  E
15
16
delays sind orientiert am code von Peter Fleury.
17
Laut Dokument brauchen die meisten Befehle 37 us (Seite 24).
18
*/
19
20
#define PIN_Enable 0b01000000
21
22
void LCD_Enable(void) {
23
  PORTD_OUT |= PIN_Enable;
24
  _delay_us(2);
25
  PORTD_OUT &= ~PIN_Enable;
26
}
27
28
int main(void)
29
{
30
  PORTD_DIR = 0xff;   // set Port D output
31
  
32
  _delay_us(16000);  // power on, step 1
33
  PORTD_OUT = 0b00000010;  // 4-bit operation, step 2
34
  LCD_Enable();
35
  
36
  _delay_us(4992);
37
  LCD_Enable();    // step 3
38
  
39
  _delay_us(64);
40
  LCD_Enable();    // 3. Wiederholung
41
  
42
  _delay_us(64);
43
  PORTD_OUT = 0b00000000;  // Display on, step 4
44
  LCD_Enable();
45
  
46
  _delay_us(64);
47
  PORTD_OUT = 0b00001110;
48
  LCD_Enable();
49
  
50
  _delay_us(64);
51
  PORTD_OUT = 0b00000000;  // Entry mode set, step 5
52
  LCD_Enable();
53
  
54
  _delay_us(64);
55
  PORTD_OUT = 0b00001100;
56
  LCD_Enable();
57
  
58
  _delay_us(64);
59
  PORTD_OUT = 0b00100100;  // Write data to CGRAM/DDRAM, step 6
60
  LCD_Enable();
61
  
62
  _delay_us(64);
63
  PORTD_OUT = 0b00101000;
64
  LCD_Enable();
65
  
66
  _delay_ms(5000);
67
  PORTD_OUT |= 0b10000000;
68
  return 0;
69
}

von us73 (Gast)


Lesenswert?

Bei mir laufen einige dieser Displays mit einer LCD-Bibliothek in C, 
afair die von Peter Fleury.

Hast Du mal eine Bibliothek probiert, anstatt den Kram selbst zu 
schreiben, um sicherzustellen, dass das Display, Verkabelung etc. OK ist 
?

Eine Kontrastspannung hast Du angelegt ? Ohne die gehts nicht. Ich habe 
die mit einem Poti zum fest einstellen gemacht.

von us73 (Gast)


Lesenswert?

So, dein Bild habe ich nochmal genauer angeschaut.

Ich sehe nicht, dass Du eine Kontrastspannung angeschlossen hast.

Im oben verlinkten Datenblatt ist auf der letzten Seite ein Schematic. 
Dort ist zu sehen, dass VO auch angeschlossen sein muss - ich habs mit 
einem 10k Poti einstellbar gemacht.

Einstellen kann man daran von gar nichts auf der Anzeige -> Zeichen 
werden dargestellt -> alle Segmente sind immer schwarz.

Ohne diese Spannung tut sich natürlich nichts...

von Marc H. (mheimann84)


Lesenswert?

Hallo us73,

habe gerade nur einen 100KOhm Trimmer zur Hand. Mit dem habe ich aber 
schon was angezeigt bekommen, als ich den weißen Drehknopf schon fast 
auf Masse umgedreht hatte. Die erste Zeile ist leer, in der zweiten 
Zeile sind die Buchstaben komplett ausgefüllt, wie schwarze Blöcke. 
Vielen Dank, immerhin sehe ich jetzt was. Hoffentlich schaffe ich noch 
irgendetwas sinnvolles anzuzeigen.

von us73 (Gast)


Lesenswert?

Korrekt, ohne Kontrastspannung kannst Du soviel richtig ansteuern wie Du 
willst - Du wirst nichts sehen.

Wenn man das Ding nun so einstellt, dass die schwarzen Vierecke leicht 
grau sind, dann erkennt man auf jeden Fall, wenn sich etwas am 
dargestellten Inhalt ändert.

Viel Erfolg !

Uwe

von Mateo B. (mateo)


Lesenswert?

Ich hatte genau das Gleiche Problem mit einem meiner LCDs.
wenn du nun ganz vorsichtig die Kontrastspannung änderst, müsstest du 
relativ flink wechselnde Symbole in den Kästchen erkennen.

Als ich vor jenem Problem stand hab ich irgendwann in wilder Rage 
wahllos die En RS RW Leitungen wild nach masse und plus gesteckt, immer 
wieder dabei mal die Versorgungsspannung unterbrochen, und siehe da, 
nach einem kurzen Massaker lief das display tadellos :)

Grüsse Mateo

P.S. natürlich übernehme ich keine Haftung für jegliche zerstörte 
Displays :D

von Marc H. (mheimann84)


Lesenswert?

Vielen Dank nochmal an euch. Mit dem 100K Trimmer habe ich noch ziemlich 
schwierigkeiten den richtigen Kontrast einzustellen. Nach euren Tips 
habe ich dann nochmal rumgespielt und dabei ist mir aufgefallen, dass 
man von der Seite aus ab einem bestimmten Winkel den Buchstaben "H" 
erkennt. Der obige Code hat die ganze Zeit funktioniert, ich habs nur 
nicht gesehen. Werde mir wohl noch einen anderen Trimmer holen, um das 
ganze feiner einstellen zu können. Danke nochmal.

von Marc H. (mheimann84)


Angehängte Dateien:

Lesenswert?

Und weil ich jetzt wieder glücklich bin, vor allem nach dem ganzen 
Frust, noch ein kleines Photo zum Abschluss :)

von us73 (Gast)


Lesenswert?

Öhm, und aus dem Bauch heraus hätte ich jetzt gesagt, das Display steht 
auf dem Kopf...
Bei einem H erkennt man das allerdings nur schwierig....

Ansonsten weiterhin viel Spaß !

Uwe

von Marc H. (mheimann84)


Angehängte Dateien:

Lesenswert?

Jetzt nachdem nochmal ein paar Bauteile angekommen sind und ich mir 
nochmal etwas Zeit genommen habe, um vor allem den Kabelverhau etwas 
einzudämmen, wurde mein kleines Projekt abgeschlossen. Den Code habe ich 
für Angänger wie mich nochmal überarbeitet und dokumentiert.

Marc

von Marc H. (mheimann84)


Angehängte Dateien:

Lesenswert?

Ein allerletztes Update:

- Bauteilliste (übersetzt) aufgeschrieben
- kleine Veränderungen am code
- Kontrast bildhaft erleutert (mein voriges Vergehen :)
- html Ansicht vom code
- R/W Pin auf Masse gesetzt

vor allem am letzten Punkt habe ich die ganze Zeit gegrübelt, ob da was 
passieren kann. Der Gedanke, dass man Software seitig auf read stellen 
kann und dann den busy Status auf DB7 hat, hat mich noch genervt.

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.