pollin dot matrix lcd 122x32 dots dg 12232

Gast #1145132
Lesenswert?

Das ist  gut. Ich habe mir eines bestellt ( 2.95 ist ja ziemlich 
kostengünstig ). In der Pollin Beschreibung ist zusätzlich eine 
Trägerplatine mit einem IC, 2 Kondensatoren und einem Verbindungsgummi 
abgebildet. Bei mir kam aber nur das Display ohne die Zusatzbauteile. 
Eigentlich etwas ärgerlich.
Git es irgendwo ein Beispielprogramm für einen Atmega?
#1145191
Lesenswert?

ajax wrote:
> In der Pollin Beschreibung ist zusätzlich eine
> Trägerplatine mit einem IC, 2 Kondensatoren und einem Verbindungsgummi
> abgebildet. Bei mir kam aber nur das Display ohne die Zusatzbauteile.

Kommt drauf an wann du das bestellt hast. Als ich das bestellt habe, gab 
es die Zusatzplatine noch nicht, ich habe daher das reine Display. Die 
Platine ist auch unnötig, denn die Bauteile die da drauf sind, sind 
nicht zu gebrauchen: Den 2kHz Takt kann man auch per µC erzeugen, muss 
man sowieso, denn das Display benötigt etwa 5,6V, also -0,6V an Vee. Den 
Takt kann man daher auch für die Ladungspumpe verwenden.

Der Beschreibung nach müssten jetzt aber die Platine und die Bauteile 
dabei sein, denn die Platine läuft unter der Nummer die das Display hat. 
Wenn Pollin eine Platine macht, dann heißt das wohl, dass die eine 
größere Menge davon haben.
Gast #1145753
Lesenswert?

@gast
>suche einmal nach dem controller SED1520
Danke, das ist doch mal ein sehr nützlicher Hinweis

>Die Platine ist auch unnötig, denn die Bauteile die da drauf sind, sind
>nicht zu gebrauchen:

Naja, dafür kann man gut an den Anschlusskpunkten löten. Die Kontakte am 
Display selber sind ja eher sehr klein und nicht gut zugänglich.

>muss man sowieso, denn das Display benötigt etwa 5,6V, also -0,6V an Vee.
Das ist ja etwas ärgerlich, weil Pollin im Shop explizitt als 
Versorgungsspannung 5V angibt.
#1145765
Lesenswert?

befro wrote:

> Naja, dafür kann man gut an den Anschlusskpunkten löten. Die Kontakte am
> Display selber sind ja eher sehr klein und nicht gut zugänglich.

Naja. Da die Anschlüsse 1,27mm Raster haben, kann man problemlos ein 
Flachbandkabel direkt anlöten. Das macht das Display sehr kompakt.

> Das ist ja etwas ärgerlich, weil Pollin im Shop explizitt als
> Versorgungsspannung 5V angibt.

Die Betriebsspannung beträgt auch 5V, nur Vee muss etwa größer sein. Im 
Datenblatt sind sogar 6,4V angegeben.
Angehängte Dateien:
Gast #1147454
Lesenswert?

Das sieht ja ganz gut aus.
>Den 2kHz Takt kann man auch per µC erzeugen, muss
>man sowieso, denn das Display benötigt etwa 5,6V, also -0,6V an Vee. Den
>Takt kann man daher auch für die Ladungspumpe verwenden.
Hast Du enventuell einen Schaltplan für die Ladungspumpe?
Gast #1155350
Lesenswert?

Hallo,

Habe mir auch einen 12232 bei Pollin bestellt.
Mein Problem ist, dass ich nicht mehr genügend Pins frei habe.
Gibt es einen IC, den ich über ISP oder i2c ansteuern kann und der dann 
das Display beschreibt? (nur Zeichen sind ok, brauche keine Grafik)
Alnativ könnte ich ja einen atmega8 nehmen auf den ich den code für den 
sed1520 spiele und dann über SPI anspreche.. aber dann hab ich noch nen 
uC mehr.. oder gibt es noch eine einfachere Methode?

Danke schon mal..
#1155371
Lesenswert?

Ein Grafikdisplay per I²C ansteuern ist meist richtig lahm. Ein SPI 
Schieberegister an SPI ist meist gerade so OK.
Besser: Einen µC dafür verwenden, der direkt entsprechende 
Grafikfunktionen kann und über SPI, I²C oder ähnliches mit dem 
Hauptprozessor kommuniziert.
Das befreit den Hauptprozessor von den Grafikfunktionen, der 
Text->Grafik Umwandlung usw.
Gast #1157556
Lesenswert?

@ benedikt.

Danke für dei Antwort,
die geschwindigtkeit ist nicht so wichtig, da sich nur selten was 
ändert.
Da ich soweiso schon den atmega8 als 2. uC habe, der nur ein paar adc 
eingänge misst und dies per SPI an den hauptcontroller weitergibt könnte 
ich den zusätzlich für das Display nehmen.
Mein Problem ist, dass ich nicht weis ob ich das Disply an irgendwelche 
verteilten Pins anschliessen kann, oder ob ich einen kompletten Port z.b 
B verwenden muss? Also kann man im Code jeder einzelnen Leitung einen 
Pin zuweisen oder geht das nur mit einem Kompletten Port, so wie man es 
normal macht?
#1161520
Lesenswert?

gde wrote:
...
> Mein Problem ist, dass ich nicht weis ob ich das Disply an irgendwelche
> verteilten Pins anschliessen kann, oder ob ich einen kompletten Port z.b
> B verwenden muss? Also kann man im Code jeder einzelnen Leitung einen
> Pin zuweisen oder geht das nur mit einem Kompletten Port, so wie man es
> normal macht?

Machbar ist das sicherlich. Aber umständlich, da die Befehle und die 
Daten dann Bit für Bit auf die Pins umgerechnet werden müßten. Da ist 
ein ganzer Port doch erheblich einfacher.
Was anderes: Wie sieht das denn mit der Hintergrundbeleuchtung aus. Da 
steht was von EL Folie und im Datenblatt was von EL Backlite Current IEL 
VDD-VSS=5.0V -- 0.12/CM -- mA
EL und 5V? Das hatte ich anders in Erinnerung.

Meik
Gast #1188324
Lesenswert?

An der Beleuchtung hänge ich auch gerade.
Wie muss die angeschlossen werden?
Mit 5V tut sich da gar nichts :(

Ich habe auch versucht, die Beleuchtung an den beiden 
Bleuchtungsanschlüsse der "Hauptplatine" mit den beiden Chips zu 
verwenden. Da tat auch nichts. Laut meinem Oszi liegt dort auch keine 
Spannung an.
Gast #1211048
Lesenswert?

Hallo,
ich bin auch grad dabei das Display anzuschließen,
ich werd aber aus der Diskussion nicht ganz schlau und bin jetzt ein 
wenig verunsichert,

einmal wird geschrieben:

>Den 2kHz Takt kann man auch per µC erzeugen, muss
>man sowieso, denn das Display benötigt etwa 5,6V, also -0,6V an Vee. Den
>Takt kann man daher auch für die Ladungspumpe verwenden.

und dann:

>Die Betriebsspannung beträgt auch 5V, nur Vee muss etwa größer sein. Im
>Datenblatt sind sogar 6,4V angegeben.

Im Datenblatt steht: Vdd - Vee: 6,4V, und da Vdd ja auf 5V liegt, müssen 
dann -1,4 V auf Vee. Seh ich das richtig ?

Dann zur Hintergrundbeleuchtung: Hier steht nur ein Strom im Datenblatt, 
auch die Polarisation ist nicht klar, an JP2 und JP3 steht nur jeweils 
Beleuchtung 1 und Beleuchtung2.

Kann mir jemand weiterhelfen ?
Grüsse
#1211077
Lesenswert?

David wrote:

> Im Datenblatt steht: Vdd - Vee: 6,4V, und da Vdd ja auf 5V liegt, müssen
> dann -1,4 V auf Vee. Seh ich das richtig ?

Ja. Die -1,4V sind ein ganz grober Wert, je nach Blickwinkel, 
Temperatur, Fertigungstoleranz usw. liegt die optimale Spannung irgendwo 
zwischen 0 und -2V.

> Dann zur Hintergrundbeleuchtung: Hier steht nur ein Strom im Datenblatt,
> auch die Polarisation ist nicht klar, an JP2 und JP3 steht nur jeweils
> Beleuchtung 1 und Beleuchtung2.

Um die zu betrieben brauchst du einen EL Inverter.
#1211162
Lesenswert?

Ein EL-Inverter ist mit 2 Bauteilen auch schnell selbst zusammengebaut. 
Ein kleiner 9V 100mA (in etwa) Trafo und ein MosFET Transistor. Den 
Trafo sekundärseitig an 5-12 Volt und an den Drain des MosFET, Source 
auf 0V und Gate an die 2 kHz vom Display. Die Primärseite des Trafos an 
die EL-Folie. Fertig.

Gruß Meik
Gast #1214617
Lesenswert?

> Mit dem Widerstand stellt man die Spannung für besten Kontrast ein.


Also der Widerstand bestimmt nicht die Spannung für den Kontrast sondern 
einfach nur, wie schnell sich der Kondensator C2 am Ausgang auflädt,...
bestenfalls lässt man ihn draußen, so meine Erkenntnis nachdem ich das 
aufgebaut habe.
Gast #1246378
Lesenswert?

Hallo, ich hab ein seltsames bzw. interessantes Problem.

Ich hab das Display erfolgreich mit der Universal C Bib von:
http://en.radzio.dxp.pl/sed1520/
angesteuert.

Hier der Code im Ausschnitt: (nur die relevanten Funktionen)
1
Buchstabenspeicher:
2
font.h:
3

4
static char PROGMEM  font5x7[] = {
5
.
6
.
7
0x20, 0x54, 0x54, 0x54, 0x78,// a
8
0x7F, 0x48, 0x44, 0x44, 0x38,// b
9
0x38, 0x44, 0x44, 0x44, 0x20,// c
10
0x38, 0x44, 0x44, 0x48, 0x7F,// d
11
0x38, 0x54, 0x54, 0x54, 0x18,// e
12
.
13
.
14
.
15

16
void GLCD_WriteData(unsigned char dataToWrite)
17
{
18
GLCD_WaitForStatus(0x80, 0);
19
GLCD_WaitForStatus(0x80, 1);
20
SED1520_CONTROL_PORT |= SED1520_A0; 
21
SED1520_CONTROL_PORT &= ~SED1520_RW; 
22
SED1520_DATA_PORT = dataToWrite; 
23
if(lcd_x < 61) 
24
  {
25
  SED1520_CONTROL_PORT |= SED1520_E1;
26
  asm("nop");asm("nop");
27
  SED1520_CONTROL_PORT &= ~SED1520_E1;
28
  }
29
else
30
  {
31
  SED1520_CONTROL_PORT |= SED1520_E2;
32
  asm("nop");asm("nop");
33
  SED1520_CONTROL_PORT &= ~SED1520_E2;
34
  }
35
lcd_x++;
36
if(lcd_x >= SCREEN_WIDTH)
37
  lcd_x = 0;
38
}
39

40

41
void GLCD_WriteChar(char x)
42
{
43
char i; 
44
x -= 32; 
45
for(i = 0; i < 5; i++) 
46
  GLCD_WriteData(pgm_read_byte(font5x7 + (5 * x) + i));
47
  GLCD_WriteData(0x00);
48
}

Wenn ich jetzt einen Buchstaben mit der Funktion GLCD_WriteData auf das 
Display schreibe, dann wird der Buchstabe korrekt angezeigt, außer beim 
kleinen e oder a, hier werden die Zwischenräume mit ausgefüllt also 
ungefähr so:
 xxx
xxxxx
xxxxx
x
 xxx

wenn man sich jetzt den hexcode aus der font5x7 anschaut für das e:
0x38, 0x54, 0x54, 0x54, 0x18,// e

sollte das passen:
     012345
1
2 L
4     xxx
8    x   x
1    xxxxx
2    x
4 H   xxx
8

Bevor ich was schreibe lösche ich das gesamte Display, positionier es 
auf Page 0 und Zeile 0.
Hat jemand ne Idee dazu ?
Gast #1246531
Lesenswert?

:) Ich scheine die selbe Library zu verwenden, allerdings an meinen 
Controller angepasst.

Kannst du debuggen? Eventuell die Werte in der Funktion GLCD_SetPixel 
überprüfen?
Etwas anderes fällt mir spontan nicht ein.
#1246639
Lesenswert?

Ich hatte mal ein ähnliches Problem. Da war die Wartezeit beim Auslesen 
der Daten aus dem Display zu kurz. Sprich: Der Displaycontroller bekommt 
die Leitung nicht schnell genug auf High bzw. Low. Versuch die Wartezeit 
um 1-2 nop's zu verlängern.
Allerdings verwende ich PICBasic und kann die Schritte in deiner lib 
somit nicht nachvollziehen.

Gruß Meik
Gast #1247368
Lesenswert?

hey,

also debuggen ,... kA. ich verwende den avr-gcc unter linux, hab keine 
Ahnung wie und ob man da debuggen kann.

Das mit der Wartezeit hab ich mir auch schon gedacht, ich werds mal heut 
probieren, allerdings erhoffe ich mir nicht viel davon, da ich sowiso 
den internen Takt von 1 Mhz für meinen versuchsaufbau verwende.

grüße david
Gast #1250970
Lesenswert?

Hallo,

ich versuche gerade das LCD-12232 von Pollin per SAM7S uC anzusteuern.
Ich will dazu die library http://en.radzio.dxp.pl/sed1520/ verwenden.
Nun muss ich den hardwareabhängigen Teil anpassen.

Meine Fragen:
"enables etc."
Es gibt LCD displays mit sed1520 controller die haben enables E1 und E2 
und andere wie das genannte von Pollin haben CS1 und CS2. Was ist der 
Unterschied? Ist E1 eine Kombination aus CS1 und E (enable)? Die 
Firmware muss dann vermutlich je nach Variante anders gestrickt sein?


"reset" / prozessor interface
Wie funktioniert der RES Pin? Aus dem sed1520 Datenblatt werde ich nicht 
ganz Schlau. Ich reime mir das wie folgt zusammen. Der Reset wird durch 
Pegelwechsel ausgelöst. Je nachdem ob der Port dann in "low" oder "high" 
verbleibt ist das display im 68 oder 80er "mode" - richtig?
Warum ist das beim Pollin Display genau invertiert wie im epson 
datenblatt, ist da noch ein Inverter eingebaut oder ist das ein 
Druckfehler in der Adapterboard Anleitung von Pollin?

In einem Datenblatt eines anderen sed1520 Displays steht, dass nur der 
80er "mode" verwendet werden darf. Ist das bei dem von pollin auch so?

Über sachdienliche Hinweise würde ich mich sehr freuen.
#1251050
Lesenswert?

Oliver Debus schrieb:

> Es gibt LCD displays mit sed1520 controller die haben enables E1 und E2
> und andere wie das genannte von Pollin haben CS1 und CS2. Was ist der
> Unterschied? Ist E1 eine Kombination aus CS1 und E (enable)?

Ja, so in etwa. Nur wenn CS aktiv ist, ist das E Signal gültig. Ob man 
daher 2 CS und 1 E Signal oder 1 CS Signal oder 2 E Signale verwendet 
ist egal.

> Die Firmware muss dann vermutlich je nach Variante anders gestrickt sein?

Man muss nur den hardwareabhängigen Teil anpassen.

> Wie funktioniert der RES Pin? Aus dem sed1520 Datenblatt werde ich nicht
> ganz Schlau. Ich reime mir das wie folgt zusammen. Der Reset wird durch
> Pegelwechsel ausgelöst. Je nachdem ob der Port dann in "low" oder "high"
> verbleibt ist das display im 68 oder 80er "mode" - richtig?

Ja.

> Warum ist das beim Pollin Display genau invertiert wie im epson
> datenblatt, ist da noch ein Inverter eingebaut oder ist das ein
> Druckfehler in der Adapterboard Anleitung von Pollin?

Bei mir stimmen die Datenblätter überein:

High level: Interface with 68 family MPU
Low level: Interface with 80 family MPU

> In einem Datenblatt eines anderen sed1520 Displays steht, dass nur der
> 80er "mode" verwendet werden darf. Ist das bei dem von pollin auch so?

Nein.
Gast #1251199
Lesenswert?

Pin      Symbol    Level     Function
1        A0        L / H     L - Instruction, H - Data
2        CS2       L Chip    Enable Active L               --> E1
3        CS1       L Chip    Enable Active L               --> E2
4        CL        L / H     External Clock (2kHz)
5        /RD                 --> Enable (68k) muss auf H sein
6        /WR (R/W)           --> R /W (68k)
7        Vss                 Ground
8 - 15   DB0 – DB7 L / H     Data Bus Line
16       VDD                 5 V
17       Res       L / H     H
18       VEE                 negative Spannung für Kontrast, ich hab 
-1,6

Also ich steuer es im 68k Modus an, d.h. Reset dauerhaft auf H
kurz auf L mach dann einen Reset.

Am Programm selber musst du dann nur noch deine Ports abändern.

Und wenn dann auch das Problem hast das deine e´s und a´s,.. ausgefüllt 
sind, dann gibst mal bescheid.
Gast #1461732
Lesenswert?

Hi!

So mal ganz blöd gefragt. Also ich bin ein noob in Sachen 
Mikrokontrolern, und möchte das Display irgendwie anden PC anschließen. 
Ich hab also ne serielle Schnittstelle. Was muss ich mir noch dazu 
kaufen, dass das Display mal funktioniert, oder besser gefragt, was muss 
ich noch tun, dass ich das Teil an die ser. Schittstelle ankabeln kann?
Gast #1539521
Lesenswert?

Hallo,

ist zwar hier schon etwas älter, hoffe aber trotzdem das mir einer 
helfen kann. Ich benutze zum Ansteuern des Displays den Code von 
http://en.radzio.dxp.pl/sed1520/ und habe folgendes Problem. Die 
Schriftzeichen der font.h Datei zeigt es wunderbar an, will ich jedoch 
einezelne Pixel und somit ja auch Linien und Bitmaps anzeigen. 
Funktioniert es nicht. Es werden keine Linien oder Pixel angezeigt 
sondern je nach Ort schwarze Bälken der vier "Zeilen" oder wie im 
Datenblatt Pages.

Ich glaube herausgefunden zu haben das es an er Funktion
GLCD_ReadData(); liegt und bei mir ist der Rückgabewert immer 0xFF. Wenn 
ich hier permanent 0x00 eingebe funktioniert es, überschreibt dann 
jedoch dies restlichen Pixel.
Im Anhang habe ich mal die Funktion beigefügt.
Ich habe schon mehr "NOPs" eingefügt usw. hilft alles nichts. löscht man 
z.B. die die oberen bieden setzen und rücksetzen des E1 bzw. E2 raus, 
ist der Rückgabewert der Funktion die aktuelle Pageadresse aber nicht 
der eigentliche Wert der angezeigten Pixel.

Ich hoffe jemand kann mir helfen, da mir absolut nichts mehr einfällt 
was ich noch ausprobieren könnte.
Im Datenblatt des sed1520 Controllers habe ich noch gelesen, falls man 
etwas lesen möchte muss der PIN /RD auf low sein, ich habe ihn jedoch 
dauerhaft über pullup Widerstand auf high liegen. Dieser wird aber auch 
in der Bibliothek überhaupt nicht berücksichtigt. Kann es hierdrann 
liegen?

Vielen dank
Angehängte Dateien:
(Firma: mayer) Persönliche Seite #1984221
Lesenswert?

hallo

war das ein einzelfall, dass hier nur das display geliefert wurde ? oder 
kommt das nun komplett. ich nehme an, es ist nach wie vor ein bausatz. 
da kommt man ja erst drauf, wenn man das 2te pdf liest.

ich habe das originale 44780'er 2x16 display am add-on board steckbar 
gemacht. ( mit stift- u buchsenleiste ) ich nehme an, das ist beim 
DG-12232 auch moeglich, sofern die loecher ueber einander sind.

gruss
hans

--
Gast #2907251
Lesenswert?

Hallo,
ich bin dabei das Display mit einem STM32F0 anzusteuern. Als Grundlage 
habe ich die Bibliothek aus diesem Thread benutzt 
(Beitrag "Re: C Code für SED1520, Dip122 oder DIP180"). Mein Problem ist, 
dass eine Linie gezeichnet wird, diese aber sofort wieder verschwindet 
(nicht plötzlich, sondern die Pixel werden von rechts nach links 
abgebaut).
Den 2kHz Takt generiert der µC.
Statusbyte lesen funktioniert.
Kommando "Static drive on/off" funktioniert auch (die Pixel bleiben auch 
an).
Das Display ist im 68er Modus initialisiert.
Hat jemand eine Idee woran es liegen kann, dass die Pixel verschwinden?
Wenn ich VDD anlege (auch ohne den Takt an CL) erscheint die oberste 
Pixelreihe und baut sich ebenfalls von rechts nach links ab.
VEE wird über die von Benedikt gezeigt Ladungspumpe generiert.
Wie sollte sich das Display korrekt verhalten (beim Anlegen der 
Betriebsspannung, mit vorhandenem Takt, nach der Initialisierung im 68er 
Modus)?
Vielen Danke für die Hilfe
#7445990
Lesenswert?

Hallo Echo, ich brauch einfach Hife und hoffe das hier tatsächlich noch jemand rein guckt.

Ich hatte mir seiner Zeit auch einige von den Displays (weil halt sehr günstig) zugelegt. Und ich hatte das auf meinem Testboard auch (nach viel probieren - soviel weiß ich noch) mit dem Demo und einigen Variationen betrieben. Na ja, leider ist mir über die Zeit der für mich modifiziert Quelltext verloren gegangen. Das Demoboard lief und lief, bis ich es aus reiner Schusselligkeit überschrieben habe.

Viele werden das kennen; obwohl ich aktuell gar kein Display für ein Projekt benötigt, juncken mir die Finger - ich möchte das einfach wieder hinbekommen. Aber das Ding Zuckt nicht ein einziges mal ...

Auf dem Board läuft ein ATmega88A, die Datenleitungen sind am Port D0 ... 7 die Steuerleitungen liegen auf Port B, wie folgt: Bit 0 - /WR 1 - /RD 2 - CS1 3 - CS2 4 - A0 5 - Reset

Hoffentlich sieht es jemand der mir nen Tipp geben kann.

Dank & Gruß Michael

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