Forum: Projekte & Code Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus


von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Wie der Betreff schon sagt, die Schaltung ist extrem einfach (nur ein 
mega8 und ein Spannungswandler auf -20V) und kann 40x20 Zeichen Text auf 
einem 320x240 LCD anzeigen. Für eine hohe Geschwindigkeit ist die 
Software in Assembler geschrieben.
Allerdings hat die Schaltung aber auch ihre Grenzen: Es ist nur Text 
möglich, keine Grafik, nichtmal benutzerdefinierten Zeichen.

Momentan wird eine Schriftart von 8x12 verwendet, es kann auch auf 8x10 
umgeschaltet werden (mit CSize=10), was dann 40x24 Zeichen ergibt, 
allerdings sieht diese Schriftart meiner Meinung nach nicht gut aus.
Der eingebaute Befehlssatz ist angelehnt an die Befehle der seriellen 
LCDs von Crystalfontz, da diese von vielen Programmen wie LCDsmartie 
oder LCDHype unterstützt werden. Im Moment ist 57600Baud eingestellt, 
für maximale Kompatibiliät mit anderen Programmen sollte man auf 
19200Baud umstellen.

Momentan werden die Zeichen via Uart empfangen. Um Wartezeiten zu 
vermeiden ist ein 32Byte empfangs FIFO verhanden, das im Normalfall 
eigentlich nie überlaufen sollte, außer man sendet dauerhaft solche 
Befehle wie alles löschen (Befehl 12).
Der Datenemfpang kann auch leicht auf andere Schnittstellen (SPI, I2C 
usw.) umgestellt werden, daher sind die Empfangsfunktionen in 
uart_getchar und UART_RX_int ausgelagert.
Da die LCD Ansteuerung im Interrupt erfolgt, kann man sich bei den 
Empfangsfunktionen voll austoben, ohne das man die LCD Ansteuerung stört 
(solange man nicht zuviel Zeit im Interrupt verbringt).

Zur Schaltung ist eigentlich nicht viel zu sagen, außer vielleicht zur 
VLCD Spannungsabschaltung. Über den LCD OnOff Pin schalte ich einen 
Optomosfet um die negative Spannung für das LCD zu schalten. Anstelle 
des Optomosfets kann man auch Transistoren verwenden, ist dann nur ein 
kleinwenig aufwendiger. Notfalls kann kan die Abschaltung auch ganz 
weglassen.
Die VCLD Spannung ist über PWM per Software ein wenig regelbar.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Hier noch ein Foto von dem Aufbau. Wie man sieht: Auf der Platine ist 
wirklich fast nichts drauf.

von Numen B. (numen)


Lesenswert?

Kann man das ding nicht so umbauen, dass man auch bilder damit in 
LCDHype übertragen kann? so wie dein grosser Display controller. Am 
besten über usb.

Gruss Numen

von Christian J. (elektroniker1968)


Lesenswert?

Kannst Du Bezugsquellen und Datenblätter für das Display nennen?

von Torsten (Gast)


Lesenswert?

Das sieht ja schon mal sehr vielversprechend aus. Der genaue Displaytyp 
würde mich auch interessieren.

von Numen B. (numen)


Lesenswert?


von Kai B. (kaib) Benutzerseite


Lesenswert?

Hallo

das Blaue LCD was es momentan bei Pollin für 19Euro gibt hat übrigens 
ein Displaycontroller drauf es handelt sich um den S1D13305 das 
datenblatt was es zur Version B bei Winstar gibt ist allesdings für den 
neuen Epson Controller S1D13700 gedacht. Zum Spielen hab ich mir ein 
Pollin Programm angepasst.
Das einzige was  stört ist das flimmern des Displays beim Daten 
übertragen.
Kann heute abend bei bedarf gerne mal ein Bild von anhängen.

MfG Kai

von Benedikt K. (benedikt)


Lesenswert?

Ich fang mal oben an:

Numen B. wrote:
> Kann man das ding nicht so umbauen, dass man auch bilder damit in
> LCDHype übertragen kann? so wie dein grosser Display controller. Am
> besten über usb.

Nein. Denn dazu fehlt ganz einfach der Speicher (8kByte für 320x240). 
Das funktioniert nur mit den ganz großen AVRs, oder einem mit externem 
RAM. Dann ist man wieder bei dem großen LCD Controller.
Ich wollte die Schaltung jetzt aber so einfach wie möglich machen, und 
das geht leider nur im Text Modus. Ein serielles oder I2C 40x20 Display 
ist aber auch schon ganz nett.

Christian J. wrote:
> Kannst Du Bezugsquellen und Datenblätter für das Display nennen?

Pollin, die Links hat Numen ja schon angegeben.
Die NAN YA LCDs habe ich beide schon getestet, die sind meiner Meinung 
nach nicht schlecht (guter Kontrast).
Beide haben die gleiche Pinbelegung wie das hier:
http://www.mark-products.com/pdf/g320x240/159/159%20spec.pdf

Das Sharp LCD ist auch nicht schlecht, benötigt aber die ganzen 
Teilspannungen einzeln. Ist ein wenig aufwand mit ein paar OPs. 
Ansonsten ist es auch nicht schlecht, läuft aber mit 3,3V anstelle von 
5V.

Auch wenn ich dieses Display von Pollin nicht ausprobiert habe, die 
blau/weißen gefallen mir persönlich nicht so gut, da deren Kennlinie 
etwas komisch ist. Die Schwarz/weißen gehen von schwarz nach weiß und 
dann zu gelb (wenn man den Kontrast zu hoch einstellt), während die blau 
weißen von blau zu schwarz und dann erst nach weiß wechseln (und danach 
auch ins gelbe gehen). Man hat also quasi einen Umweg beim fabwechsel, 
und das sieht teilweise komisch aus.

Kai B. wrote:
> Das einzige was  stört ist das flimmern des Displays beim Daten
> übertragen.

Das ist diese dumme Kennlinie die ich beschrieben habe und ein "Bug" im 
13505: Sobald der CS\ Pin auf Low gezogen wird, werden keine Daten mehr 
zum Display ausgegeben, sondern nur noch 0en gesendet. Dadurch spart man 
sich ein Busy Flag wie beim T6963 oder KS0108. Ich bin daher schnell auf 
andere Controller übergewechselt. Der 13700 ist da etwas besser, dafür 
aber etwas empfindlicher gegenüber Spikes auf den Leitungen.

von Numen B. (numen)


Lesenswert?

@benedikt

wie muss man den grossen kontroller anpassen, dass er mit dem display 
funktioniert? bei mir ist es ein sp14q002.

Also damit ich grafik darstellen kann.

Gruss Numen

von Benedikt K. (benedikt)


Lesenswert?

Numen B. wrote:

> wie muss man den grossen kontroller anpassen, dass er mit dem display
> funktioniert? bei mir ist es ein sp14q002.
>
> Also damit ich grafik darstellen kann.

So:
http://www.mikrocontroller.net/attachment/8471/lcd4bit.gif
http://www.mikrocontroller.net/attachment/8489/lcdcon_ft245_4bit.asm

von Numen B. (numen)


Lesenswert?

und wie wird da usb angeschlossen? über nen ft245?

gruss numen

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ich hatte schon mal überlegt, die 8K RAM für ein quadratisches Bild, 
also etwas Oszilloskop-artiges auszunutzen und den Rest des LCD-Bilds 
aus dem EEPROM zu holen.
Da könnten neben dem schnell veränderlichen Diagramm irgendwelche 
einstrellbaren Parameter stehen, die nach jeder Änderung ins EEPROM 
übernommen werden. Damit werden die 100000 Zyklen nicht so schnell 
erreicht. Das geht am einfachsten mit LCDs die im Hochformat angeordnet 
sind, also 320 Zeilen zu je 240 Pixeln. Dann muß die Umschaltung vom 
EEPROM aufs Ram nur einmal pro Frame passieren.
Mit 8k EEPROM wären sogar 4 Grauwerte möglich für das Menü, denn QVGA 
sind ja nur 9600 Byte.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

nein, 4 K EEPROM haben die ATmega1280 oder 2560, damit sind dann aber 
wie gesagt 2 Bit pro Pixel möglich.

von Numen B. (numen)


Lesenswert?

Für was ist eigentlich der hc157? kann man das ganze nicht einfach als 
4bit version aufbauen? also nur 4 datenleitungen und 4 dann hinten den 
mux weg lassen?

Gruss numen

von Benedikt K. (benedikt)


Lesenswert?

Numen B. wrote:
> Für was ist eigentlich der hc157?

Zum Umschalten zwischen High und Low Nibble eines Bytes.

> kann man das ganze nicht einfach als
> 4bit version aufbauen? also nur 4 datenleitungen und 4 dann hinten den
> mux weg lassen?

Könnte man. Allerdings muss man dann die Software anpassen, und man 
verschwendet die Hälfte des Speichers.

von Numen B. (numen)


Lesenswert?

der speicher ist nicht das Problem

kannst du mich mal in icq kontaktieren? 199567474

Gruss Florian

von Numen B. (numen)


Lesenswert?

würdest du die software entsprechend anpassen? könnte dir dafür ein 
display geben.

Gruss

von MichiB (Gast)


Lesenswert?

Hallo zusammen,

bin gerade auf der Suche nach einem großen Display.

@Kai.B
   Welches Pollin Display meinst du? Das einzige blaue, welches ich
   gefunde habe, hat laut Beschreibung keinen Controller.

@Benedikt K.
   Hast du deine Software von anderen Sourcen abgeleitet?
   Habe keine Ahnung von AVRs und möchte mich nicht durch die
   Assembler Syntax kämpfen.

Eigentlich würde es auch ein alphanumerisches Display tun
allerdings wird es ab 8x40 Zeichen sehr sehr übersichtlich in
der Auswahl.

Habe auch schon über 4 S65-Displays nachgedacht, aber als total 
bescheuert
verworfen (sieht halt auch so aus).

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

Es ist das Grafik-LCD WINSTAR WG320240B-FMC-VZ Best.Nr. 120 565
Ein datenblatt findet man ansonsten über archive.org es sollte halt im 
Datenblatt SED1335 drinstehen. Die Belegung stimmt dann auch.
Ich habe mal ein paar Bilder angehängt vom dem Blauen Display.
Ich finde es hat so einen Guten Kontrast und funktioniert auch noch mit 
3,3Volt da ich das Display an einem Flexis HCS08 angeschlossen habe.

MfG Kai

von MichiB (Gast)


Lesenswert?

Danke KAI,

da zeigt sich mal wieder, dass man die Angaben von Pollin getrost in die 
Tonne kloppen kann.

Werde ich mal ordern, für den Preis unschlagbar.

Hast Du zufällig nen Datenbaltt (archive.org mag mich nicht) oder Code 
zur Hand?

Der Kontrast ist schon sehr gut!

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi
hab das Datenblatt mit dem SED1335 Controller angehängt die 
Anschlussbelegung stimmt soweit. Das Display hätte gerne den 8080 Modus 
ist ne Lötbrücke mit nem 0R Widerstand. Die Negative Spannung für den 
Kontrast wird mit einem DCDC vom Display bereitgestellt. Einfach ein 
Poti an GND und Vee und Mittelabzapfung an V0. Code hab ich jetzt nicht 
direkt, aber ich habe ein Pollin Testprogramm etwas angepasst um ein 
bissel rumzuspielen. Kann dieses ja gerne mal bereitstellen.

Mfg Kai

von Numen B. (numen)


Angehängte Dateien:

Lesenswert?

@benedikt

kannst du das schema mal überprüfen plz und kontrollieren, ob das so 
passt?

Danke

Vorallem die belegung des LCD's prüfen, bin mir nicht sicher ob ich die 
signale richtig zugeordnet habe.



Gruss Numen

von Numen B. (numen)


Angehängte Dateien:

Lesenswert?

und hier noch das datenblatt

von Numen B. (numen)


Angehängte Dateien:

Lesenswert?

Hier noch als Bild, für die nicht eagle benutzer

Gruss Numen

von Christian J. (elektroniker1968)


Lesenswert?

Hallo Benedikt,

ich wollte mit das NÁN Ya bestellen. Weisst Du zufällig welcher Epson 
Controller da ansteuern kann? Ich glaube wir haben mal über den
S1D113705 gesprochen. Bei dem bin ich mir jedoch nicht sicher. Meine 
640x480m Displays habe ich wegen fehlender Backlight wieder 
eingestampft.

PS: Hat mal jemand versucht orginal Datenblätter für diese NANYA 
aufzutreiben? Ist ja der Horror.

Gruss,
Christian

von Benedikt K. (benedikt)


Lesenswert?

Numen B. wrote:
> @benedikt
>
> kannst du das schema mal überprüfen plz und kontrollieren, ob das so
> passt?

Sollte in etwa passen. Wenn du für den FT245 einen FT245RL einsetzt, 
brauchst du keinen Quarz.

Christian J. wrote:
> ich wollte mit das NÁN Ya bestellen. Weisst Du zufällig welcher Epson
> Controller da ansteuern kann? Ich glaube wir haben mal über den
> S1D113705 gesprochen. Bei dem bin ich mir jedoch nicht sicher.

SED1330, SED1335, S1D13305 sind die Klassiker für 320x240. S1D13700 ist 
der Nachfolger von denen und dürfte die beste Wahl sein.

> PS: Hat mal jemand versucht orginal Datenblätter für diese NANYA
> aufzutreiben? Ist ja der Horror.

Ich konnte nichtmal eine Webseite von der Firma finden.
Nach ein paar Stunden Suche hatte ich keine Lust mehr. Dann habe ich 
alle anderen NAN YA Datenblätter runtergeladen die ich finden konnte, 
und ein wenig ausprobiert. Das angegeben Datenblatt ist das einzige mit 
gleicher Pinbelegung das ich gefunden habe.

von Christian J. (elektroniker1968)


Lesenswert?

Hallo Benedikt,

dch die Firma gibt es noch aber sie stellt keine Displays mehr her.

Direkte Frage: Da ich den S1D13705 bereits gekauft habe und weiss wie er 
innen funktioniert, bzw ich Layout etc alles fertig habe, glaubst Du der 
kann das auch? Er bietet ja Support für "Passive Displays 320x240" an. 
Ich weiss jetzt nicht ob dieses NAN Dingsda ein passive Display ist oder 
TFT.

von Numen B. (numen)


Lesenswert?

@benedikt

würdest du die software an meinen schaltplan anpassen, wenn ich dir 
dafür ein farb lcd gebe?

Gruss Numen

von Christian J. (elektroniker1968)


Lesenswert?

Ichn weiss, wir ballern Dich mit Fragen tot :-) Aber Du bringst auch 
immer so nette Sachen hier ;-)

Aber auch an die anderen: Welches von den Pollin Displays der Fa NAN 
wäre denn besser hinsichtlich Ablesbarkeit: Das graue mit 
Hintergrundbeleuchtung oder das schwarze?

Drehe derzeit etwas ab, weil ich durch die Vielfalt der Displays nicht 
mehr durchblicke und meine schöne Ansteuerplatine nicht verwerfen will, 
die seinerzeit für ein altes Monochrom 640x0480 gemacht wurde.

von Benedikt K. (benedikt)


Lesenswert?

Christian J. wrote:
> dch die Firma gibt es noch aber sie stellt keine Displays mehr her.

Ist das diese Firma ?
http://www.npc.com.tw/

> Direkte Frage: Da ich den S1D13705 bereits gekauft habe und weiss wie er
> innen funktioniert, bzw ich Layout etc alles fertig habe, glaubst Du der
> kann das auch? Er bietet ja Support für "Passive Displays 320x240" an.

Das funktioniert. Damit sind dann sogar 16 Graustufen möglich (zumindest 
theoretisch.) Meine NAN YA LCDs zeigen ein deutliches Muster wenn ich 
Graustufen anzeige. Entweder sind das Reste von Druckstellen aufgrund 
der super Verpackung von Pollin, oder der Hersteller hatte ein kleines 
Qualitätsproblem bei der Fertigung. Zum Glück ist der Kontrast so gut, 
dass man diese nicht sieht, wenn man das Display ganz normal 
Schwarz/weiß ohne Graustufen betreibt.

> Ich weiss jetzt nicht ob dieses NAN Dingsda ein passive Display ist oder
> TFT.

passive Singlescan mit 4bit (oder so ähnlich heißt das in dem 
Datenblatt).

> Aber auch an die anderen: Welches von den Pollin Displays der Fa NAN
> wäre denn besser hinsichtlich Ablesbarkeit: Das graue mit
> Hintergrundbeleuchtung oder das schwarze?

Schwer zu sagen. Ich würde schwarze nehmen, das gefällt mir persönlich 
besser, und der Kontrast ist dank weiß auf schwarz meiner Meinung nacht 
nicht schlecht. Das graue hat aber den Vorteil, dass es auch bei hellem 
Umgebungslicht noch ablesbar ist, da es das Umgebungslicht ausnutzt, 
während das schwarze nur die Hintergrundbeleuchtung nutzt.


Numen B. wrote:
> @benedikt
>
> würdest du die software an meinen schaltplan anpassen, wenn ich dir
> dafür ein farb lcd gebe?

Nein. Ich hab von letztem mal noch kein Display bekommen. Da von 
angeblich 3 weggeschickten Pakten bei mir keines angekommen ist, naja...

von Numen B. (numen)


Lesenswert?

display voraus und bei erhalt passt du das zeug an?

von Christian J. (elektroniker1968)


Lesenswert?

Ja, das ist die Firma. Habe der mal ein Mail geschrieben:

http://www.eu.nanya.com/index.aspx

Danke für die Infos, werde dann mal drangehen meinen Grafikcontroller 
mit PIC18 auf ARM umzurouten und das Display Interface etwas 
universeller gestalten. Leider ist die ganze Chose mit Grafik Software 
ja doch viel Arbeit, die ich gern umgehen würde. Naja, vielleicht reicht 
ja auch erstmal Textmodus.....

Eben mal bei Pollin bestellen, am besten beide Displays...

von Benedikt K. (benedikt)


Lesenswert?

Numen B. wrote:
> display voraus und bei erhalt passt du das zeug an?

Ja, OK.

von Numen B. (numen)


Lesenswert?

gut schick mir deine adresse in icq. thx

von Numen B. (numen)


Lesenswert?

gib mir deine adresse ;) sonst reichts heute nicht mehr

gruss

von Manji (Gast)


Lesenswert?

@kaib: Könntest du das Pollin testprogramm bitte einmal hochladen? MIch 
würde das Winstar Display auch interessieren. Wäre echt nett.

von Gast (Gast)


Lesenswert?

Hallo Benedikt,
die Schaltung sieht ja wirklich einfach aus. Nur finde ich nicht den 
Schaltplan für den Nachbau und auch die Angabe für den Spannungswandler! 
Ist der in einem anderen Forum?

von Benedikt K. (benedikt)


Lesenswert?

In der zip ist der Schaltplan enthalten: lcdcon_txt.gif

von Gast (Gast)


Lesenswert?

Danke! Bei der Datei hatte sich bei mir immer nur der Texteditor 
geöffnet.

von Christian J. (elektroniker1968)


Lesenswert?

Hallo Benedikt,

hast Du vielleicht einen Schaltplan für das CCFL Backlight? Ich möchte 
das mit auf die Platine bringen. Wie hast Du das denn gemacht?

Gruss,
Christian

von Benedikt K. (benedikt)


Lesenswert?

Ich verwende entweder die Linfinity CCFL Inverter die es mal bei Pollin 
für 1,95 gab, oder andere von Hitachi (gab es glaube ich mal bei 
Oppermann), die noch besser zu dem LCD passen, und sogar den passenden 
Anschluss für den Stecker von der LCD CCFL haben. Selber bauen würde ich 
so einen Inverter nicht, dazu ist der zu aufwendig und man bekommt ihn 
zu billig als das sich das lohnen würde.

von uCler (Gast)


Lesenswert?

Ihr könnt Euch auch mal den TDK CXA-L10A anschauen. Bei Nanya heisst das 
Ding ADL-10A

Gruss Udo

von MichiB (Gast)


Lesenswert?

Hi,

kurze Frage bezüglich der Schaltung.

Auf den Winstar LCd von Pollin ist doch ein DC-DC Wandler für die -20V
LCD Driving Spannung schon drauf, oder ?

von Kai B. (kaib) Benutzerseite


Lesenswert?

Hi,
also wenn du das Blaue meinst ja, das Panel hat schon einen DCDC drauf 
für
die Negative Spannung.

MfG Kai

von MichiB (Gast)


Lesenswert?

Danke Kai,

noch ne Verständinsfrage:
- Der zweipolige Stecker dient doch der Hintergrundbeleuchtung.
  Welche Spannung wird hier benötigt?
- Läßt sich auch ohne Hintergrundbeleuchtung ausreichend die Schrift
  erkennen?

Danke

von Benedikt K. (benedikt)


Lesenswert?

Ja, der ist für das CCFL Backlight. Ohne dieses kann man nahezu nichts 
erkennen, außer man verwendet eine extrem helle Beleuchtung von vorne.

von MichiB (Gast)


Angehängte Dateien:

Lesenswert?

Hi Benedikt,

danke für die Antwort.

Habe gerade mal nach nem Inverter geschaut.

Beim großen C gibt es den im Anhang befindlichen Inverter.
Kann ich den nutzen?

Würde es eigentlich auch ein Inverter einer Billi-Kaltlichkathode tun?
http://www.conrad.de/goto.php?artikel=530016

von Benedikt K. (benedikt)


Lesenswert?

Beide sollten funktionieren. Falls es zu hell/dunkel ist, kann man 
notfalls noch die Betriebsspannung von dem Inverter variieren.

von Kai B. (kaib) Benutzerseite


Lesenswert?

Als Inverter eignen sich auch die CCFL Teile für den PC die es bei 
pollin für 4.95 gibt. Lustig ist das Der Stecker richtig gut passt.

MfG Kai

von Christian J. (elektroniker1968)


Lesenswert?

Welche denn?

Die hier: Best.Nr. 530 858

Einzeln gibt es derzeit wohl keine.

von MichiB (Gast)


Lesenswert?

Ich denke er meint diese hier:

700 637

von MichiB (Gast)


Lesenswert?

Hi,

es geht nochmal um das blaue Winstar Display:

- Wo kann ich zwischen 8080 und 6800 umschalten (welcher Widerstand) ?
- Was passiert wenn ich V0 floatend lasse ?

Danke!

von MichiB (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

kann mir mal jemand die Initialisierung posten.
Bekomme beim dem Einschalten nach der Initialisierung
nur das Bild oben.

Meiner Erfahrung nach sollte zu diesem Zeitpunkt eher "Kraut und
Rüben" ausgeben werden.

von MichiB (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich denke, dass immer noch einen Fehler in der Initialisierung habe.
Es geht um das blaue Winststar.

Vielleicht kann da mal jemand drüberschauen:

#define LCD_SYS_CMD    0x40
#define LCD_SYS_CMD1    0x30
#define LCD_SYS_CMD2    0x87
#define LCD_SYS_CMD3    0x07
#define LCD_SYS_CMD4    0x27
#define LCD_SYS_CMD5    0x39
#define LCD_SYS_CMD6    0xEF
#define LCD_SYS_CMD7    0x28
#define LCD_SYS_CMD8    0x00

Nachdem Initialisieren sieht der Screen wie gezeigt aus. Auf die freien 
Bereiche kann ich auch zugreifen (löschen und beschreiben). Nur auf die 
Balken kann ich nicht zugreifen.

Jemand eine Idee?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

MichiB wrote:
> Ich denke er meint diese hier:
>
> 700 637

Kann jemand bestätigen das das Ding ne passenden Inverter für CCFL 
Röhren enthält?

von Sebastian (Gast)


Lesenswert?

Habe keinen zerlegt, aber die Chancen sind gut, denn die abgebildete 
Röhre ist eine CCFL-Röhre. Ich habe mal beim großen C (im Laden, nicht 
im Versand) mit 2 Japantransistoren, Übertrager und ein paar 
Kondensatoren bestückte Platinen gekauft, die offensichtlich das 
Innenleben der abgebildeten schwarzen Box darstellen. Diese eignen sich 
sehr gut zur Speisung einer kleinen CCFL-Röhre, wie sie in diesen 
Displays enthalten ist.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Dachte jemand hat das vieleicht mal ausprobiert :)

von Kai B. (kaib) Benutzerseite


Lesenswert?

Ich betreibe die CCFL Röhrer von dem Display mit so nem Inverter hab 
allerdings die RGB Röhren genommen.

@MichiB in was für einem Modus betreibst du dein LCD?  Wenn du es im 
Text Modus betreibst kann ich wenn du willst mal mein Testprogramm fürn 
Textmode Hochladen. Ich wollte auch mal das Umgebastelte pollin 
Testprogramm hochladen, naja ich schau mal das ich gegen später Dazu 
komme.

MfG Kai

von MichiB (Gast)


Lesenswert?

@Kai,

das wäre super wenn du es mal uploaden könntest.

von Michael (Gast)


Lesenswert?

>> Kann man das ding nicht so umbauen, dass man auch bilder damit in
>> LCDHype übertragen kann? so wie dein grosser Display controller. Am
>> besten über usb.

> Nein. Denn dazu fehlt ganz einfach der Speicher (8kByte für 320x240).
> Das funktioniert nur mit den ganz großen AVRs, oder einem mit externem
> RAM. Dann ist man wieder bei dem großen LCD Controller.


Evtl. könnte man ein serielles FRAM (von Ramtron, gibts mit 32 kBytes, 
8-pinniges Gehäuse) per SPI an den AVR anschließen. Die Schaltung wäre 
dann nur minimal größer, man könnte aber Grafik darstellen. Durch die 
Hardware-SPI im AVR könnte man das FRAM bei 16 MHz AVR-Clock mit 8 MHz 
SPI-Takt ansteuern und käme somit auf eine Zeit von 1 µs pro Byte.

von Gerhard (Gast)


Lesenswert?

Hallo,

habe mir ein Nan Ya LCD von Pollin gekauft
http://www.pollin.de/shop/detail.php?pg=OA==&a=OTM1OTc4OTk=&w=OTg4OTk4&ts=20
und möchte das mit diesem Controller verbinden.
Allerdings ist mir die Anschlußbelegung noch nicht so ganz klar.
Lt. dem weiter oben angegebenen Datenblatt sind die LCD Anschlüsse
 1 FRAME -> FLM
 2 LOAD -> ?
 3 CP -> ?
 4 VDD -> 5V
 5 VSS -> GND
 6 VEE -> VLCD
 7 D0 -> D0
 8 D1 -> D1
 9 D2 -> D2
10 D3 -> D3
11 ONOFF
12 NC

Für Pin 2+3 bleiben noch "M" und "PCLK" und der nicht beschriftete Pin16 
vom Mega8.
Kann mir da mal jemand auf die Srünge helfen.

MfG
Gerhard

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Ich habe mal noch ein paar weitere Bezeichnungen hinzugefügt.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hi Benedikt,

wenn ich das richtig sehe, beginnt die Displayausgabe links oben.
Ziehst Du ein Positionszeiger in Erwägung?
Also Text geziehlt in Zeile und Spalte beginnen zu lassen?

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Meinst du ein Setzen des Cursors ?
Das geht mit 17,Spalte,Zeile

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Ja genau,

also 17,00,00 wäre dann links oben?
muss dann eine Pause eingelegt werden, damit der eigentliche Text
vom Cursor unterschieden wird? Hab ich Protokollbeschreibung überlesen?
Würdest Du Dein Code auch für ein Grösseres Textformat erweitern.


Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht wrote:
> also 17,00,00 wäre dann links oben?

Ja, und 17,39,19 ganz rechts unten.

> muss dann eine Pause eingelegt werden, damit der eigentliche Text
> vom Cursor unterschieden wird?

Nein, alles < 32 wird als Befehle (eventuell gefolg von einer bestimmten 
Anzahl an Parametern) und alles ab 32 aufwärts als Daten interpretiert.

> Würdest Du Dein Code auch für ein Grösseres Textformat erweitern.

Meinst du mehr Zeichen, oder eine größere Schriftart ?

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@ Benedigt,
ich meinte grössere Schriftart für Messergebnisse. Bz: 22,2 V
Es bräuchten nur die Ziffern 0...9 und Komma; V; A; °C; W für eine 
Grossausgabe hinterlegt werden.
Würde son Teil erst mal aufbauen, und mich dann bei Dir melden.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Sollte möglich sein. Die Software ist an sich flexibel geschrieben, es 
sollte also reichen die größere Schriftart zu erzeugen und ein paar 
defines anzupassen. Das kann ich machen. An welche Schriftgröße hast du 
gedacht ?

z.B. 32x48 pro Zeichen benötigen 192Byte pro Zeichen, davon passen etwa 
40 Zeichen in den Speicher, was für alle Großbuchstaben + Zahlen + ein 
paar Sonderzeichen reicht. Notfalls müsste man auf den mega168 wechseln.
Auf dem Display könnte man dann 10x5 Zeichen darstellen.

von Gast (Gast)


Lesenswert?

Kann man auch Grafik, also Punkte und Linien darstellen, oder ist es 
nicht möglich, bzw. wie, so ähnlich wie bei einen S65, bloss 2 Farben ?

von Benedikt K. (benedikt)


Lesenswert?

Man kann auf dem Display Grafik darstellen, allerdings nicht mit dieser 
Software (da der AVR zu wenig RAM hat). An sich sind nur 2 Farben 
möglich, mit entsprechender Ansteuerung kann man aber bis zu 16 
Graustufen erreichen.

von Gast (Gast)


Lesenswert?

Könnte man Grafik mit der Schaltung aus diesen Thread machen:

LCD Controller für 640x480 LCD mit mega8515

http://www.mikrocontroller.net/attachment/8452/LCD.gif

Und das würde gehen bei den 320x240 Pixeln auch bei den obrigen Displays 
von Pollin?

von Benedikt K. (benedikt)


Lesenswert?

Ja, das geht. Es gibt dafür auch irgendwo in dem 640x480 Thread eine 
Software + angepasste Schaltung für das 320x240 LCD.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Benedikt,
wenn ich das richtig sehe, sind 2 Formate in deinen Code enthalten,
ich würde mich für ein Format entscheiden und das "Grossformat" mit
zunehmen.
Es sollen wirklich im Grossformat 3 Ziffern,Komma, Masseinheit 
dargegestellt werden. Also Platz für eine 6 Stellige Anzeige
(3xZiffer,Komma,Leer,Masseinheit = 6)
Schriftgrösse: möglichst gross, sollte aber am Rand nicht "anecken"
Muss ich nach dem Testaufbau sehen.
Kursorfunktion geht im Grossformat natürlich nicht.
Die Schaltung mit dem m8 sollte beibehalten werden.
Umschaltung über Pin oder Befehl.
Wie gesagt wenn Du Interesse dazu hättest, melde ich mich dann bei Dir.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht wrote:
> wenn ich das richtig sehe, sind 2 Formate in deinen Code enthalten,

Das siehst du nur halb richtig.
Es wird nur eines von beidem verwendet, welches legt man beim Erstellen 
des Programms fest.

> Umschaltung über Pin oder Befehl.

Was meinst du mit Umschaltung ?

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Benedikt,
>Es wird nur eines von beidem verwendet, welches legt man beim Erstellen
>des Programms fest.
ich dachte beide Formate werden im Controller geladen.

>Was meinst du mit Umschaltung?
Ich benötige 1x Normalformat mit Kursorfunktion(Ausgabe auf mehrehre 
Zeilen)
bzw umschalten auf Grossformat für die paar Zeichen.

Jetzt haben wir ein Speicherplatzproblem?

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Nicht nur Speicherplatz. Für dieses Feature ist die Software momentan 
nicht ausgelegt. Man müsste also die Software großteils anpassen um das 
Umschaltbar zu machen. Wobei, vielleicht kann ich die komplette Software 
2x reinmachen (1x normal, 1x groß), und dann per Pin umschalten.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Benedikt,
wie gesagt, der Ursprung meiner Idee, war die Annahme,das 2 Formate
im Controller hinterlegt sind.
Die Idee einmal mehrehre Zeilen auszugeben bzw. ein Messergebnis
mit einer Grossanzeige anzuzeigen hat mich schon länger beschäftigt.
Leider kann ich kein Assambler.
Vielleicht konnte ich Dich mit meiner Idee anstecken, wobei wenn der
Schaltungsaufwand grosse Dimensionen annimmt, ist der Sinn einer 
kostengünstigen Ausgabe hin.

Wigbert

von Numen B. (numen)


Lesenswert?

Ich hätte noch platinen für die diplays, mit denen man auch grafik 
darstellen kann... basieren auf dem 640x480 kontroller von benedikt, 
einfach für 4bit lcds umgezeichnet.

Preis 10€ Pro platine + Porto zu euch.

Gruss Flo

von Christian J. (Gast)


Lesenswert?

Hallo,

ich setze derzeit ein Layout dieser Pollin Displays für den ARM7 
(LPC2214) um incl Epson Grafikcontroller als Programmierbeschäftigung 
für den nächsten Winter. Hat noch jemand einen dieser FPC Stecker, die 
für die NanYa passen und kann mir diesen zusenden? Glaube das sind 1mm 
Pitch Stecker.

Gruss,
Christian

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Benedikt,

Du hast Post.

Wigbert

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Hier eine neue Version mit einer zusätzlichen großen 32x48 Schriftart. 
Optimal um irgendwelche Infos anzuzeigen, die auch aus größerer 
Entfernung lesbar sein sollen. Der Zeichensatz ist per Software 
umschaltbar. Da der Zeichensatz sehr viel Speicher braucht, wird jetzt 
ein mega168 benötigt, dessen Flash zu 98,2% voll ist. Trotzdem wurde der 
Zeichensatz auf 64 Zeichen (Großbuchstaben, Zahlen und ein paar oft 
benötigte Sonderzeichen wie ,:° usw.) reduziert.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Das ganze sieht dann so aus.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hallo Benedikt,

>Hier eine neue Version mit einer zusätzlichen großen 32x48 Schriftart.

Das hatte ich schon "befürchtet".

Ein grosses Danke von mir für Deine Arbeit.
-------------------------------------------

Wigbert

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Sieht schick aus ;) aber seit wann ist 1+2 = 12? ;)

Das display liegt schon hier, was fehls ist mal wieder die Zeit das 
ganze aufzubauen ;)

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@hauke da steht auch *4 ;)

von Benedikt K. (benedikt)


Lesenswert?

Ich weiß, mathematisch ist das nicht ganz OK, aber der Platz war dann 
doch etwas eng.
Aufgebaut ist die Schaltung doch schnell. Inklusive Spannungswandler 
sind es nichtmal 20 Bauteile. Da kostet das Spielen mit dem LCD mehr 
Zeit. Und das schlimme ist, da kann man garnichts dagegen machen...

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Benedikt,
den AQV257 wo gibt es den?

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Pollin hatte den jahrelang. Jetzt gibt es den nur noch für viel Geld 
z.B. bei Conrad. Allerdings braucht man den nicht unbedingt. Der dient 
nur dazu die Displayspannung abzuschalten. Da das Pollin LCD dies aber 
intern über DispOFF\ macht, man man den AQV257 weglassen. Daher ist der 
auch gestrichelt eingezeichnet.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@ Benedikt K.: Mit welchen Programm machst du eine Fonts ?

von Benedikt K. (benedikt)


Lesenswert?

Erst ein Screenshot von den Zeichen 0-255 der Konsolenausgabe von 
Windows und dann zerlege ich die Bilder mittels eines kleinen C 
Programms, das mir die Daten entsprechend anordnet. Hier in dem Fall 
sind nämlich immer die Nibble vertauscht, und das ganze ist nicht ein 
Buchstabe am Stück, sondern immer die erste Zeile von jedem Buchstaben 
des Zeichensatzes, dann der zweiten usw. angeordnet.
Hier habe ich mal einige davon zusammengestellt:
Beitrag "LCD Schriftarten ( Fonts in veschiedenen Größen )"

von Bruno P. (bbruno)


Angehängte Dateien:

Lesenswert?

Hallo Benedikt,

eine kurze Zwischenfrage:
Würde Deine Software evtl. auch Displays mit 240x128 Pixeln ansteuern 
können?

Grund:
Ich sitze seit 2006 auf mindestens 100 LCDs, die doch irgendwie zu 
schade zum Entsorgen sind. Ein Bastler Namens Sven machte sich damals an 
die Arbeit und entwarf einen Displaycontroller, der sogar schon ein paar 
sinnvolle Worte auf eines meiner Displays zauberte.
Leider hat sich Sven seit dem nicht mehr um die Elektronik und seine 
Website gekümmert, weil er weitere Mysterien des Lebens entdeckt hat -> 
die Frauen ;)
Sei es ihm herzlich gegönnt!

Wie auch immer - ich wäre sehr froh, wenn ein paar meiner Displays zum 
Leben erwachen..

Viele Grüße,
Bruno

PS: Ein von Sven erstelltes Datenblatt meiner Disyplays als Datei-Anhang 
(Die Version ohne eigenen Controller).

von Benedikt K. (benedikt)


Lesenswert?

Theoretisch könnte es gehen. Es wird aber alles andere als einfach, da 
das Display 1bit Daten haben möchte, und das zweimal, einmal für die 
obere und einmal für die untere Hälfte. Das ist etwas aufwendiger, da 
beide Daten parallel errechnet werdne müssen.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Oder man hängt zwei Parralle zu Seriell IC davor :)
Dann könnte man doch zwei bytes laden, und dann gemütlich reintakten 
oder spricht etwas dagegen?

von Benedikt K. (benedikt)


Lesenswert?

Ja, das würde gehen.
Es würde sogar ein IC reichen: Für einen Kanal könnte man SPI verwenden, 
für den anderen ein HC165. Dann könnte man auch den SPI Takt verwenden.
Aber die Software müsste man trotzdem anpassen, und auch trotzdem zwei 
Buchstaben gleichzeitig laden und verarbeiten. Also ein wenig Arbeit.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hi,
vielleicht mal noch ein paar Worte zum Inverter:
Ich habe das o.g. Teil von Pollin heute bekommen.
Schön ist, das der Inverter in ein Gehäuse steckt.
Und funktionier sogar!
 Ich beteibe den Inverter statt 12V mit 6V, bei 5V würde das Pollin GLCD 
die Beleuchtung halten , zündet aber nicht.
Anschlusschnur mit Stecker ist dabei, statt der "Röhre" kann auch eine 
3pol Buchse, wie für Computerlüfter vorgesehen raufgesteckt werden.

Übrigens ich hab son Teil bei Eb.. für 1 Euro gesehen.


Wigbert

von Bruno P. (bbruno)


Lesenswert?

Benedikt K. wrote:
> Theoretisch könnte es gehen. Es wird aber alles andere als einfach..

Hallo Benedikt,

danke Dir für die Antwort!
Dann werde ich mir mal ein vernünftiges Display besorgen und meine 
"Sammlung" für nen "Appel und ein Ei" vertickern - was solls..
Zumindest haben meine Displays wunderbare EL-Folien als Backlight - 
schön zum basteln ;)

Viele Grüße,
Bruno

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Naja so schnell würd ich die Displays nicht aufgeben.
Er sagt nur, dass es mit seinem code nicht so einfach ist, generell ist 
es auf jeden fall möglich die Displays anzusteuern denke ich.

von Christian J. (Gast)


Lesenswert?

hallo,

Macht es Sinn, die negative Spannung an den Displays regelbar zu machen, 
zB Kontrast? Und wenn ja in welchem Bereich? Wie man den einstellt weiss 
ich noch nicht. Erzeuge die neg. Spannung derzeit mit fertign -24V DC/DC 
Wandlern, die müssen aber noch einen LM317 etc dran kriegen zur 
Regulierung.

Gruss,
Christian

von Benedikt K. (benedikt)


Lesenswert?

Der LM317 ist für den positiven Bereich, mit einem LM337 könnte es 
funktionieren, allerdings benötigt dieser einen relativ hohen Ruhestrom.
Ich regele den Kontrast per Software über PWM, indem ich den Bezugspunkt 
für den Spannungsteiler des Spannungswandlers zwischen 0V und 5V 
verschiebe. Das Pollin Display hat eine relativ steile Kennlinie, daher 
reichen die 5V aus um zwischen nichts auf dem Display bis alles schwarz 
einstellen zu können. Den optimalen Kontrast erreiche bei meinem Display 
mit etwa -18V, was ziemlich genau den 23V aus dem Datenblatt entspricht.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hallo Benedikt,
benutzt Du für die neg.Spannungserzeugung mit MC34063 eine normale
Drosselspule (Foto)? In irgendeinen anderen Thread hab ich eine ander 
Aussage gelesen ...

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Die Stromaufnahme von dem Display ist so gering, dass man nahezu alles 
als Spule verwenden kann. Die andere Schaltung die du meinst ist im 
640x480 Thread. Diese Displays benötigen oft eine höhere Spannung von 
bis zu -25V. Dann kommt man schon in die Nähe von dem theoretischen 
Maximum, das der 34063 auf den 5V erzeugen kann.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hallo Benedikt,

noch mal zur negativen Spannungserzeugung:
Laut DBL des MC34063 sollte bei externen PNP Transistor Pin 2 auch mit 
angeschlossen werden (Leuchtet mir ein ,da sonst die int. Transistoren 
nicht Funktionieren). Du lässt Pin 2 offen, ist das richtig?


Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Schwer zu sagen. Dem Ersatzschaltbild aus dem Datenblatt nach 
funktioniert meine Lösung (in der Praxis geht es natürlich auch.)
Der Grund für diese etwas unkonventionelle Beschaltung ist einfach:
Der Basisstrom für den externen PNP Transistor wird von dem internen 
Transistor des 34063 aus der aufwendig erzeugten negativen Spannung 
gewonnen. Da die Einschaltdauer des Transistors ziemlich hoch ist, wird 
die negative Spannung ziemlich stark belastet, was den Wirkungsggrad 
massiv verschlechtert. Meine erste Idee um das zu umgehen war, den 
Emitter des internen Transistors nicht an die negative Spannung, sondern 
an Masse zu legen. Allerdings wird die Basis dann negativer als der 
Emitter, was zu einem Durchbruch der Basis-Emitterdiode führt.
Daher jetzt diese Schaltung: Der Basisstrom des PNPs wird nur noch von 
dem Treibertransistor des 34063 geliefert, und fließt über die als Diode 
zweckentfremdete Basis-Kollektor Diode des Schalttransistors des 34063. 
Schaltet der Transistor ab, kann der interne Treibertransistor auf ein 
Potential der negativen Spannung gezogen werden, da die Basis-Kollektor 
Diode sperrt.
Da ich nicht genau weiß, ob der reale Aufbau des 34063 identisch mit der 
Prinzipschaltung aus dem Datenblatt ist, bin ich nicht absolut sicher, 
ob das so passt. Meine Messungen haben jedoch gezeigt, dass der 
Wirkungsgrad deutlich besser als bei der Orginalversion ist, und dass 
der Emitter des Schalttransistors zwischen negativer Spannung und 
Massepotential pendelt. Das ganze scheint also so zu funktionieren wie 
geplant.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt K.
>Da ich nicht genau weiß, ob der reale Aufbau des 34063 identisch mit der
>Prinzipschaltung aus dem Datenblatt ist

seltsamerweise funktioniert das Orginlbeispiel ohne Transistor, wobei 
bei Deiner Variante der Transistor sich verabschiedet.
Ich nehme mal an, es wird kein interner Takt erzeugt, und der 
Gleichstromwiderstand L2 ist dann für den BC... zu viel.
MC34063 ist garantiert OK.
Wenn ich an R1 statt PWM ein Poti (GND, +5, Schleifer R1) müsste doch
auch geregelt werden?
Wieso ist R5 so hoch , welchen Takt nimmat Du als Grundlage?

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht wrote:
> @Benedikt K.
>>Da ich nicht genau weiß, ob der reale Aufbau des 34063 identisch mit der
>>Prinzipschaltung aus dem Datenblatt ist
>
> seltsamerweise funktioniert das Orginlbeispiel ohne Transistor, wobei
> bei Deiner Variante der Transistor sich verabschiedet.

Interessant. Ich habe die Schaltung bestimmt schon 10x aufgebaut, und es 
hat bei mir jedesmal problemlos funktioniert (sowohl mit Orginal MC34063 
als auc mit der schlechten Kopie TS34063)

> Wenn ich an R1 statt PWM ein Poti (GND, +5, Schleifer R1) müsste doch
> auch geregelt werden?

Ja.

> Wieso ist R5 so hoch , welchen Takt nimmat Du als Grundlage?

R5 bildet zusammen mit R4 den Spannungsteiler der die Ausgangsspannung 
festlegt.
Der Bezugspunkt dieser Spannung wird per RC Glied R1/C1 und PWM zwischen 
etwa 0V und 5V verschoben, und dementsprechend auch die 
Ausgangsspannung.
Ein Poti anstelle von R1/C1 oder auch eine Veränderung des Widerstandes 
R5 verändert die Ausgangsspannung.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt K.
>Ich habe die Schaltung bestimmt schon 10x aufgebaut
"Gut Ding will wohl Weile haben".
Jetzt funtioniert sie bei mir auch. Hab den Kond. 1nF ausgetauscht.
Dank Dir für die erklärende Worte.

Wigbert

von Florian K. (makrocontroller)


Lesenswert?

Ich habe eine Frage zu den beiden Displays
http://www.pollin.de/shop/shop.php?cf=detail.php&pg=OA==&a=ODI1OTc4OTk=&w=OTg4OTk4&ts=0
http://www.pollin.de/shop/shop.php?cf=detail.php&pg=OA==&a=OTM1OTc4OTk=&w=OTg4OTk4&ts=20

Das eine ist weiß, das andere schwarz. Stimmt es, dass bei dem weißen 
dann die gesetzten Pixel schwarz erscheinen und man die Schrift zur Not 
auch ohne die Hintergrundbeleuchtung lesen könnte ?

Ist als Anschluss einfach ein Flachbandkabel ohne Stecker da ? Ich kenne 
mich mit den Stecker-Typen nicht so aus. Wie heißt den so ein Stecker 
und die zugehörende Buchse, mit dem man eine Verbindung von einem 
Flachbandkabel zu einer 2,5 mm Lochrasterplatine herstellen kann ? Und 
wo bekommt man so was (Pollin, Reichelt, Conrad, ???).

von Benedikt K. (benedikt)


Lesenswert?

Florian K. wrote:

> Das eine ist weiß, das andere schwarz. Stimmt es, dass bei dem weißen
> dann die gesetzten Pixel schwarz erscheinen und man die Schrift zur Not
> auch ohne die Hintergrundbeleuchtung lesen könnte ?

Ja. Sogar sehr gut, wenn ausreichend Licht da ist.

> Ist als Anschluss einfach ein Flachbandkabel ohne Stecker da ?

Ja.
>  Wie heißt den so ein Stecker
> und die zugehörende Buchse, mit dem man eine Verbindung von einem
> Flachbandkabel zu einer 2,5 mm Lochrasterplatine herstellen kann ?

Sowas gibt es nicht (habe ich zumindest nie gesehen). Da es sich um ein 
1mm Raster handelt, sind die meisten Buchsen (meist als FPC bezeichnet) 
entweder SMD oder mit 2 reihigem Lötanschluss im 2mm Raster.

> Und wo bekommt man so was (Pollin, Reichelt, Conrad, ???).

digikey hat die ganz sicher. Ansonsten bin ich überfragt. Ich ersetzte 
das Kabel immer durch ein Flachbandkabel mit 1,27mm. Ist zwar eng, geht 
aber.

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi Florian K.

>Wie heißt den so ein Stecker

Das angeschlossene Flachbandkabel hat nach meinem Ausmessen ein Raster
von 1mm.
Wenn Du schnell "arbeitsfähig" sein willst, würde ich von Pollin
die FFC Buchse 450 975 (22pol) oder die SMD 450 969 (14 
pol.)ausprobieren.
Beide sind zwar von der Pinanzahl breiter, da aber das Kabel steckbar 
ist, spielt das für ein Experimentierboard keine Rolle und preiswert. 
Eine Adapterplatine brauchst Du in beiden Fällen.
Bei Digikay hatte ich den Stecker 609-1939-ND (12pol, 1mm Raster) 
ausgesucht. Vielleicht Sammelbestellung nutzen.
Oder nach "Molex" FFC/FPC Connector 1mm googeln.
Ich hab etliche Stecker auf ein altes Lexmark-Druckerboard gefunden,
ein SMD sogar in eine Computerfestplatte.
Anbei mal eine Brd. Datei einer 30 pol. Adapterplatine für Stecker
für Printmomtage. Lässt sich schnell umzeichnen.

von Florian K. (makrocontroller)


Angehängte Dateien:

Lesenswert?

Hallo,
vielen Dank für eure Antworten.
Leider kann ich mit der Brd Datei nichts anfangen, da ich bislang noch 
nicht mit Layoutprogrammen gearbeitet habe. Wenn ich die Beschreibungen 
auf der Pollin-Webseite zu den Teilen FFC Buchse 450 975 (22pol) bzw. 
SMD 450 969 und zum Digikey 609-1939-ND richtig verstanden habe, haben 
die Pins einen 1 mm Abstand, so dass man das Teil noch nicht direkt in 
eine Lochrasterplatine einlöten kann.
@Wigbert Picht: Hast du mit Adapterplatine eine Platine gemeint, mit der 
man eine "Brücke" zwischen dem Rastermaß 1 mm zu 2,54 mm herstellen kann 
?

Ich habe mal das oberste Bild dieses Threads genommen, und zwei Teile 
mit 1 und 2 beschriftet. In Teil 1 ist wohl das Flachbandkabel 
eingespannt. Vielleicht sind am Teil 1 die Pins dann im 1 mm Abstand, 
und Teil 2 stellt die Verbindung zum 2,54 mm Rastermaß her, oder ? 
Leider konnte ich im Internet noch nichts finden, was dem Teil 2 
entspricht.

>  Wie heißt den so ein Stecker
> und die zugehörende Buchse, mit dem man eine Verbindung von einem
> Flachbandkabel zu einer 2,5 mm Lochrasterplatine herstellen kann ?
>> Sowas gibt es nicht (habe ich zumindest nie gesehen).
Da verstehe ich nicht ganz. Im obigen Bild wird doch über das Teil 1 + 2 
eine Verbindung zu eine 2,54 mm Rasterplatine hergestellt.

Schöne Grüße
Florian

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Florian K.

>richtig verstanden habe, haben
>die Pins einen 1 mm Abstand, so dass man das Teil noch nicht direkt in
>eine Lochrasterplatine einlöten kann.

richtig

> Hast du mit Adapterplatine eine Platine gemeint, mit der
>man eine "Brücke" zwischen dem Rastermaß 1 mm zu 2,54 mm herstellen kann

Ja,
Die Adapterplatiene dient nur den Zweck das Orginalkabel(1mm Raster) zu
beschalten, um kein lastiges Umlöten zu machen. Die Platine hat ein 
Stecker für das Displaykabel und gibt alle Pins auf eine Kontaktbuchse 
im 2,5 mm Raster aus. Ich hab ein 30 pol. Variante aufgebaut,
um für spätere Zeiten universell zu sein.
So was baut man einmal und nimmt immer wieder.

>Da verstehe ich nicht ganz. Im obigen Bild wird doch über das Teil 1 + 2
>eine Verbindung zu eine 2,54 mm Rasterplatine hergestellt.

wie Benedikt schon oben erwähnte, hat er ein anderes Kabel
(1,25 mm Raster) ans Display gelötet

>Teil 2 stellt die Verbindung zum 2,54 mm Rastermaß her

Such mal bei Conrad nach "Pfostensteckverbinder" bzw. 
"Leiterplatten-Verbinder"

Wigbert

von Florian K. (makrocontroller)


Lesenswert?

Danke. Ich glaube, nun weiß ich was ich kaufen muss.

von Gast (Gast)


Lesenswert?

Hallo Zusammen,

Bei LC-Displays sieht man ja nach Anschluss der Betriebspannung und der 
negativen Spannung durch drehen am Kontrast Poti, alle Pixel, ist das 
auch hier der Fall, oder geht das nur wenn man die Ansteuerung 
angschlossen hat ?

von Benedikt K. (benedikt)


Lesenswert?

Das geht nur wenn das LCD angesteuert wird (die 44780 kompatiblen haben 
die Ansteuerung schon mit drauf, daher geht das bei denen).

von Xter Gast (Gast)


Lesenswert?

@Benedikt:

Im ASM Code steht was von M drin das am Display angeschlossen werden 
soll, das Display hat kein M Pin - ist das Display LCD-Modul NAN YA 
LTBE9T372G1K

Kann ich das einfach weg lassen bzw nicht anschliessen und dann klappt 
alles?

Xter Gast

von Benedikt K. (benedikt)


Lesenswert?

Ja, kann man weglassen. Die Software ist nicht speziell für das 
LTBE9T372G1K geschrieben, andere LCDs benötigen das Signal, daher ist es 
drin.

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi,
hab zum Displaytest mit ein m8 ein Testboard "geschraubt".
Funktionierte auch gleich auf Anhieb.
Hab das mal "Modulo" gemacht.
Vorn der RS232 Pegelwandler.
Daninter das Board für die -22V Kontrast- Einstellung. Als Speicherspule 
fand ein Ferrit-Übertrager aus einem EVG für LS-Lampen seine letzte 
Daseinsberechtigung. Da das Display wirklich ein "steilen" Kontrast hat, 
wurde die neg.Spannung mit ein Poti eingestellt.
Das Controllerboard hat noch Platz für evtl. Erweiterungen und ist aus
ein Lochrasterboard hergestellt. Das Display wird mit der o.g.
Adapterplatine versorgt. Hinterm Display der Inverter von Pollin.
Die gesamte Schaltung + Inverter wird mit ca 7,5V eingespeist. Wobei der 
7805 auf der Lochrasterplatine die 5V bereitstellt.


@ Benedikt K.
kann die Befehlsliste nicht für die m8 Version finden.

Wigbert

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Hier der Befehlssatz für den mega8.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Dank Dir Benedikt, schon die m8 Version ist beeindruckend. Toll.
Wechsle demnächst auf m168 über...

Wigbert

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@benedikt

beim 640x400/480 Display kann man über einen Code Area/Text und 
Grafikmodus umschalten. Geht das auch mit diesen Display hier?
Was müsste man tun um ein Pixel in x,y darzustellen? Gibts auch dafür 
einen Code zur Umschaltung in den Modis? mein Display LCD-Modul NAN YA
LTBE9T372G1K

von Benedikt K. (benedikt)


Lesenswert?

Avr Nix wrote:
> @benedikt
>
> beim 640x400/480 Display kann man über einen Code Area/Text und
> Grafikmodus umschalten. Geht das auch mit diesen Display hier?

Mit dem Display an sich ja, aber nicht mir diesem Code.

> Was müsste man tun um ein Pixel in x,y darzustellen?

9,6kByte SRAM hinzufügen...

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Ist den der Code für Area, Textmodus (0x08) und Grafilmodus (0x09) der 
gleiche für dieses Display?

von Benedikt K. (benedikt)


Lesenswert?

Ich weiß jetzt nicht welches 640x480 Display mit Text/Grafikumschalung 
du meinst.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Also von dieser Seite 
http://www.mehto.roboterbastler.de/?Projekte:Display_Controller:Entwicklung

TOSHIBA - TLX-1181-13

Tutorial und die Modis: 
http://mehto.roboterbastler.de/?Projekte:Display_Controller:Downloads_%28Tutorials%2CDatenblatt...%29

Gibts solle Modis auch auf ein 320x240 , denke mal die sind sich 
ähnlich?

von Benedikt K. (benedikt)


Lesenswert?

Ja, das geht mit meiner anderen Software (interessanterweise ist meine 
Schaltung verblüffend ähnlich, bzw. nahezu identisch zu der von mehto):
Beitrag "LCD Controller für 640x480 LCD mit mega8515"
Da gibt es irgendwo auch eine Version für 320x240 Displays.
Ich verwende grundsätzlich den Grafikmodus. Die Software beinhaltet aber 
einen Zeichensatz und schreibt daher auch Text auf das Display.

von Avr N. (avrnix) Benutzerseite


Lesenswert?


von Benedikt K. (benedikt)


Lesenswert?

Ja.

von Thomas H. (merlin63)


Lesenswert?

hallo benedikt

lese diesen beitrag nun das erste mal und bin schwer beeindruckt und 
interessiert. nicht zuletzt aus dem grund, weil ich hier zwei NAN YA 
displays zu liegen habe und seit tagen versuche daten dazu zu bekommen. 
von der größe her müßten es auch 320x240iger sein. die bezeichnung 
lautet

LTBHBT357 H2CK die kontrollerplatine hat wohl einen SID13704 drauf. die 
versorgungsspannung und wenn ich das richtig gesehen habe einen 
SP491.....der hat wohl was mit RS485 zu tun. das display i8st in einem 
gehäuse und hat eine sechsadrige zuleitung. zwei sind die 
betriebsspannung und die vier restlichen dann wohl die RS485......keinen 
plan wie man das anschließt. ach ja und im gegensatz zu deinem LCD hat 
es eine 16 adrige folienleitung.

@all kennt jemand vlt dieses display und könnte mir weiterhelfen.
wenn es hilft könnte ich noch bilder einstellen.
danke schonmal

LG thomas

von Otto53 (Gast)


Lesenswert?

Hallo Benedict,
Ich habe mir Deinen Comtroller einmal angeschaut, gefällt mir gut. 
Lediglich
den Teil mit dem M34063 habe ich nach der Original-Schaltung nach 
National
Semiconductors gebaut.
Was ich nicht hinbekommen habe ist CR (carriage return  - Dezimal -13). 
Der
Befehl ist deinem Command-Bereich nicht decodiert. Ich habe mal versucht
den CR Befehl zu implementieren, der Cursor geht auch auf den 
Zeilenanfang, jedoch auf die vorhergehende Zeile und nicht in die 
gleiche Zeile.
Frage: Wie setzt Du den Spaltenzähler zurück, ohne den Zeilenzähler zu
dekementieren?

Gruß  Otto53

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Stimmt, den Carrige Return Befehl habe ich wirklich vergessen 
einzubauen. Ich habs mal nachgeholt.
Das Problem an dem Befehl ist, dass man quasi Modulo Zeilenbreite 
rechnen muss.
Dazu beginne ich am Anfang der untersten Zeile und ziehe solange eine 
Zeilenbreite ab, bis ich kleiner als die aktuelle Cursorposition bin.

von Otto53 (Gast)


Lesenswert?

Danke für Deine Hilfe!

Ich habe eine Platine für den Controller in Target entworfen, mit
zusätzlichem Anschluß an eine echte V24 Schnittstelle. Sobald sie
komplett fertig ist wird sie veröffentlicht.

Otto53

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Hier eine neue Version für den mega8.
Nun ist endlich ein Cursor verfügbar. Da die ganze Software nur mit 
Buchstaben und nicht mir Grafik umgehen kann, wird der volle Block aus 
dem Zeichensatz als Cursor zweckentfremdet.
Der Cursor ist in 2 Varianten verfügbar: Dauerhaft an oder Blinkend 
(abwechselnd der Block/das eigentliche Zeichen, Blinkfrequenz im Code 
einstellbar).
Eventuell baue ich irgendwann auch noch einen echten Cursor ein, der 
grafisch über den Text gelegt wird.

von Martin (Gast)


Lesenswert?

@ Benedikt K. (benedikt),

eine kleine Frage,

warum nimmst du für den MC34063 im Schaltbild einen externen Transistor?
Bei der kleinen Leistung sollte der Interne Darlington doch reichen, 
oder hat das andere Gründe?
Bitte um Aufklärung :D

von Benedikt K. (benedikt)


Lesenswert?

Der Darlington hat etwa 1,5V Spannungsabfall. Bei 5V Betriebsspannung 
bleiben daher nur noch etwa 3,5V übrig. Damit auf mehr als -20V zu 
kommen ist etwas knapp, daher der externe Transistor.

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi,
hab durch das verlängerte Wochenende mal Zeit gefunden
Benedikts Projekt auf eine Platine aufzubauen. Das Board hat eine
Grösse von 50mm x 60mm. Es wurde eine Lochrasterplatine verwendet.
Es lohnt sich wohl wirklich nicht eine Platine zu entwerfen.
Eine Adapterplatine mit SMD-Flachbandstecker bildet die Verbindung
zum Display.
Erwähnenswert wäre die hochkant aufgelötete "Kontrasttablette"
Ein Board zur Erzeugung der neg. Kontrastspannung. Teilweise in SMD,
aber gross genug um eine grössere Speicherspule aufzunehmen zu können(in 
dieser Anwendung reichte ja eine Ind. in Widerstandsform).

Wigbert

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Hallo Benedikt,

ASM ist nicht gerade meine Welt und ich möchte nur die Ausgabe der ASCII 
zeichen haben ohne die COM Schnittstelle.

der Timer-IRQ ist das mit dem definiert über den Vector -> .org OC2addr 
?

Welche Teile muss ich haben um nur die ASCII Zeichen darzustellen?

.dseg -> DDRAM: .byte XSize*YSize   wird da die Anfangs Adresse vom 
DDRAM
zurück geliefert bei z.B. sbr tempi,low(DDRAM)  ...,high(DDRAM) oder der 
Inhalt der Adresse?

die hloop -> gibt die die ASCII Zeichen auf den GLCD aus, also im IRQ 
vom Timer2 ?

was wird mit mit Xsize*ysize+DDRAM angegeben Endadresse oder Inhalt der 
Adresse von DDRAM?

Du hast ja im ersten Post 2 Zeichensätze drinne 8x10 und 12x10
font:   Warum taucht nicht font sondern nur DDRAM auf ?

Ich versuche deinen ASM zu verstehen.

Welche Teile würde ich brauchen um nur die ASCII zeichen auszugeben?

Danke

von Benedikt K. (benedikt)


Lesenswert?

Avr Nix wrote:
> der Timer-IRQ ist das mit dem definiert über den Vector -> .org OC2addr
> ?

Ja.

> Welche Teile muss ich haben um nur die ASCII Zeichen darzustellen?

Du müsstest eigentlich nur den richtigen Text in den Speicher schreiben.
Dieser Code hier füllt den Speicher Standardmäßig mit fortlaufenden 
Werten, so dass der komplette Zeichensatz dargestellt wird:
ldi temp, 32
clrloop:
st Y+, temp
inc temp
ldi temp2, high(XSize*YSize+DDRAM)
cpi YL, low(XSize*YSize+DDRAM)
cpc YH, temp2
brne clrloop

> .dseg -> DDRAM: .byte XSize*YSize   wird da die Anfangs Adresse vom
> DDRAM zurück geliefert

Ja.

> bei z.B. sbr tempi,low(DDRAM)  ...,high(DDRAM) oder der
> Inhalt der Adresse?

Keine Ahnung. Dieser Ausschnitt kommt nämlich nicht in meinem Code vor. 
(Er macht auch so keinen Sinn). Falls du nur das low(DDRAM)/high(DDRAM) 
meinst, damit wird die Adresse auf 2 8bit Werte aufgeteilt, da der AVR 
nur ein 8bit µC ist und den 16bit Wert daher in 2 Teilen laden muss.

> die hloop -> gibt die die ASCII Zeichen auf den GLCD aus, also im IRQ
> vom Timer2 ?

Ja. Genauer gesagt jeweils eine Pixelzeile.

> was wird mit mit Xsize*ysize+DDRAM angegeben Endadresse oder Inhalt der
> Adresse von DDRAM?

Endadresse: XSize*YSize ist dei Größe und die wird zus Startadresse 
addiert.

> Du hast ja im ersten Post 2 Zeichensätze drinne 8x10 und 12x10
> font:   Warum taucht nicht font sondern nur DDRAM auf ?

Ich schreibe den Text in das RAM (daher DDRAM: Display Data RAM) und 
gebe bei der Ausgabe anhand von den Buchstaben im RAM die Bilder der 
Buchsteben auf das LCD aus. font sind daher die Bilder von jedem 
einzelnen Buchstaben.

> Welche Teile würde ich brauchen um nur die ASCII zeichen auszugeben?

Alles bis auf den Bereich rx_uart bis einschließlich UART_RX_int.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hi Benedikt,
damit ich es verstehe:
Clockh = r4 ,
wo wird denn register 4 mit 1 geladen.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht wrote:
> Hi Benedikt,
> damit ich es verstehe:
> Clockh = r4 ,
> wo wird denn register 4 mit 1 geladen.

Clockh ist nur ein anderer Name für r4.
Zwisch LCD_Line und hloop:
cbr tempi, 1<<CLOCK
mov clockL, tempi
sbr tempi, 1<<CLOCK
mov clockH, tempi

Damit wird in clockH das Bit gesetzt, das eben den entsprechenden Pin 
auf 1 setzt. Bei clockL dasselbe, nur wird hier das Bit gelöscht.
Ich könnte theoretisch auch sbi/cbi verwenden, aber die sind um 1 Takt 
langsamer. Klingt nach wenig, aber die 4 Takte mehr sind immerhin 26% 
innerhalb der hloop Schleife.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

unter:
>.org OC2addr ;Bildbeginn

wer lesen kann .....

Dank Dir Benedikt

Wigbert

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt K.
>Ich schreibe den Text in das RAM (daher DDRAM: Display Data RAM) und
>gebe bei der Ausgabe anhand von den Buchstaben im RAM die Bilder der
>Buchsteben auf das LCD aus. font sind daher die Bilder von jedem
>einzelnen Buchstaben.

Jetzt kommt der m8 in meinem Testprogramm an seine Grenzen.
Ladest Du jede Zeile neu aus dem Ram, oder wieviel Byte kann ich laden.
ich wollte mal einfach abgelegte Testzeichen ausgeben.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Das was im RAM ist wird angezeigt.
Neue Daten kann man zwischen den einzelnen Zeilen laden.

von Kay B. (newbie)


Lesenswert?

hallo,
was für einen inverter benötigt das display von pollin,
mfg kay

von Thomas H. (merlin63)


Lesenswert?

hallo leute

ich sehe schon, da habe ich ja ein exotisches display erwischt, wenn 
nicht mal ansatzweise ne antwort kommt.....schade. na ja fals einer 
interesse hat sich mit dem ding zu beschäftigen, einfach melden. für die 
tonne zu schade und zur arbeit zurückbringen geht schlecht ;-).
bis denne
gruß thomas

von Benedikt K. (benedikt)


Lesenswert?

Kay B. wrote:
> hallo,
> was für einen inverter benötigt das display von pollin,
> mfg kay

Irgendeinen CCFL Inverter. Ich habe einen INVC329 von Hitachi an meinem 
dran. Der hat die passende Buchse am Ausgang und passt auch von den 
Strom/Spannungswerten wunderbar.

Thomas H. wrote:
> ich sehe schon, da habe ich ja ein exotisches display erwischt, wenn
> nicht mal ansatzweise ne antwort kommt.....schade.

Ja, das scheint in der Tat irgendwas kundenspezifisches zu sein.
Der 13704 ist ja eingermaßen Standard, aber RS485 an einem LCD nicht. Da 
muss noch irgendein µC drauf sein, der als Schnittstelle zwischen RS485 
und 13704 dient. Aber ohne Kenntniss von dessen Software wird es schwer.

> na ja fals einer
> interesse hat sich mit dem ding zu beschäftigen, einfach melden. für die
> tonne zu schade und zur arbeit zurückbringen geht schlecht ;-).

Könntest du mal ein Foto machen ? Ein Dispay mit 13704 onboard klingt 
interessant. Wenn man irgendwie an die Pins des 13704 kommt, könnte man 
dies durchaus sinnvoll verwenden.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Kay B.
>was für einen inverter benötigt das display von pollin

Pollin 37-700 637 wird statt 12V mit 7V betrieben.

Wenn Du noch ein paar Tage wartest, habe ich Pollin 75-530 858
getestet, hat den Vorteil 5V Nennspannung.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht wrote:

> Pollin 37-700 637 wird statt 12V mit 7V betrieben.

ist leider ausverkauft

> Wenn Du noch ein paar Tage wartest, habe ich Pollin 75-530 858
> getestet, hat den Vorteil 5V Nennspannung.

Habs gerade mal getestet:
Dieser ist für größere Röhren ausgelegt. Es funktioniert zwar, aber die 
Leistung ist etwas hoch: 5V, 0,49A, also rund 2,5W. Laut Datenblatt 
werden 1,4W empfohlen. Dafür leuchtet bereits ab 1,3V (!!!) etwas. Bei 
etwa 3,3V hat man 0,4A, also etwa 1,3W. Für den Betrieb an 3,3V (was das 
Display übrigends auch kann), ist dieser also optimal.
Durch Anpassen des Kondensators am Ausgang, kann man die Leistung aber 
anpassen. Momentan habe ich 18pF drin (das müsste der Orginale sein, 
wenn ich mich nicht irre), mit etwa 10pF sollte der Inverter also auch 
für 5V brauchbar sein.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt K.

>ist leider ausverkauft

dann eben die 37-700 638, da ist eine "bunte" Röhre zu.
Eben waren noch welche da.


Dank dir für die Hinweise. Mir geht es um eine Spannungsversorgung
des Inverters und Controllers.

Wigbert

von Kay B. (newbie)


Lesenswert?

hallo,
also würde der inverter 700 638 dafür auch passen??


kay

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>also würde der inverter 700 638 dafür auch passen
Jup,
die Röhrenfarbe der beigelegten Röhre für andere Projekte ist wohl
Geschmackssache.

Wigbert

von Kay B. (newbie)


Lesenswert?

danke,
so jetz gehts ans bestellen

kay

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@benedikt:

ldi temp, (1<<wgm21) | 2
out TCCR2,temp

-> was bedeutet das: | 2 ?
heisst das Bit WGM12 und Bit 2 auf 1 gesetzt wird und dann ab ins TCCR2 
Register vom Timer2 ?

von Benedikt K. (benedikt)


Lesenswert?

Ja, so in etwa. Bit WGM21 und Bit 1 (2 hoch 1 = 2). 2 ist der Wert für 
den Prescaler für den Timer, hier also 8. Also 16MHz/8=2MHz.

von otto53 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Benedikt,
 wie versprochen eine Platine für Deinen AT Mega 8 Entwurf. Die Platine 
ist in Target entworfen und kann auch für andere Displays verwendet 
werden. Der Controller kann über V24 (K6) oder über einen Port (K7) 
angeschlossen werden. Hierzu die passende Verbindung an K5 
konfigurieren. Das Layout, der Schaltplan,  sowie die Bestückung und 
eine Datei mit den entsprechenden Signalnamen, Pin, Ports etc. sind als 
.pdf Dateien angehängt.

Noch ein Wort zum Layout: Ich habe es so gestaltet, daß K1 zum 
Konfigurieren verwendet werden kann. Steckerleiste K2 dient zum 
modifizierten Anschluß des Display's, wenn das Flexkabel abgelötet 
wurde. Falls das Flexkabel verwendet wird, kann an der rechten Seite der 
Anschlußstecker (1 mm Raster) direkt angelötet werden. Alle anderen 
Steckverbindungen sind im Schaltplan aufgeführt.
Zum Thema CCFL Inverter: Ich verwende den Inverter für Case Modding von 
Revoltec, gibts bei Reichelt für ein paar Euro. Der funktioniert schon 
ab 6 -7 Volt zuverlässig (benötigt 12 Volt für die volle Leistung)

von Benedikt K. (benedikt)


Lesenswert?

Den SWE vom 34063 würde ich nicht an Masse legen. Die Basis-Emitterdiode 
kann dabei nämlich kaputt gehen, da diese nur etwa 7V verträgt. Keine 
Ahnung ob der 34063 eine antiparalleler Schutzdiode eingebaut hat, aber 
die Stromaufnahme ist auf jedenfall um einiges höher und der 
Wirkungsgrad daher um einiges schlechter als bei meiner Schaltung. Wenn 
schon, dann an GND vom 34063. Oder so wie ich das mache.

von otto53 (Gast)


Lesenswert?

Hallo Benedikt,
 ich habe die Schaltung aus den Original Datenblätter von ST. Hier wird 
der SwE (Pin 2) ebenfalls auf GND gelegt . Siehe Link auf Seite 10 Bild 
2

http://www.datasheetcatalog.net/de/datasheets_pdf/M/C/3/4/MC34063.shtml

Die beiden internen Transistoren Q1 und Q2 sind in dieser Darstellung 
parallel geschaltet und müssen die Basis von T1 auf GND ziehen, der max. 
Strom, der hier fließen kann ist 5V/680 Ohm = 7.35 mA. Da sollte der 
34063 verkraften. Laut Datenblatt schafft der MC 34063 1.5A max. Das ist 
zwar der Absolutwert, mit dem man nicht arbeiten sollte, aber bis jetzt 
(4 Tage Dauertest) läuft die Schaltung einwandfrei. Die Stromaufnahme 
ist gering, der IC wird etwa 35 Grad C warm.

von Benedikt K. (benedikt)


Lesenswert?

otto53 wrote:
> Hallo Benedikt,
>  ich habe die Schaltung aus den Original Datenblätter von ST. Hier wird
> der SwE (Pin 2) ebenfalls auf GND gelegt . Siehe Link auf Seite 10 Bild
> 2

Meinst du Seite 11 ?
Das wundert mich jetzt aber, dass die so eine Schaltung ins Datenblatt 
abdrucken.
Ich hatte es früher auch den Emitter auf GND, aber da die Basis des 
Treibertransistors dann negativer wird als die Basis, geht entweder der 
Transistor kaputt, oder (was ich eher glaube) fließt ein ordentlicher 
Strom da antiparallel eine Schutzdiode liegt. Ich konnte zumindest den 
Stromverbrauch gegenüber der Emitter auf GND Lösung halbieren (bei 
gleicher Last). Wenn also vom Emitter nach GND eine Diode eingebaut 
wird, verdoppelt sich der Wirkungsgrad !

Hier wird es richtig gemacht.
http://www.onsemi.com/pub_link/Collateral/MC34063A-D.PDF
Seite 8, Fig. 13b

von GastTX (Gast)


Lesenswert?

@Benedikt: Was ist ClockL und ClockH und für was sind diese?

In deiner CLRLOOP dient es zum Löschen des Bildschirms?

Was ich auch nicht verstanden habe Wie kommt sagen wir wenn ich "ABC" in 
zeile 2 Spalte 30 darstellen möchte wie das berechnet wird bzw 
dargestellt wird und wo wird das gemacht?

kann ich sagen das Buchstabe an x, y  -> 320*y+x ist? Oder fängt jede 
Zeile bei 1 an wo wird das gemacht?

Wenn ich jetzt ABC Darstellen möchte, wird A dargestellt B und dann C ?
Und wie geschied das genau ? Es wird ja im IRQ nur eine Zeile 
geschrieben?

Muss ich die nicht gesetzen Pixel auch darstellen, damit es 240 Pixel 
pro Zeile werden und wo wird das gemacht?

Was ich auch nicht verstanden habe wenn Zeichen wie ein Bild ist und 
warum kann ich den nicht Pixel einzel setzen, wie müsste das ausehen, 
man kann ja den ganzen zeichensatz doch darstellen ?

Danke für deine Erläuterungen hierzu, mir ist das Prinzip nicht ganz 
klar wie die Buchstaben bzw. Pixels auf den Display landen, wenn jede 
Zeile geschrieben wird und vom Buchstaben nur immer ein Teil ist, also 
eine Pixelbreite des Buchstabens.

GastTX

von Otto53 (Gast)


Lesenswert?

Ja,
Seite 11, 2tes Schaltbild,  anstelle Seite 10, Sorry!

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

@Benedikt K.

>Da kostet das Spielen mit dem LCD mehr Zeit.
>Und das schlimme ist, da kann man garnichts dagegen machen...

da sind der Phantasie wirklich kaum noch Grenzen gesetzt....

Wigbert

von GastTX (Gast)


Lesenswert?

Wigbert, meinste was das erst die Zeit drauf geht wenn du mit Grafik 
arbeitest  und du mit deine Diagramme spielst. ;)

von Benedikt K. (benedikt)


Lesenswert?

GastTX wrote:
> @Benedikt: Was ist ClockL und ClockH und für was sind diese?

Das sind die Werte die an PortB angelegt werden, mit jeweils dem 
Shiftclock Pin auf Low bzw. auf High.

> In deiner CLRLOOP dient es zum Löschen des Bildschirms?

Eigentlich ja. Ich schreibe allerdings den Zeichensatz auf das Display.

> Was ich auch nicht verstanden habe Wie kommt sagen wir wenn ich "ABC" in
> zeile 2 Spalte 30 darstellen möchte wie das berechnet wird bzw
> dargestellt wird und wo wird das gemacht?

Y ist der Pointer der auf das nächste zu schreibende Zeichen zeigt. Bei 
jedem Zeichen wird der um eins erhöht.
Bereichnet wird Y u.a. bei com16: Set Cursor.

> kann ich sagen das Buchstabe an x, y  -> 320*y+x ist? Oder fängt jede
> Zeile bei 1 an wo wird das gemacht?

Nicht 320 sondern 40, da ich nur Buchstaben verwende, und ein Buchstabe 
8 Pixel breit ist: Speicheradresse = Startoffset + x + 40*y
Und das wird auch genauso berechnet:
ldi temp2, XSize
mul RX, temp2
mov YH, r1
mov YL, r0
subi YL, low(-DDRAM)  ;Offset aufaddieren
sbci YH, high(-DDRAM)
add YL, temp    ;Spalte aufaddieren

> Wenn ich jetzt ABC Darstellen möchte, wird A dargestellt B und dann C ?
> Und wie geschied das genau ? Es wird ja im IRQ nur eine Zeile
> geschrieben?
Der gesamte Text (40x20 = 800 Zeichen) steht im SRAM. Jede Textzeile 
wird 12x ausgelesen und jeweils die entsprechende Pixelzeile ans Display 
geschrieben, da ein Buchstabe 12 Pixel hoch ist. Das ganze passiert 20x, 
dann ist ein Bild fertig.

> Muss ich die nicht gesetzen Pixel auch darstellen, damit es 240 Pixel
> pro Zeile werden und wo wird das gemacht?

320 Pixel pro Zeile. Es müssen alle übertrafen werden. Das passiert 
alles in dem Bereich zwischen LCD_Line: und reti. Alles andere an Code 
ist nur für das Laden von neuen Daten zuständig.

> Was ich auch nicht verstanden habe wenn Zeichen wie ein Bild ist und
> warum kann ich den nicht Pixel einzel setzen, wie müsste das ausehen,
> man kann ja den ganzen zeichensatz doch darstellen ?

An sich ist das möglich, aber dazu bräuchte man 320x240Bits. Der mega8 
hat aber nur 1k und keine 9,6kByte. Daher verwende ich Text, was den 
Speicherbedarf auf 40x20 reduziert.

> Danke für deine Erläuterungen hierzu, mir ist das Prinzip nicht ganz
> klar wie die Buchstaben bzw. Pixels auf den Display landen, wenn jede
> Zeile geschrieben wird und vom Buchstaben nur immer ein Teil ist, also
> eine Pixelbreite des Buchstabens.

Ganz grob betrachtet betrachtet, besteht die Software aus mehreren, 
verschachtelten Schleifen, hier mal der entsprechende Pseudo C Code

for textzeile=0; textzeile<20; textzeile++
  for zeichen_pixelzeile=0; zeichen_pixelzeile<12; zeichen_pixelzeile++
    for textspalte=0; textspalte<40; textspalte++
      displaybyte=schriftart[text[textzeile][textspalte]][zeichen_pixelzeile];

Die innerste Schleife ist im Code die hloop, die anderen beiden sind 
Zähler die in jedem Interruptdurchlauf erhöht werden.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@ Benedikt K.
>mit etwa 10pF sollte der Inverter also auch
>für 5V brauchbar sein.

Also ich hab ein 10pF Kond. eingelötet. Habe bei 5V (genaugenommen 
4,95V)
260mA jetzt bei Displayanschluss, also knappe 1,3 W. Sollte gehen.
Aber! der orginale Kond. ist für 3KV ausgelegt. 2KV bei Oppermann kein
Problem. Sind denn wirklich mehr als 2KV zu erwarten? Ich dachte das
Ding läuft mit ein paar hundert Volt. Und dann C für doppelte Ua Spitze 
ausgelegt.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Schwer zu sagen. Es hängt stark vom Inverter ab.
2kV werden vermutlich funktionieren, aber keine Ahnung ob das 
zuverlässig sein wird.
Ich habe mal einige Datenblätter überflogen. Bei anderen Invertern für 
ähnlich große CCFL Röhren (wie die die orginal an dem Inverter von 
Pollin hängt) wird meist um die 1-1,5kVeff Leerlaufspannung angegeben. 
Also bis zu 2kVss. Es wird also knapp.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Das hab ich befürchtet das beim Start bis zum Nennbetrieb Spitzen 
auftreten, trau mir mit meinen bescheidenen Messmitteln auch nicht
ein Oszi ranzuhängen.
Dank Dir.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Messen funktioniert da sowiso nicht mit den üblichen Geräten, denn 
alleine schon die Kapazität eines Tastkopfs belastet das Signal so 
stark, dass die gemessene Spannung nicht mehr viel mit der Realität zu 
tun hat.
Das kann man leicht ausprobieren, wenn man z.B. die Kabel vom Inverter 
zum LCD anfasst. Dann wird das Display um einiges dünkler.
Ein 100:1 oder 1000:1 Tastkopf mit einer Kapazität im unteren 1 
stelligen Bereich (oder weniger) sollte man schon verwenden. Ich messe 
immer den Abstand den ein Funke überspringt wenn ich beide Pins 
annähere. Das ergibt einen groben Anhaltswert zur Spannung.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

und als Richtwert 1KV/mm oder wie geht das? Noch nie gemacht.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Ja, so in etwa. Es ist noch etwas von der Elektrodenform, Frequenz usw. 
abhängig, aber als ganz grober Anhaltswert reicht das. Zumindest zum 
Vergleich von verschiedenen CCFL Invertern.
Man sollte dies aber nicht allzulange/oft machen. Ich habe zwar noch nie 
einen CCFL Inverter zerstört, aber ausschließen dass nicht dochmal einer 
kaputt geht, kann man nie (da sich der Kondensator dann über den Trafo 
entläd und so eventuell einen hohen Strom in der Primärwicklung 
induziert und die Transistoren zerstört.) Vor allem der Kondensator wird 
dabei maximal belastet (hohe Blindleistung von etlichen VA).

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Na,ja ich hab da in erster Linie angst, das ich bei solchen Experimenten 
zufällig die Leiter berühre und mir den "Weidezauneffekt" antue.

Dank Dir aber für die Info.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Da kann man eigentlich relativ gefahrlos dranlangen. Man wird keinen 
Stromschlag bekommen, sondern sich nur den Finger verbrennen. Es stinkt 
dann ziemlich am Finger... Davon abgesehen spürt man aber kaum etwas.

Das ist teilweise ziemlich gemein. Aufgrund von parasitären Kapazitäten 
ist nämlich nich nur am Ausgang eine Spannung drauf, sondern auch am 
Feritkern von dem Übertrager. Wenn man den berührt vebrennt man sich 
also auch den Finger. Meistens spürt man das garnicht, sondern 
irgendwann stinkt es nur verbrannt, und dann merkt man erst, dass es der 
Finger ist.
Da sich die Energie auf einen sehr kleinen Punkt konzentriert, sieht man 
am Ende nur einen kleinen, schwarzbraunen Punkt auf dem Finger.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>Aufgrund von parasitären Kapazitäten
>ist nämlich nich nur am Ausgang eine Spannung drauf, sondern auch am
>Feritkern von dem Übertrager

schön zu wissen, da hab ich natürlich beim Testen angefasst.
Wohl Glück gehabt.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Oder es einfach nicht gemerkt bzw. nicht gerochen...

von GastTX (Gast)


Lesenswert?

Ich hoffe das sind schöne Brandings gewesen ;)

Benedikt - Welche Ausgaben haben den die Pointer Z und X?
Y Zeigt auf das nächste ASCII-Zeichen im Speicher,OK

Und Z und X wo zeigen die hin und was machen diese?

Wie ist Alphabet eigentlich organnisiert (.db Zeile)
ich sehe mehr Nullen als Zeichen ( entsprechende HEX Werte ).

Wo ist da ein A oder ein O etc. codiert ( Beispiel? ) ?

GastTX

von Benedikt K. (benedikt)


Lesenswert?

GastTX wrote:
> Benedikt - Welche Ausgaben haben den die Pointer Z und X?
> Y Zeigt auf das nächste ASCII-Zeichen im Speicher,OK
>
> Und Z und X wo zeigen die hin und was machen diese?

Y: Schreibpointer
X: Lesepointer
Z: Pointer auf die Schriftart (ZL: ASCII Code, ZH Pixelzeile)

> Wie ist Alphabet eigentlich organnisiert (.db Zeile)

Ziemlich zerstückelt. Es beginnt mit der ersten Pixelzeile von Zeichen 0 
und geht bis zum Zeichen 255. Danach kommt die zweite Pixelzeile usw.

> ich sehe mehr Nullen als Zeichen ( entsprechende HEX Werte ).

Das ist normal. Bei Buchstaben sind weniger Pixel an als ausgeschaltet.

> Wo ist da ein A oder ein O etc. codiert ( Beispiel? ) ?

Das Bild für jedes Zeichen ist 8x12 Pixel groß, also 1x12Byte. Das für A 
liegt z.B. an Position 65 (erstes Byte), 65+256 (zweites Byte) usw.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Benedikt,
damit ich das auch verstehe:
>Das Bild für jedes Zeichen ist 8x12 Pixel groß, also 1x12Byte. Das für A
>liegt z.B. an Position 65 (erstes Byte), 65+256 (zweites Byte) usw.

Empfange "A"
1.Zeile hole Byte 65
2. Zeile jetzt müsste doch im Code irgendwo +256 stehen, wo wäre das,
oder wie?

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht wrote:
> Empfange "A"
> 1.Zeile hole Byte 65
> 2. Zeile jetzt müsste doch im Code irgendwo +256 stehen, wo wäre das,
> oder wie?

Das heißt, A (65) landet im SRAM an der Position auf die Y zeigt.

Irgendwann steht X in der Interruptroutine auf dem selben Wert. Dann 
wird 65 ausgelesen und nach ZL geschrieben. Z zeigt daher auf die erste 
Pixelzeile des Bildes eines A.
ZH ist ein Offset (Beginn der Zeichentabelle) + die Zeile. Daher wird 
nach jeder Zeile ZH um eins erhöht, was dem +256 entspricht. X wird um 
40 erniedrigt und zeigt wieder auf den Anfang der Zeile. Nun kommt X 
wieder zu der Stelle mit dem A, es wird wieder 65 nach ZL geschrieben, 
aber ZH ist jetzt um 1 größer, Z also um 256. Jetzt wird die zweite 
Pixelzeile ausgegeben. Das ganze läuft 12x so ab. Danach wird ZH wieder 
auf die erste Pixelzeile gesetzt, und X ganz normal erhöht um die 
nächste Textzeile zu verarbeiten.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Sorry Benedikt,
 irgendwie tu ich mir schwer.

Deine GCRom Daten 8x10 hat
-10 Blöcke
-jeder Block hat 32x8 = 256 Hexzahlen.

Wenn ich aus jeden Block die 65 abzähle müsste ich doch die
dort vorgefundene Hexzahl in Dual untereinander geschrieben ein "A" 
malen können.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht wrote:
> Deine GCRom Daten 8x10 hat

Oder 8x8 oder 8x12 usw. je nach Höhe eines Zeichens.

> -jeder Block hat 32x8 = 256 Hexzahlen.

Nein, jedes Zeichen hat 8x10 bzw. 8x12 Pixel, also 10x1Byte bzw. 
12x1Byte also 10 bzw 12Bytes.

Die Zeichentabelle ist daher 10x 256Bytes bzw 12x 256Bytes groß.
Für jedes Pixel Zeichenhöhe werden daher 256 Bytes benötigt.
Um alles einfach zu machen, ist die Zeichenbreite auf 8Pixel = 1Byte 
beschränkt, so dass ich mit 256 Zeichen auf genau die 256 Bytes komme.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Ja das verstehe ich ja,
ich versuch in der Font  mein "A" wiederzufinden, das gelingt mir nicht.
müsste doch abzuzählen gehen.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Das steht an Stelle 65, 65+256, 65+512 usw bis 65+2816
Diese Bytes als 8x12 bzw. 8x10 Grafik angeordnet ergeben ein A.

Achso, jetzt versteh ich was du als Block meinst. Die Anordnung als 32x8 
dient nur der Breite. Alle 256 Werte in einer Zeile wären doch etwas 
lang geworden.
Jeder Block ist also eine Pixelzeile.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>Jeder Block ist also eine Pixelzeile
also brauch ich in jeden "Block" nur 65 abzählen
wenn ich jetzt aber abzähle
hab mit 1 angefangen(evtl falsch)
hab ich je Block 3.Zeile 1.Zahl (32+32+1)
0x00
0xC3
0x24
0x99
0x9A
0x9A
0x69
0x04
0xC3
0x00
sollte ein A? werden
kann da kein Muster erkennen.

Irgendwie zähle ich nicht richtig.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Binär wären die Werte das hier:
00000000
11000011
00100100
10011001
10011010
10011010
01101001
00000100
11000011
00000000

Es sieht merkwürdig aus, ich weiß. Es gibt da noch einen Trick in der 
Software: Die unteren und oberen 4bits sind getauscht:
00000000
00111100
01000010
10011001
10101001
10101001
10010110
01000000
00111100
00000000

OK, man erkennt immer noch nix. Daher mal alle 0 durch ein Leerzeichen 
ersetzt:

  1111
 1    1
1  11  1
1 1 1  1
1 1 1  1
1  1 11
 1
  1111


Das sieht doch mal gut aus. Du hast dich also verzählt, da die Zählung 
bei 0 beginnt. Du hast also das Zeichen 64 gelesen.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>unteren und oberen 4bits sind getauscht

1:0 an Dich

Ich hatte das auf Papier aufgemalt mit Nullen konnte echt nichts 
erkennen.
Beim H wäre das einfacher gewesen.

Nun ist das Prinzip wohl klar.
Dank Dir für Deine Geduld.

Wigbert

von Kay B. (newbie)


Lesenswert?

hallo,
habe mir den inverter von pollin 700638 zugelegt nun meine frage 
bezüglich des anschlusses am lcd,im datenblatt vom lcd steht 1=gnd 2=hv 
aber am inverter steht nix dran ist das nun egal wie ich die kabel 
anschliesse?

mfg kay

von Benedikt K. (benedikt)


Lesenswert?

Mess mal am Inverter:
Ein Ausgang sollte Verbindung zur Eingangsseite haben. Das ist GND.
Ansonsten ist es aber (zumindest bei diesem LCD) weitestgehend egal, da 
die CCFL Röhre und die Zuleitungen symmetrisch sind.

von Kay B. (newbie)


Angehängte Dateien:

Lesenswert?

hallo,
so hab mal ein paar bilder vom inverter gemacht rechts ist der eingang 
links der ausgang.

ich glaube das bild mit der unterseite der oberste pin links oben ist 
wohl masse


danke erstmal für die antworten

mfg

kay

von Benedikt K. (benedikt)


Lesenswert?

Der Pin der über den Kondensator geht ist HV, der wo direkt am Trafo 
hängt, dass ist GND.
Eventuell reichen sogar 5V Betriebsspannung aus, wenn beide Ausgänge 
parallel geschaltet werden.

von Kay B. (newbie)


Lesenswert?

danke erstmal


werds nacher ausprobieren

von Kay B. (newbie)


Lesenswert?

hallo,
der inverter läuft bei 5volt,

aber das display bleibt dunkel nur beim reset des mega8 wirds kurz weis 
bleibt dann wieder dunkel habs genauso aufgebaut habe alle bauteile 
jetzt schon 3 mal getauscht keine besserung
an was könnte es  liegen

mfg
kay

von Benedikt K. (benedikt)


Lesenswert?

Mess mal die Spannung am VLCD Pin. Hier sollten etwa -18V anliegen.

von Kay B. (newbie)


Lesenswert?

hallo,


die spannung am VLCD Pin ist ungefähr 17,5Volt.

so wenn ich alles einschalte dann ist das ganze display gefüllt mit 
zeichen zahlen buchstaben.
gebe ich zb. hallo in mein terminal programm ein drücke enter dann wirds 
auch angezeigt oben links,so wenn ich einen text an einer bestimmten 
stelle haben will dann gebe ich 17,x5,y10 dann meinen text ber es wird 
dann 17,x5,y10 angezeigt.

verwende HTerm als terminalProgramm

mfg
kay

von Benedikt K. (benedikt)


Lesenswert?

Für die Position darfst du nicht 17,5,10 als ASCII (also als Ziffern) 
senden, sondern die Werte müssen als Dezimalwert gesendet werden.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@Benedikt:

Habe mal die AVR Studio dein Programm Simuliert- ist das normal das die 
Ausgabe die im Speicher steht clrloop Ausgabe des Zeichensatz  öfters im 
SRAM auftaucht? Y wird nicht zurück gesetzt ?

von Avr N. (avrnix) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Benedikt,

ich wollte mal nur die Zeichenausgabe am Anfang haben und habe alles 
Rausgeschmissen was nicht gebraucht wurde.

Es wird nur ein Teil der Ausgabe gemacht und das LCD Flimmern ganz 
schön.

Anbei das ASM für AVR Studio und ein Foto der Ausgabe.


Kennt sich einer aus mit ASM in Bascom, möchte die Displayroutinen in 
BASCOM übertragen bzw den ASM Code ?


Thx

von Benedikt K. (benedikt)


Lesenswert?

Esetze mal das ret im Hauptprogramm durch
main:
rjmp main

ret springt aus der Funktion zurück, nur gab es nie einen Funktionsauf, 
daher gibt das dann irgendwann einen Stack undeflow.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Danke das geht!

jetzt Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"

Warum steht dein Zeichensatz ( !ABC... ) mehrmals im Speicher ?

von Benedikt K. (benedikt)


Lesenswert?

Wo steht was mehrmals im Speicher ?

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Wenn ich dein Code im AVR Studio simultan ausführe wird Ab 0x60 
(Dataspeicher) der Zeichensatz, also  !ABCDEF etc. gespeichert und das 
mehrmals hintereinander weg.

Sieht am wenn man Menmory -> Data sich anschaut und runter scrollt.

Wo wird eigentlich Y auf Anfang gesetzt, wenn alle zeichen geschrieben 
sind ?

von Benedikt K. (benedikt)


Lesenswert?

Avr Nix wrote:
> Sieht am wenn man Menmory -> Data sich anschaut und runter scrollt.

Eigentlich sollte da  !"#$%&'( usw. stehen, das ganze sollte sich erst 
nach 6,4 Zeilen wiederholen.

> Wo wird eigentlich Y auf Anfang gesetzt, wenn alle zeichen geschrieben
> sind ?

Nirgends. Da aber der Cursor automatisch von Ende wieder auf Anfang 
zurück springt, ist das auch garnicht notwendig. Schadet aber auch 
nicht, wenn man es einbaut.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Benedikt K. wrote:
> Avr Nix wrote:
>> Sieht am wenn man Menmory -> Data sich anschaut und runter scrollt.
>
> Eigentlich sollte da  !"#$%&'( usw. stehen, das ganze sollte sich erst
> nach 6,4 Zeilen wiederholen.
>

 ja die zeichen kommen wie du die beschrieben hast - warum müssen den 
die Zeichen sich im SRAM wiederholen?

Reicht das nicht das diese Zeichen nur einmal im Speicher sind bzw 
welchen Grund hat das das die mehrmals da sind ?

von Benedikt K. (benedikt)


Lesenswert?

Eigentlich müssen die Buchstaben garnicht in den Speicher, ich habe dies 
nur eingebaut, damit man sofort sieht, dass das Display funktioniert. In 
der Version die ich verwende, wird das Display komplett gelöscht (alles 
mit 32 beschrieben).

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Verstehe ich jetzt nicht oben steht doch das die Zeichnen auf das 
Display ausgegeben werden, wo wird den das Alphabet ausgeben, wenn alles 
gelöscht wird  ? Ich dachte was ausgeben werden soll muss vorher im 
Speicher stehen?

Wie läuft den dein Programm ab ?

von Benedikt K. (benedikt)


Lesenswert?

Avr Nix wrote:
> Verstehe ich jetzt nicht oben steht doch das die Zeichnen auf das
> Display ausgegeben werden, wo wird den das Alphabet ausgeben, wenn alles
> gelöscht wird  ?

Wenn gelöscht wird, wird garnix ausgegeben.
Ich habe meherere Versionen von der Software. Die die ich ins Forum 
gestellt habe, zeigt den Zeichensatz an, damit man sofort nach dem 
Einschalten sieht: Software läuft, Hardware OK.
Die Version die ich bei mir verwende, zeigt nichts an: Hier werden alle 
Stellen auf Leerzeichen überschrieben (anstelle des Alphabets).

> Ich dachte was ausgeben werden soll muss vorher im Speicher stehen?

Genau

> Wie läuft den dein Programm ab ?

Das was im Speicher steht wird ausgegeben. Im Hintergrund wird der 
Inhalt des Speichers auf das Display geschrieben, im Hauptprogramm die 
UART Daten und Befehle verarbeitet.

von Kay B. (newbie)


Lesenswert?

hallo Benedikt,
mal eine kurze frage bezüglich der fonts,
ich habe die Version mit mega8, wie müsste mann das programm erweitern 
um eine 12x16 Schriftart anzuzeigen.
habe zwar hier Beitrag "LCD Schriftarten ( Fonts in veschiedenen Größen 
)" schon geschaut aber AVRStudio gibt immer eine fehlermeldung aus

mfg
kay

von Benedikt K. (benedikt)


Lesenswert?

12x16 Schriftart wird schwer.
Aufgrund der vielen Vereinfachungen, müssen alle Zeichen nebeneinander 
geschrieben 256 Bytes groß sein, was bei den 8xirgendwas Schriftarten 
der Fall ist. Bei 12xirgendwas müsste man jedes Zeichen erstmal auf 
ganze Bytes, also auf 16 aufrunden, ansonsten wird es unschön zu 
verarbeiten. Dann bleibt also noch Platz für 128 Zeichen. Dann müsste 
man noch die Ausgabeschleife von 2 4bit Blöcke auf 3 4bit Blöcke 
umstellen, um ein Zeichen zu übertragen. Ist schon ein wenig Arbeit.
Die größte Arbeit ist aber erstmal die Erzeugung der Schriftart, da die 
Daten ja Zeilenweise und nicht Zeichenweise angeordnet werden.

von Julius J. (Gast)


Lesenswert?

Hi,

die Links oben im Posting zu den Produkten funktionieren nicht mehr, 
handelt es sich um eines dieser beiden LCDs?

LCD-Modul NAN YA LTBE9T372G1K         9,95€
9,5" LCD-Modul Citizen G6481L-FF      29,95€

von Kay B. (newbie)


Lesenswert?

Julius J. wrote:
> Hi,
>
> die Links oben im Posting zu den Produkten funktionieren nicht mehr,
> handelt es sich um eines dieser beiden LCDs?
>
>

eben nachgeschaut:

http://www.pollin.de/shop/shop.php  =9.95

http://www.pollin.de/shop/shop.php  =14.95

mfg
kay

von Benedikt K. (benedikt)


Lesenswert?

Die Links sind natürlich noch sehr viel besser...

Es sind:
LCD Modul NAN YA LTBE9S159J1K
Best.Nr. 120 471
14,95 EUR

und

LCD-Modul NAN YA LTBE9T372G1K
Best.Nr. 120 460
9,95 EUR

Das hier:

LCD-Modul SHARP LM038QB1R10
Best.Nr. 120 318
7,95 EUR

funktioniert theoretisch auch, läuft aber nur mit 3,3V und benötigt noch 
etliche zusätzliche Spannungen. Ist also um einiges komplizierter von 
der Schaltung her.

von Julius J. (Gast)


Lesenswert?

Ah, danke. Das ist ein faszinierendes Projekt, aber leider blickt man 
durch die Forums Postings nicht mehr durch.
Ich mag das Wort ja nicht aussprechen, aber eine Dokumentation (wiki 
Eintrag) wäre echt hilfreich.
Würde das auch selbst machen, fange aber grad erst an mit AVRs zu 
basteln.

Julius

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@Benedikt:  Dein Zeichensatz wird doch im Flash gespeichert, wo ist den 
die Adresse der jeweiligen Pixelzeile der Buchstaben drin bzw in welchen 
Pointer steht die Adresse die im Flash auf die Zeichensatz zeigt?

von Benedikt K. (benedikt)


Lesenswert?

Z ist der Pointer auf die Zeichen im Flash. ZL beinhaltet den Buchstaben 
und ZH die Pixelzeile + Offset der Adresse.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Aber um den Zugriff im Flash zubekommen muss ich da nicht die Adresse 
wissen ab wo der zeichensatz gespeichert wird und von da an mit den 
Z-Pointer drauf zu zugreifen? Also Anfangadresse wo die Tabelle anfängt 
die dann mit den Offset und Position der Pixelzeile berechnen kann ?

Beispiel Label DDRAM -> Ab Adresse $60 kann ja auch $65 sein , oder $80 
, da wurde ja festlegt.

Aber ab welcher Anfangs - Adresse fängt der Zeichensatz im Flash an, das 
habe ichnicht verstanden ?

Für den Zeichensatz finde ich keinen Label der ja eine Adresse ab wann 
der im Flash gespeichert wird abbildet.

von Benedikt K. (benedikt)


Lesenswert?

Der Zeichensatz liegt an Adresse 1024:
ldi ZH, 4  ; 1024Bytes CGROM Offset

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Ist das Fest ? Wie machst du das das der Zeichensatz bei Adresse 1024 
in Flash anfängt? Must das nicht ihrgenwo festgelegt worden sein ?

von Benedikt K. (benedikt)


Lesenswert?

Avr Nix wrote:
> Ist das Fest ?

Ja.

> Wie machst du das das der Zeichensatz bei Adresse 1024
> in Flash anfängt? Must das nicht ihrgenwo festgelegt worden sein ?

Ja, hier:
.org 512
Die 512 kommen daher, dass AVR Studio in Words zählt.

von Julius J. (Gast)


Lesenswert?

Hi, habe jetzt diese beiden:

LCD Modul NAN YA LTBE9S159J1K
LCD-Modul NAN YA LTBE9T372G1K

wenn ich zum testen die Hintergrundbeleuchtung erstmal weglasse, fällt 
dann im Schaltplan alles unterhalb von R3 weg?


Julius

von Benedikt K. (benedikt)


Lesenswert?

Nein. Die Hintergrundbeleuchtung ist im Schaltplan garnicht drin.
Das unterhalb ist die Erzeugung der Displayspannung. Ohne die geht 
garnix.

von Wolfgang-G (Gast)


Lesenswert?

Hallo Kai B.,
weiter oben hattest Du mal angeboten, Dein angepasstes Programm von 
Pollin zur Verfügung zu stellen.
Ich habe zwar ein  WG320_240B-TFE-NZ, sieht aber Deiner Abb. 
WG320_240B_11.jpg sehr ähnlich. Bei mir sind die Bauteile oben rechts 
nicht mit aufgelötet. (Kennst Du zufällig die Bedeutung?)
Mir ist es noch nicht gelungen, irgendein Zeichen auf die Anzeige zu 
bringen und wäre deshalb an einem funktionsfähigen Programm 
interessiert. (Nur der Kontrast lässt sich z. Zt. einstellen.)
Gibt es schon weitere Fortschritte? (Grafik)
MfG
Wolfgang

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo
hm ja das mit dem umgeänderten Pollin Programm ist bei mir leider in 
Vergessen heit geraten ich habe dieses als Anhang nun beigefügt.
Dazu erstmal ein paar Hinweise.
Es ist mit dem S1d13305 getestet worden da dieser auf dem Pollin Display 
bestückt war. und Als Anschlussbelegung am LPT habe ich mich an das 
Pollin Display Optrex DMF5008 orientiert.

Also auf dem Bild WG320240B_11.jpg dient der Schaltungsteil Recht oben 
als DCDC für die Negative Spannung (für den Kontrast). Vo müsste etwa um 
die -17Volt sein wenn ich mich recht erinnere.

MfG Kai

von Wolfgang-G (Gast)


Lesenswert?

Danke für die schnelle Antwort.
noch eine Bitte: kannst Du mal die Belegung Deiner Parallelschnittstelle 
prüfen, ob sie mit meiner vorhandenen übereinstimmt.
Steckerstift  1 =WR
Steckerstift 14 =CE
Steckerstift 16 =C/D
Steckerstift 17 =RD

MfG
Wolfgang

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo

Also wie gesagt Anschlussbelegung ist wie beim Optrex DMF5008.
Habe im Anhang nochmal ein Bild.
das CS Signal ist hierbei auf LOW
DB0-7 sind entsprechend D0-7(Pin 2-9) vom LPT
So wie es mit der von dir Genannten Belegung aussihet musst du CE/CS mit 
RESET Tauschen dann sollte es ansich gehen

MfG Kai

von TheMason (Gast)


Lesenswert?

@benedikt

sehr schönes projekt mal wieder. muß mir auch endlich mal so ein billig 
display bei pollin zum basteln bestellen :-)

weiter so.

von Wolfgang-G (Gast)


Lesenswert?

Danke Kai,
ich habe eine Anschlussleiterplatte von Pollin, welche zum Grafik-LCD 
DG12864 gehört.
Die Belegung stimmt nach Deinen Angaben im Wesentlichen überein.
Tolle Abb. mit der Einblendung der Belegungstabelle! Ist das eine 
Fotomontage?
Bei mir wird RES über einen Taster bedient. CS habe ich auf L und RD auf 
H gelegt.
Vermutlich ist mein LCD doch defekt.
Nach dem Zuschalten der Versorgungsspannung ist die Anzeige „schwarz“ 
(also Kontrast ist vorhanden), nach dem Betätigen des Rücksetztasters 
entstehen 1 bis 2 waagerechte Zeilen, welche nach dem Loslassen 
verschwinden. Die Anzeige ist jetzt „weiß“ und das war es dann.
Vielleicht hat noch jemand einen Tipp für mich.
MfG
Wolfgang

von Thilo K. (thilok)


Lesenswert?

@ benedikt

auch ich möchte mich endlich mal für die schöne Entwicklungsarbeit 
bedanken.

@ Otto53

auch Dir danke für den Entwurf der Controllerplatine, die ich nun 2x 
nachgebaut habe. Lediglich bei der Erzeugung der negativen Spannung war 
es bei mir nötig, den 680 Ohm Widerstand durch einen etwas kleineren 
auszutauschen (läuft zur Zeit mit 330 Ohm).

So, nun habe ich ein kleines Problem und habe fast Angst, dass ich 
ausgelacht werde...

Die Anteuerung des Controllers über den PC via Hyperterminal 
funktioniert wie erwartet. Gestern habe ich nun versucht, die 
Ansteuerung über einen anderen Atmega8 vom Pollinboard unter BASCOM zu 
machen. Ich nutze dazu den Print Befehl. Grundsätzlich funktioniert auch 
alles, ich bekomme halt nur nicht die Zeichen auf das Display, die ich 
eigentlich möchte. Dabei ist mir völlig schleierhaft geblieben, wie der 
Print-Befehl eigentlich die Ausgabe "übersetzt". Versuche ich das 
Display zu löschen, gebe ich Print 12 oder Print "12" ein, dann kommt 
jeweils eine wilde Zeichenserie am Display an. Teste ich mal "for x=1 to 
255 Print Hex(x) next", dann wird tatsächlich irgendwann auch mal das 
Display gelöscht.
Kann mir hier bitte mal jemand auf die Sprünge helfen, wie ich den 
Controller über BASCOM richtig austeuere. Ich glaube, ich hab hier 
irgendwie eine Blockade....

Vielen Dank schon mal.

Ciao
Thilo

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

nun das wird so nicht funktioniern, da Print "12" Asci zeichen erzeugt.
Versuch mal zum löschen
Printbin &H0C   oder
Print hex(12)
sowas in der Art

Wigbert

von Wolfgang-G (Gast)


Lesenswert?

>Nach dem Zuschalten der Versorgungsspannung ist die Anzeige „schwarz“
>(also Kontrast ist vorhanden),
Problem gelöst, die neg. Kontrastspannung war zu gering
offensichtlich  war das gar kein richtiger Kontrast
Wolfgang

von Thilo K. (thilok)


Lesenswert?

@ Wigbert

Danke für Deine Antwort. Leider hatte es mit den unterschiedlichsten 
Befehlskombinationen auch nicht geklappt. Ich bekam zwar immer 
"reprodzierbar" das oder die gleichen Zeichen auf das Display, aber eben 
überhaupt nicht die, die ich eigentlich erwartet hatte.
Nun habe ich den dummen!!! Fehler gefunden: Ich hatte zwar die richtigen 
Baudraten eingestellt, hatte aber beim Pollinboard einen 16 MHz Quarz 
anstelle des eigentlich vorhandenen 12 MHz angegeben. Dadurch ist der 
Tansfer inkorrekt gewesen, blieb aber erstaunlicherweise "fehlerhaft 
stabil!".

Nun läuft alles wie erwartet. Ich kann den Text ganz normal in Bascom 
mit Print "Hello world" ausgeben, die Befehle sende ich mit Printbin.

Vielen Dank nochmal und macht weiter so!!

Ciao

Thilo

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Ich habe das GLCD Display ( Mega8 ) im Textmodus immer wenn ich das 
Zeichen Wiederhole Z.B. Leertaste nach dem zweitenmal ein anders zeichen 
was immer gleich ist. Beispiel -> ich drücke imer p -> pphphphphphp  , 
oder f -> ffµfµfµf   hattest du das Problem auch ?

Verbindung über Hyberterm von Windows

Sonst klappt die Ausgabe.

von Benedikt K. (benedikt)


Lesenswert?

Baudrate passt, Quarz passt auch zur Einstellung in der Software ? 
Fusebits auf den Quarz eingestellt ?

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Hallo Benedikt,

16MHz Oszilator Baudrate 57600 8N1, keine Flussteuerung, sollte passen.

Gebe ich unterschiedliche Buchstaben ein, so stimmt die Ausgabe. Werden 
gleiche Buchstaben genommen tritt das auf was ich im letzten Post 
geschrieben habe.

von Benedikt K. (benedikt)


Lesenswert?

Interessant. Solch einen Effekt hatte ich noch nie, und kann ich mir 
eigentlich auch nicht erklären, da alle Zeichen nacheinander individuell 
behandelt werden. Die Software weiß also nicht, welches Zeichen zuvor 
kam.

Hast du schonmal ein anderes Programm außer Hyperterm probiert ?

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hhmmm,
also ich sende ein Datenpaket "Hallo" vom Terminalprogramm zum
Controller. Schneller geht es wohl kaum, und da kommen 2xl vor.
Hatte den Fehler auch nicht.

Wigbert

von Marco S. (masterof)


Lesenswert?

Der die Baudrate ist zu hoch bei 16 MHz.Es funktionieren max. 
38,4Kbaud/s.

von Benedikt K. (benedikt)


Lesenswert?

Marco Schwan wrote:
> Der die Baudrate ist zu hoch bei 16 MHz.Es funktionieren max.
> 38,4Kbaud/s.

Laut dem Datenblatt ist das noch OK. Der Fehler liegt bei +2,08%, was 
ganz knapp an dem empfohlenen Wert von max +/-2% liegt. Die +/-2% gelten 
dabei für jeweils diesen Fehler beim Sender und entgegengesetzt beim 
Empfänger, wenn ich das richtig gesehen habe. Beim PC dürfte der Fehler 
aber bei <0,1% liegen.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Also in Hallo ergibt bei mir auch keine Fehler -> wenns > 2 gleiche 
Buchstaben sind kommt das Problem und dann abwechselt das richtige und 
das falsche.

OK werde das mal mit einen anderen Termialprogramm ausprobieren und 
bescheid geben.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Ich habe mal mit HTERM versucht und der Effekt tritt  nicht mehr ein, 
komisch.

Danke zusammen.

von Kay B. (newbie)


Lesenswert?

Hallo Benedikt,

habe mir die lcd-controller mehrfach nachgebaut funktionieren super,
so nun meine frage,
ich habe lcd1 mit mega8 und lcd2 mit mega168 in der grossen schriftart 
wie kann ich jetzt die beiden lcd controller ihre eigene adresse geben
den lcd1 24x40zeilen,zeichen und lcd2 ich glaube 5x10 zeilen zeichen.
für eine antwort wäre ich dankbar
mfg
kay

von Benedikt K. (benedikt)


Lesenswert?

Eine unterschiedliche Adresse ist momentan nicht vorgesehen, aber da der 
UART des AVR einen Multi-processor Communication Mode unterstützt, 
könnte man diesen verwenden. Dazu müsste man die Software nur minmal 
erweitern.

von Kay B. (newbie)


Lesenswert?

hallo,
die beiden displays hängen am rs485 bus funktioniert super,
zur adresse:würde eine 3-stellige zahl für jeden lcd-controller 
verwenden als adresse zb:349 wie muss die auswertung im programm 
aussehen

mfg kay

von Kay B. (newbie)


Angehängte Dateien:

Lesenswert?

hallo,
habe es jetzt mit dem "Multi-processor Communication Mode" versucht aber 
es haut nicht so richtig hin.
als adresse habe ich 168 gewählt, am sender sende ich ldi temp,168
->uarttransmit.
vielleicht könnte jemannd mal drüber schauen

über ne antwort wäre ich dankbar
mfg kay

von Kay B. (newbie)


Lesenswert?

Hallo Benedikt,
wäre es dann ein grosser aufwand den Multi-processor Communication Mode 
zu implementieren wenn es möglich wäre.ich komme da nicht weiter.

über eine antwort wär ich sehr dankbar.

mfg kay

von Benedikt K. (benedikt)


Lesenswert?

Im Datenblatt ist das recht gut beschrieben, wie man prinzipiell 
vorgehen muss.
Dazu müsste man im RX Interttupt UART_RX_int Prüfen ob es eine Adresse 
ist, falls ja prüfen ob diese stimmt, und falls ja, dann in den normalen 
UART Modus wechselnd (wenn ich das Datenblatt richtig verstanden habe). 
Ansonsten werden alle Daten ignoriert.

Vom Aufwand her ist es wie gesagt recht wenig, aber das ganze Testen 
außenrum. Momentan habe ich das leider keine Zeit dafür, um mich damit 
zu beschäftigen.

von Kay B. (newbie)


Lesenswert?

also ich habe es so gemacht,
ich sende zuerst die adresse 168 dann 17,00,00 die textposition aber es 
kommen nur umgedrehte fragezeichen an



UART_RX_int:
in regsave, sreg

lds tempi, UDR0
cpi tempi, 168          ;ist das erste zeichen 168 dan mach weiter
BRNE nook
;  lds tempi, UDR0
  inc WPos
  mov tempi2, WPos
  andi tempi2, RX_Buffer-1
  cp tempi2, RPos
  breq buffer_full
  mov WPos, tempi2
  clr tempi2
  ldi XL, low(RXBUF)
  ldi XH, high(RXBUF)
  add XL, WPos
  adc XH, tempi2
  st X, tempi
buffer_full:
nook:
  out sreg, regsave
reti

von Kay B. (newbie)


Angehängte Dateien:

Lesenswert?

hallo benedikt,
so der mpcm mode haut einigermaßen hin:
ich sende die adresse funktioniert dann ein zeichen zB.a funktioniert 
aber wenn ich in zeile5,spalte10 etwas schreiben möchte wird nichts 
angezeigt.
wäre es möglich mal drüber zu schauen
für eine antwort wäre ich sehrr dankbar

mfg
kay

von Julius (Gast)


Lesenswert?

Hi,

welche Lötspitzengrößen verwendet ihr zum Austausch des Datenkabels?
habe hier eine Ersa Analog 60, die Std. 2,2mm Hammer Lötspitze sieht 
definitiv zu groß aus dafür. Soll ich lieber die 0,4mm oder die 1mm 
nehmen?

Mfg
Julius

von Kay B. (newbie)


Lesenswert?

Julius wrote:
> Hi,
>
> welche Lötspitzengrößen verwendet ihr zum Austausch des Datenkabels?
> habe hier eine Ersa Analog 60, die Std. 2,2mm Hammer Lötspitze sieht
> definitiv zu groß aus dafür. Soll ich lieber die 0,4mm oder die 1mm
> nehmen?
>
> Mfg
> Julius

hallo,
also ich habe die Weller WECP20 mit standart Lötspitze lötzinn 0.8mm 
habe mehrere Displays damit umgelötet funktiert ist halt bischen 
fummelig

mfg
kay

von Andreas H. (kupferblau)


Lesenswert?

Hallo Benedikt

Erstmals danke, dass du dieses Projekt hier anderen zur Verfügung 
stellst!

Ich würde gerne wissen, warum du einen "geraden" 16 MHz-Quarz verwendest 
und keinen Baudraten-Quarz, hat das einen besonderen Grund? Wenn ich 
einen andere Quarzfrequenz verwenden will (z.B. 14,745 MHz), was müsste 
man dann im Sourcecode ändern? Ich nehme an, dass dann ja auch das 
Timing für die Display-Ansteuerung angepasst werden muss?

Ich habe mich bis jetzt nur mit C beschäftigt, die ASM-Listings sind 
leider ziemlich unverständlich für mich (ja, ich weiss, man sollte sich 
da reinarbeiten, ich habe halt mit PC-Programmierung in Hochsprachen 
angefangen und bin erst später zum Mikrocontroller vorgedrungen).

MFG
Andreas

von Benedikt K. (benedikt)


Lesenswert?

Die 16MHz habe ich verwendet, da dies ein Standardwert ist, den ich für 
fast alles nehme, und man damit bis 57600Baud nahezu alle Baudraten 
erzeugen kann (und auch höhere Baudraten wie 1MBaud, die gut zum FT232 
passen). Es spricht aber nichts gegen eine anderen Takt. Nur >10-12MHz 
sollte er schon haben, damit die gewünschten Timingwerte eingehalten 
werden können.
Am Anfang des Programms gibt es eine Zeile
.equ F_CPU    =16000000      ; CPU Freq
Hier muss die Quarzfrequenz eingetragen werden. Ansonsten muss nur noch 
die gewünschte Baudrate (ein paar Zeilen darüber) eingetragen werden und 
das Programm neu übersetzt werden.

von Heiko P. (wuseltum)


Lesenswert?

Hallo Benedikt,
auch von mir vielen Dank für Deine schöne Arbeit!
Nur eine Frage: Auf der Platine in Deinem Bild ist doch deutlich weniger 
drauf als in Deinem Schaltplan (z.B. nur ein einziger Widerstand). Sieht 
man die nur alle nicht oder warum ist das so...?
Nochmals danke und viele Grüße,
Heiko

von Benedikt K. (benedikt)


Lesenswert?

Es ist fast alles drauf was im Schaltplan drin ist. Nur als SMD auf der 
Unterseite. Den Schaler für die VLCD habe ich weggelassen, da das LCD 
per Logikpegel geschaltet werden kann. Das ist auch kein Widerstand, 
sondern die Spule.

von Ahmet H. (Firma: istanbul-cekmekoy) (ahmet2004)


Angehängte Dateien:

Lesenswert?

ATmega8 UG-32F02    320x240 glcd

EL backlight

von Ahmet H. (Firma: istanbul-cekmekoy) (ahmet2004)


Angehängte Dateien:

Lesenswert?

sch. avr

von Heiko P. (wuseltum)


Lesenswert?

Hallo Benedikt,
erstmal vielen Dank für Deine Antwort!
Ich muss Dich leider nochmal um Hilfe bitten... Irgendwie bekomme ich 
diese Inverterschaltung nicht recht zum Laufen... Bei mir kommen da nur 
um die -14V raus - und zwar unabhängig von den Widerstandswerten. Wenn 
ich das Display daran anschließe, brechen sie zusammen auf etwa -8V. 
Hast Du eine spontane Eingebung, was ich falsch gemacht haben könnte...?
Und noch etwas... Die Hintergrundbeleuchtung bekomme ich auch nicht 
angeschaltet... Muss man da irgendwas beachten?
Nochmals danke und viele Grüße!
Heiko

[edit] P.S.: Wieviel Strom ziehen eigentlich Hintergrundbeleuchtung und 
Display im Normalfall?

von (prx) A. K. (prx)


Lesenswert?

Falsche Drossel?

Was kann man bei der Hintergrundbeleuchtung eigentlich falsch machen? 
Inverter besorgen, dessen 2 Ausgangspins mit den 2 Pins der 
Hintergrundbeleuchtung verbinden und den Eingang mit 12V oder 5V je nach 
Typ.

Strom für Hintergrundbeleuchtung und Kontrastspannung beträgt in dieser 
Grössenordnung von Display einstellige Milliampere. Spannung der 
Hintergrundbeleuchtung ist allerdings einige hundert Volt, also beim 
Messen Vorsicht walten lassen.

von Heiko P. (wuseltum)


Lesenswert?

> Falsche Drossel?

So eine:
http://www.pollin.de/shop/detail.php?pg=NQ==&a=OTY3OTQ3OTk=

> Was kann man bei der Hintergrundbeleuchtung eigentlich falsch machen?
> Inverter besorgen, dessen 2 Ausgangspins mit den 2 Pins der
> Hintergrundbeleuchtung verbinden und den Eingang mit 12V oder 5V je nach
> Typ.

Sorry, ich hab sowas noch nie gemacht... Und scheinbar hab ich da was 
komplett falsch verstanden? Was für ein Inverter denn..?? Ich hab 
gedacht, die Hintergrundbeleuchtung läuft mit 5-12V...

Danke für Hilfe,
Heiko

von (prx) A. K. (prx)


Lesenswert?

Drossel: Die Sättigungsgrenze sollte in der Benedikt'schen 
Originalschaltung mindestens 350-400mA betragen. Bei diesem Typ sind das 
nur 150mA, d.h. die Spule sättigt. Könnte es sein, dass der MC34063A 
warm wird.

Hintergundbeleuchtung: In den üblichen Displays wird etwas wie in Pollin 
700 638 verwendet. Die Röhre ist im Display drin, der Inverter (die Box 
daneben) erzeugt aus 12V die Hochspannung für die Röhre.

von Heiko P. (wuseltum)


Lesenswert?

> Drossel: Die Strombelastbarkeit sollte in der Benedik'schen
> Originalschaltung mindestens ca. 400mA betragen. Diese hat 150mA.

Oh, das hab ich übersehen. Danke!

> Hintergundbeleuchtung: In den üblichen Displays wird etwas wie in Pollin
> 700 638 verwendet. Die Röhre ist im Display drin, der Inverter (die Box
> daneben) erzeugt aus 12V die Hochspannung für die Röhre.

Hm, ich bin davon ausgegangen, das sei alles im Display integriert. 
Pollin schreibt ja auch, man benötige nur die 5V und die -23V.
Was verwendet Ihr denn dann als Inverter?

von (prx) A. K. (prx)


Lesenswert?

Alternativschaltung für LCD-Spannung, wenn 12V zur Verfügung stehen, 
unter Verwendung der Speicherdrossel 250 304 von Pollin: 
Beitrag "Re: Grafik-LCD Controller mit AVR und VRAM"

Mit der Benedikt'schen Originalschaltung, zumindest aber der Variante 
Beitrag "Re: Grafik-LCD Controller mit AVR und VRAM", 
müsste Pollin 250 308 verwendbar sein. Ist halt ein bischen grösser. 
Diese Drossel ist in Verbindung mit dem MC34063a ziemlich universell 
einsetzbar.

von (prx) A. K. (prx)


Lesenswert?

Heiko P. wrote:

> Was verwendet Ihr denn dann als Inverter?

Eben den erwähnten Inverter von der Kaltlichtkathode von Pollin 700 638.

von Heiko P. (wuseltum)


Lesenswert?

Okay, ich werd's versuchen! Vielen Dank nochmals!!
Heiko

von Benedikt K. (benedikt)


Lesenswert?

A. K. wrote:
> Drossel: Die Sättigungsgrenze sollte in der Benedikt'schen
> Originalschaltung mindestens 350-400mA betragen. Bei diesem Typ sind das
> nur 150mA, d.h. die Spule sättigt. Könnte es sein, dass der MC34063A
> warm wird.

Nicht ganz:
Die 150mA sind der DC Wert. Man kann da auch problemlos etwas höher 
gehen.
Ich habe bei mir selbst schon Spulen in Widerstandsbauform verwendet, 
lief ohne Probleme.
Weiterhin ist der Spitzenstrom auf etwa 300mA begrenzt. Mehr als 300mA 
wird die Spule also nie abbekommen.

@ Heiko
Die Betriebsspannung muss mindestens etwa 4,5V betragen, damit der 
Spannungswandler sauber läuft.
Ansonsten würde ich auf irgendeinen Verdrahtungsfehler beim Aufbau 
tippen (irgendwas rund um den Transistor).

von (prx) A. K. (prx)


Lesenswert?

Benedikt K. wrote:

> Weiterhin ist der Spitzenstrom auf etwa 300mA begrenzt. Mehr als 300mA
> wird die Spule also nie abbekommen.

Ok, ich hatte nicht mehr im Kopf ob es 300mV oder 330mV waren und 
deshalb etwas aufgerundet. Ist ein solche Spule mit 150mA mittlerer 
Belastbarkeit tatsächlich bei 300mA noch nicht in Sättigung? Denn um 
letzteres geht es hier ja.

Allerdings könnte man wohl R6 auch etwas hochdrehen um dem Maximalstrom 
zu reduzieren.

> tippen (irgendwas rund um den Transistor).

Wobei man den ja nur für 5V Versorgung braucht. Wenn man für den 
Inverter der Lampe sowieso 12V im System hat, dann ist auch die 
MC-Standardschaltung verwendbar.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

A. K. wrote:

> Ist ein solche Spule mit 150mA mittlerer
> Belastbarkeit tatsächlich bei 300mA noch nicht in Sättigung? Denn um
> letzteres geht es hier ja.

Ja.
Die 150mA sind meist der Effektivwert, basierend auf der thermischen 
Belastbarkeit der Spule. Genaueres müsste man jetzt im Datenblatt 
nachlesen.
Da diese Spule mehr als Entstör/Filterspule als für Schaltnetzteile 
gedacht sind, werden diese meist auf der Wechselspannungsseite 
eingesetzt. Das 1,4x vom Spitzenstrom halten die daher also eigentlich 
immer aus, ohne in die Sättigung zu gehen.
Ich habe mal eine 100µH 1A Spule in dieser Bauform gemessen:
Der Strom wurde über einen 33mOhm Shunt gemessen, es sind also etwa 
1,5A/div. Ab etwa 1,5div fängt die Sättigung an, verwendbar ist die 
Spule aber noch bis etwa 2div, also 3A.
Da es sich um eine sehr längliche Spule handelt, die dazu noch keinen 
geschlossenen Ferritkern aufweist ist, kommt diese sowieso nur sehr 
langsam in die Sättigung. Bei einem Ringkern ist der Knick viel abrupter 
und der Anstieg danach sehr viel steiler.

> Allerdings könnte man wohl R6 auch etwas hochdrehen um dem Maximalstrom
> zu reduzieren.

Nicht viel: Wenn man von 5mA bei (-)25V ausgeht, und von 3V die die 
Spule abbekommt (Verluste in der Wicklung, Transistor usw.), dann 
benötigt man 42mA bei 3V. Da der Spitzenstrom aber um einiges höher ist 
(man nimmt meist Faktor 4 an), wären das 168mA, bzw. etwas unter 2 Ohm.

> Wobei man den ja nur für 5V Versorgung braucht. Wenn man für den
> Inverter der Lampe sowieso 12V im System hat, dann ist auch die
> MC-Standardschaltung verwendbar.

Ja, bei mir läuft alles (inkl CCFL Inverter mit 5V. Eine zusätzliche 12V 
Spannung ist da stören und führt nur zu Fehlern (5V und 12V sind schnell 
mal vertauscht)...

von Benedikt K. (benedikt)


Lesenswert?

Ich habe mal etwas gesucht, aber leider konnte ich kein Datenblatt einer 
vergleichbaren Spule finde, das mehr Infos enthält.
Epcos gibt den max. Strom z.B. nach folgendem Kriterium an:
Max. permissible DC with temperature increase of ≤40K at rated 
temperature

@ Heiko
Mess mal den Widerstand der Spule. Ich glaube die hat einfach einen zu 
hohen DC Widerstand. Ich konnte leider kein Datenblatt finden, aber ich 
tippe mal auf irgendwas >10 Ohm.

von Heiko P. (wuseltum)


Lesenswert?

Benedikt K. wrote:

> @ Heiko
> Mess mal den Widerstand der Spule. Ich glaube die hat einfach einen zu
> hohen DC Widerstand. Ich konnte leider kein Datenblatt finden, aber ich
> tippe mal auf irgendwas >10 Ohm.

Hattest Recht, ja. Sind um die 17 Ohm.

Danke für Eure Mühe und viele Grüße in Eile,
Heiko

von Benedikt K. (benedikt)


Lesenswert?

So 5 Ohm und kleiner sollten eigentlich auf jedenfall funktionieren. Bis 
10 Ohm kann es gehn, muss aber nicht.

von Eric S. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Benedikt,

vielen Dank für das schöne Projekt! Um auch das reflektive Display von 
Pollin betreiben zu können (Sharp LM038QB1R10), habe ich Deine Schaltung 
mit der Versorgungs-Lösung aus Beitrag 
Beitrag "Re: LCD-Modul SHARP LM038QB1R10???" kombiniert. Vielleicht 
hat noch jemand Interesse, deshalb habe ich Schaltplan und Layout 
angehängt. Einseitige Platine, bis auf eine Ausnahme ausschließlich mit 
SMD-Bauelementen bestückt. Erstellt mit einer aktuellen Eagle Freeware 
Version.

Der Mikrocontroller wird mit 3,3V bei 12,288 MHz betrieben. Um nicht 
ausrechnen zu müssen, welche Refreshrate hiermit noch möglich wäre, habe 
ich diese im Verhältnis auf 50 Hz heruntergesetzt, was im Test aber noch 
für eine flimmerfreie Darstellung ausreichte.

Leider stehen eingehendere Tests noch aus - der Aufbau hat kurz 
funktioniert, allerdings mit vertikalen Fehlstreifen. Schuld war 
wahrscheinlich ein Kontaktproblem des FFC-Kabels. Dieses stammt aus 
einem DVD-Laufwerk, wegen der erforderlichen diagonalen Kontaktierung an 
einem Ende gefaltet. Die spontane Idee, es einfach abzuschneiden und 
durch Kratzen neue Kontaktflächen freizulegen, hat leider zur 
endgültigen Zerstörung des Kabels geführt :-) Die verwendete FFC-Buchse 
stammt ebenfalls aus dem Laufwerk, der Hersteller ist mir nicht bekannt, 
das Layout muss somit wahrscheinlich angepasst werden.

Gruß, Eric

von Stephan (Gast)


Lesenswert?

Hallo,

ersteinmal :

ein schönes Projekt.

ich habe alles soweit aufgebaut.

wie sende ich nun ein "Hallo Welt" via Uart zum Display ?
werden dazu die Steuerbefehle benötigt ?

bei mir tut sich leider nichts

mein Test bisher : mit dem Hyperterminal "57600 Baud" einen Text 
gesendet.

Quellcode und Schaltung sind vom 1. Beitrag

Stephan

von Benedikt K. (benedikt)


Lesenswert?

Alle gesendeten Zeichen sollten direkt auf dem LCD angezeigt werden. 
Steuerzeichen werden nur benötigt, um z.B. den Cursor in eine andere 
Zeile zu setzten.)
Erscheint nach dem Einschalten irgendwas auf dem Display? Falls nicht, 
dann liegt irgendein Fehler beim Aufbau vor.

von Stephan (Gast)


Lesenswert?

Hallo Benedikt,

bist du schnell.

die Spannung vom Spannungswandler sinkt nach dem einschalten auf ca. -18 
Volt
ab.
--------------------------------------------------------------
"Erscheint nach dem Einschalten irgendwas auf dem Display?"

das Display selbst ist etwas hell, die Pixel sind dunkel zu erkennen.

ersteinmal danke

Stephan

von Stephan (Gast)


Lesenswert?

Hallo,

jetzt wird alles angezeigt

es lag am Kontrast.
Ich habe R1 durch ein 4,7k Poti ersetzt. siehe Beitrag vom 13.04.2008 
16:15

vielen Dank

Stephan

#####################
vielleicht sollt man noch erwähnen, das für den ersten Test keine 
seriellen Daten via Uart erforderlich sind.

das "Hallo Welt" hat Benedikt schon Bildschirmfüllend integriert.

von Eric S. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ergänzung zu meinem Beitrag vom 14.10.: Nach längerer Wartezeit ist 
endlich ein passendes FFC-Kabel eingetroffen, die Schaltung funktioniert 
damit wie erhofft. Das Display (Sharp LM038QB1R10) ist meiner Meinung 
nach nicht schlecht (guter Kontrast, bei mäßiger Beleuchtung noch gut 
lesbar).

Im Anhang sende ich ein Foto vom Display - leider mit viel Bildrauschen, 
es steht mir nur eine Handykamera zur Verfügung.

Noch einmal vielen Dank für das Projekt!

Gruß, Eric

von Sachich N. (dude) Benutzerseite


Lesenswert?

Mein Display ist soeben eingetroffen, wie durch ein Wunder ist es trotz 
der lausigen Verpackung (voellig zermatschter  Karton) ganz geblieben. 
Moegen die Spiele beginnen!

von Sachich N. (dude) Benutzerseite


Lesenswert?

:) Negative Spannung steht

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@......
Hat es geklappt?

von Sachich N. (dude) Benutzerseite


Lesenswert?

Habe nicht weitergemacht, weil sich die Transistoren auf meinem 
(vermuteten) 12V Inverter bei 9 Volt in Form von uebelriechenden Rauch 
verabschiedet haben. War wohl ein 5V Geraet. Einen weiteren Inverter 
hatte ich nicht, allerdings habe ich eine SMD-Platine mitbestellt, mit 
der man das Display im Grafikmodus betreiben kann.

von cyberlink (Gast)


Lesenswert?

Wie schliesst man das NAN YA display an? das pinout in dem Datenblatt 
hat
mir nicht viel geholfen. Wo ist bei dem Kabel pin 1?

von Florian K. (makrocontroller)


Lesenswert?

Ich habe mir das weiße NanYa Display von Pollin gekauft (LCD Modul NAN 
YA LTBE9S159J1K) und die Schaltung auf einem Breadboard aufgebaut. Es 
funktioniert allerdings noch nicht viel: Nach dem Einstellen der 
Kontrastspannung erscheinen viele vertikale Linien auf dem Display, d.h. 
in jeder Zeile wird das gleiche Bitmuster ausgegeben. Außerdem schaltet 
sich das ganze Bild ca. 2 Mal je Sekunde ein und aus. Da das Programm 
sicher solch ein Ein- und Ausschalten nicht erzeugt, fällt mir als 
einzige vernünftige Erklärung ein, dass aus irgendeinem Grund ständig 
neu Reset gemacht wird. Aber das Reset-Pin liegt bei mir auf HIGH. Und 
Watchdogs müssten deaktiviert sein.
Da ich aber mit den Fusebits noch nicht so viel Erfahrung habe, wäre es 
nett, wenn sie jemand mal posten könnte. Ich habe für den ATMEGA8 
momentan folgende Fusebits programmiert (Bit=0): SPIEN, BOOTSZ1, 
BOOTSZ0. Ich habe dazu einen Online Fuse Calculator verwendet.
Stimmt es, dass die Kontrastspannung nicht anliegen darf, wenn die 
Versorgungsspannung (noch) nicht eingeschaltet ist (ich habe mal so was 
gelesen, kann es jetzt aber nicht mehr finden) ?
Gruß
Florian

von Florian K. (makrocontroller)


Angehängte Dateien:

Lesenswert?

Inzwischen habe ich es auch zum Laufen gebracht. Es lag wohl an einer
falschen Verbindung zwischen µC und Display und einer nicht korrekt
eingestellten Kontrastspannung. Meine Verkabelung dürfte zwar keinen
Schönheitswettbewerb gewinnen, aber wie man sieht, funktioniert es !
Vielen Dank an Benedikt.

von Meik D. (meik)


Angehängte Dateien:

Lesenswert?

Ich als PIC- und Basic- Jünger  wollte mich der Sache mit dem Display 
mal von der PICBasic Version aus nähern. Mein erster Versuch war ein 
Adaptieren von Bendikts Assebler Code auf den 16F876 PIC. Ich mußte 
jedoch sehr schnell feststellen, daß das ein Schuß in den Ofen wird. Es 
fehlen dem PIC wichtige Befehle und er ist zu langsam. Letzteres Kann 
man etwas aufmöbeln, indem man den PIC einfach mit einem Oszillator 
hemmungslos übertaktet (100% sind kein Problem für dem PIC). Aber selbst 
mit dieser Lösung kam ich nur auf eine Framerate von ich glaube etwa 17 
fps. Viiiiel zu laaaangsaaam.
So folgte dann der Umstieg auf einen 18F Typ. Die Idee der 
Code-Anpassung habe ich dann aber fallen gelassen, letztlich auch wegen 
dem Forschertrieb und habe den Code mit einer Mischung aus Basic und 
Assembler neu geschrieben. Mir wurde dann auch relativ schnell klar, 
warum Benedikt die Zeichen so im Speicher verteilt hat. Das spart ne 
Menge Rechenarbeit. Ich habe diese Rechenarbeit alerdings mit 
eingearbeitet nutze den Interrupt nicht als Zeilentakt sondern für die 
Dateneingabe des UART mit anschließender Auswertung. Ein FIFO ist bis 
jetzt noch nicht implementiert. Das Ergebniss sind flimmerfreie 69 FPS 
bei einem natürlich auch wieder völlig übertakteten PIC mit 40 MHZ 
Oszillator und eingeschalteter PLL. Macht dann 80 MHZ Takt bzw. 20 MHZ 
im Ausführenden Code. Bei 5,5V könnte man sogar noch bis auf knapp 
100MHZ hochgehen, ist aber angesichts der jetzt schon vorhanden knapp 70 
FPS nicht nötig.

Anfang der Woche ist mein 128Kx8 SRAM gekommen. Das gibt dann das 
nächste Projekt: Die Grafikeinbindung. Hier werde ich dann wohl um ein 
FIFO nicht mehr drum herum kommen.
Im Anhang mal ein Bild. Die Flecken auf dem Display waren schon vom Kauf 
an da. Bewährte Pollin Qualität halt. Aber das gute an Pollin ist: Eine 
bebilderte eMail und das kostenlose Ersatzdisplay ist auf dem Weg.

von Benedikt K. (benedikt)


Lesenswert?

Meik Dittmann wrote:
> Mir wurde dann auch relativ schnell klar,
> warum Benedikt die Zeichen so im Speicher verteilt hat. Das spart ne
> Menge Rechenarbeit.

Ja, ich nutze da so ziemlich alle Tricks die man nutzen kann, daher ist 
der Code auch in Asm und nicht wie bei meinen anderen Programmen in C 
geschrieben. Nur so ist es möglich in Echtzeit den Text in Grafik 
umzuwandeln und so das Display mit nur 1kByte SRAM ansteuern zu können.

> Ich habe diese Rechenarbeit alerdings mit
> eingearbeitet nutze den Interrupt nicht als Zeilentakt sondern für die
> Dateneingabe des UART mit anschließender Auswertung.

Könnte ich den Code davon bekommen? Es würde mich nämlich interessieren, 
wie du das umgesetzt hast.

> Im Anhang mal ein Bild. Die Flecken auf dem Display waren schon vom Kauf
> an da.

Sehen diese Flecken organisch aus, also so als wenn irgendeine Art von 
Flechte? Falls ja, könntest du mal ein hochauflösendes Bild von solch 
einem Flecken machen (am besten geht das per Scanner)?
Was das ganz genau ist, habe ich noch nicht rausgefunden, nur die 
Ursache: Eine starke mechanische Belastung durch irgendeinen spitzen 
Gegenstand.
Entweder sind das Mikrorisse im Glas, durch die Luft eindringt und den 
Flüssigkristall oxidieren lässt, oder diese Strukturen entstehen 
zwischen Glas und Polfilter. Da es hier gelblich aussieht, dürfte das 
der erste Fall sein, denn die Pixel sind streng genommen blau/weiß und 
werden durch einige Tricks schwarz/weiß gemacht.

von Meik D. (meik)


Angehängte Dateien:

Lesenswert?

Hallo Benedikt. Ich habe mal ein hochauflösendes Bild, den Basic Code 
und den daraus resultierenden ASM Code des Compilers als Zip eingefügt. 
Der ASM Code sieht schlimm aus, da der Compiler seinen ganzen Routinen 
da noch mit einbindet, auch die, die gar nicht gebraucht werden. Der 
eigentliche ASM Code, der direkt ins HEX File umgesetzt wird, ist leider 
nicht zugänglich.
Zu den Flecken.
Das Display hatte ich mal auseinander gehabt. Es sieht fast so aus, als 
würde an den Stellen der Flüssigkristall fehlen. Man kann da nämlich 
einfach durchgucken. Eine Beschädigung ist jedenfalls nicht erkennbar, 
auch wenn das Display lose mit scharfkantigen, schweren Gegenständen im 
Karton lag.

Ach ja. Mich würde mal interessieren, wie viele Stunden du für die 
Erstellung der Software gebraucht hast.

Gruß Meik

von Benedikt K. (benedikt)


Lesenswert?

Meik Dittmann wrote:
> Hallo Benedikt. Ich habe mal ein hochauflösendes Bild, den Basic Code
> und den daraus resultierenden ASM Code des Compilers als Zip eingefügt.

> Das Display hatte ich mal auseinander gehabt. Es sieht fast so aus, als
> würde an den Stellen der Flüssigkristall fehlen. Man kann da nämlich
> einfach durchgucken. Eine Beschädigung ist jedenfalls nicht erkennbar,
> auch wenn das Display lose mit scharfkantigen, schweren Gegenständen im
> Karton lag.

Danke. Die Flecken sind genau das wie ich es vermutet habe. Ich habe 
mittlerweile schon etliche solcher Flecken gesehen, aber bisher war noch 
keiner so intensiv und großflächig wie bei dir.
Wenn ein Pixel aktiv ist, wird er transparent und man lässt die 
Hintergrundbeleuchtung durch. Wenn der Pixel oxidiert ist, könnte er 
etwas ähnliches bewirken.
Eine Vermutung der Ursache ist der Kleber vom Polfilter der sich 
irgendwie verändert. Ich persönlich tendiere aber mehr zu den 
Mikrorissen + Oxidation, da viele der betroffenen Displays von Pollin 
stammen, und ich auch mal welche hatte, bei denen genau an der Stelle 
auch deutliche Löcher in der Verpackung waren.
Solange Pollin die Displays problemlos ersetzt ist das auch halb so 
schlimm.

Der ASM Code ist gut optimiert, eventuell könnte man hier aber noch eine 
Kleinigkeit optimieren:
Lesen = Lesen + 2048
Lesen = Lesen + ZeichenZeile

Dieser Wert wird für jedes Byte berechnet, ist aber innerhalb einer 
Zeile konstant. Wenn man diese Berechnungen vor einer Zeile ausführen 
würde, dann könnte man hier vielleicht ein paar Takte einsparen, da man 
nur noch den vorberechneten Wert nach Lesen kopieren muss.

> Ach ja. Mich würde mal interessieren, wie viele Stunden du für die
> Erstellung der Software gebraucht hast.

Das ging eigentlich relativ flott (<10h), da ich einen Großteil schon 
aus anderen Projekten übernehmen konnte. Relativ aufwendig war das C 
Programm das mir den Zeichensatz passend erzeugt.

von axelr. (Gast)


Lesenswert?

Hallo zusammen,

es sind definitv mech. Beschädigungen, die zu diesen 
Ausfallerscheinungen führen. Bei meinem Display befand sich der Stecker 
der Hintergundbeleuchtung nicht neben dem Display in der Tüte, sondern 
umterm Display. Und genau an dieser Druckstelle zeigte das Display dann 
eben jene komischen Flecken.
Pollin schickte diesmal jedoch nicht einfach so Ersatz, sondern bestand 
auf die Rücksendung und lieferte danach ein anstandsloses Display als 
Ersatz.

Gruß
Axelr.

Übrigens: Tolles Projekt!! Bau ich mir irgentwann mal auf ;-))

von Meik D. (meik)


Lesenswert?

Benedikt K. wrote:

> Der ASM Code ist gut optimiert, eventuell könnte man hier aber noch eine
> Kleinigkeit optimieren:
> Lesen = Lesen + 2048
> Lesen = Lesen + ZeichenZeile
>
> Dieser Wert wird für jedes Byte berechnet, ist aber innerhalb einer
> Zeile konstant. Wenn man diese Berechnungen vor einer Zeile ausführen
> würde, dann könnte man hier vielleicht ein paar Takte einsparen, da man
> nur noch den vorberechneten Wert nach Lesen kopieren muss.

Da hast du recht. Das war das, was ich auch schon mal entdeckt und kurz 
darauf wieder vergessen hatte. Nachdem die Framerate bei knapp 70 lag, 
hatte ich mich auch nicht weiter darum gekümmert.

> Das ging eigentlich relativ flott (<10h), da ich einen Großteil schon
> aus anderen Projekten übernehmen konnte. Relativ aufwendig war das C
> Programm das mir den Zeichensatz passend erzeugt.

Aha. Bei mir hats dann doch etwas länger gedauert (>30h geschätzt, 
wahrscheinlich mehr). Mag wohl auch damit zusammenhängen, daß das mein 
erstes Projekt mit einem Display dieser Art ist, mein erstes Projekt mit 
einem PIC18 und mein erstes Projekt, indem ich Asm-Code verwende ist. 
Eine sehr große Hilfe war allerdings deine Font-lib. Ich glaube ohne 
diese hätte ich nicht damit angefangen.
So, die nächsten Tage fange ich glaube mal mit dem Grafik-Kram an. Da 
hab ich schon ein bisserl Angst vor. Das wird hart.... Reichelt hat 
einen günstigen SRAM mit 128K x 8 für -,88€. Da werde ich wohl die 
Adress und Datenleitung über einen(zwei) 74ls256 Multiplexen. Sonst 
hätte ich alleine für dem RAM 24 I/O's belegt. Ich denke, das ist schon 
mal ein gute Ansatz. Ich hoffe nur, daß ich wenns fertig ist nicht über 
dem Preis von einem SED liege. Für 15 Euro hatte ich den nämlich schon 
mal gesehen. Oder gibts die mitlerweile günstiger?

Meik

von Meik D. (meik)


Lesenswert?

axelr. wrote:
>...Pollin schickte diesmal jedoch nicht einfach so Ersatz, sondern bestand
> auf die Rücksendung und lieferte danach ein anstandsloses Display als
> Ersatz.


Versuchs mit bebilderten eMails. Das wirkt meistens wunder.

Meik

von Benedikt K. (benedikt)


Lesenswert?

Meik Dittmann wrote:

> Versuchs mit bebilderten eMails. Das wirkt meistens wunder.

Ja, diese Erfahrung habe ich auch gemacht. Schöne Email geschrieben, 
Bilder mit den Beschädigungen dazu, noch ein paar Kommentare wie 
schlecht die Verpackung doch sei, und ich bekam direkt neue Displays 
zugeschickt (es waren zwar die falschen, aber da die ursprünglichen 
Displays sowieso ausverkauft waren, und die falschen sogar noch teurer 
waren, war das am Ende auch egal.)

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Benedikt,
ich hab da mal ein ganz kleines Problem:
Eine MMC-Karte hat ein "Telefonbuch" gespeichert.
http://comwebnet.weimars.net/forum/showthread.php?tid=271
Mit Deiner Variante mit m168 wird die, mit einem m128 gelesene Karte
aufs Display ausgegeben.Ein 10KOhm Widerstand begrentz den Strom
beim Datenaustausch der Controller.
Nun wollte ich mit dem Befehl 13 (hex0D) den Kursor nach links
in der nächsten Zeile setzen. Das ist der einzigste Befehl,
der bei mir nicht geht. Gibt es da ein Trick?
Hab schon mit ein Terminalprogramm versucht.
Ich kann die Zeilenanfänge auch berechnen lassen, aber da der Befehl
da wäre...

>Eventuell baue ich irgendwann auch noch einen echten Cursor ein, der
>grafisch über den Text gelegt wird

da wäre meine 2.Frage Eine Zeile markieren, die ich beim Scrollen
mitzähle und dann eine Ausgabe in Grossformat.

Wigbert

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Wigbert Picht-dl1atw wrote:
> Nun wollte ich mit dem Befehl 13 (hex0D) den Kursor nach links
> in der nächsten Zeile setzen. Das ist der einzigste Befehl,
> der bei mir nicht geht.

Er ist auch nicht in der Software eingebaut. Vermutlich hatte ich den 
beim Umbauen auf die großen Zeichen entfernt und vergessen wieder 
einzubauen.
Jetzt sollte es funktionieren.
Daher hier nochmal das komplette Paket für den mega168.

>>Eventuell baue ich irgendwann auch noch einen echten Cursor ein, der
>>grafisch über den Text gelegt wird
>
> da wäre meine 2.Frage Eine Zeile markieren, die ich beim Scrollen
> mitzähle und dann eine Ausgabe in Grossformat.

Prinzipiell wäre das möglich. Muss ich mal schauen ob das noch 
reinpasst.

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

@ Benedikt

Ich bin strk beeindruckt. Respekt.

Die CSV(Exel)-Datei der Karte bringt die Steuerzeichen automatisch mit.
Rest macht Dein Code. Fehlte eben halt nur Deine Auswertung im Code.

Wigbert

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt

das markieren einer Zeile geht mir nicht aus dem Kopf.

Eine Möglichkeit wäre, vor jeder Zeile ein Leerzeichen zu setzen.
Ein Zähler, der die Anzahl der Tastendrücke zählt, vergleicht im
Nachhinein die Arraynummer und ersetzt in der ausgewählten Zeile
das Leerzeichen durch eine Klammer oder ein anderes Sonderzeichen.
Ich hätte meine Zeile markiert, würde aber ein Zeichenplatz
opfern. Das stimmt mich natürlich traurig...
Wie verhält es sich mit Befehl 30 + Dummy, das wären wohl die
Sonderzeichen?
Hättest Du eine einfache andere Idee.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Der Befehl zum Invertieren ist nicht das Problem, sondern die 
Realisierung der Invertierung selbst.
Denn dazu müssen alle Zeichen aus dem Zeichensatz invertiert werden, ehe 
sie ans Display übertragen werden. Aus Gründen der Rechenleistung müsste 
dazu die Ausgaberoutine die den Text in Grafik umwandelt und ans Display 
ausgibt komplett nochmal eingebaut werden, nämlich für invertierten 
Text. Und da diese bisher schon 2x existiert (einmal für kleine und 
einmal für große Zeichen), wird das schnell sehr groß.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt

das invertieren(also Negativbild) würde eigentlich nur für die kleinen 
Zeichen erfolgen müssen.
Grosse Zeichen zu invertieren und nochmals abzulegen , sehe ich kein 
Sinn, da ja nur EIN Ereignis nochmal hervorgehoben werden soll.

Das grösste Problem sehe ich in der Motivation.
Wenn ich mir die Downloadrate Deines letzten Codes ansehe, verstehe ich
den vielfachen Download meiner Bilder nicht, zumal die Tel.Nr.
der Model's frei erfunden sind.
Eigentlich schade, das wir hier nur ein Zwiegespräch führen.
Mir würde im Moment auch reichen, ob ein zusätzlicher Speicher,
Eprom oder so, anderer Controller, notwendig sein würde.

Wigbert

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Ich habe nochmal drüber nachgedacht: Eine Invertierung ist eigentlich 
eine gute Idee, denn damit kann man z.B. auch das gesamte Display 
invertieren oder ähnliches. Daher habe ich das mal eingebaut:
Jede Zeile kann jetzt einzeln oder in beliebigen Kombinationen 
invertiert werden.
Der Flash ist jetzt komplett voll (nur noch 0,8% frei). Eine 
Invertierung der großen Zeichen ist daher nicht mehr drin.
Ich hatte auch nochmal mit dem Cursor gebastelt, aber das ist doch 
ziemlich kompliziert, da man sich für jedes Zeichen das eigentliche 
Textzeichen merken muss wenn der Cursor angezeigt wird usw.
Ich habe auch ein Bild von dem 8x12 Zeichensatz dazugepackt, da bei den 
Zeichen <32 doch ein paar interessante Sonderzeichen dabei sind, die man 
auch als Markierung verwenden kann.
Die kann man über 30,0,0,Nummer ansprechen.

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Benedikt K. (benedikt)

ich hab die Funktionen mit ein Terminalprogramm aufgerufen.
Prima, ich danke Dir. Die Markierung lässt sich auch gut erkennen

Wigbert

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt K. (benedikt)

also das invertieren der Zeilen klappt ganz gut,
aber ich kriege das Invertieren nicht ausgeschaltet.

Damit ich es richtig verstehe:

ich übertrage 31 (Befehl) 10 (10.Zeile) und die Zeile wird weiss.
Ich dachte beim 2. mal übertragen der Zeichen wird die Invertierung
aufgehoben? Geht nicht. Wo ist mein Fehler?

Ansonsten eine interessante Sache.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Du sendest 31 10 1 -> Invertierung an.
Zum Abschalten sendest du 31 10 0.
So kann man mehrere Zeilen invertieren.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt K. (benedikt)

Cool,
warum hat die Invertierung ohne funktioniert?
Ich hatte die Pakete 2x gesendet muss irgendwie zum Einschalten
gereicht haben.

Dank Dir.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Ja, der Befehl 31 von dem 2. Befehl wurde als ein/aus Parameter 
verwendet. Alles außer 0 schaltet ein, nur 0 schaltet aus.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

So,
jetzt kann ich die invertierte Zeile scrollen,
pro Tastendruch ein tiefer oder ein höher, je nachdem.
War ja (fast) gar nicht so schwer.
Nun muss, bei mein Projekt, aus der inv. Zeile
die Tel.Vorwahl und die Tel.Nr. herausgefiltert werden
und in 2 Zeilen GROSS dargestellt werden.
Sollte auch nicht so schwer sein.

Wigbert

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi,
zwischenzeitlich lassen sich Dateien, die auf eine MMC-Karte abgelegt
sind, sehr schön aufs Display darstellen. Die einzelnen Dateien stellen
die Seiten dar, eine Markierte Zeile wird nochmals Gross hervorgehoben.
Nach Auswahl der Seite, wird die Zeile markiert und die Tel.Nr.
ist auch ohne Brille zu lesen...

@Benedigt
wenn ich die Zeile(von MMC) bis auf den letzten Zeichenplatz beschreibe,
entsteht eine Leerzeile aufs Display. Mir ist bekannt das Steuerzeichen 
von der Datei mit übertragen werden.
Berechne ich aber für die Grossausgabe die letzten Zeichen von hinten,
so wird kein weiterer String erkannt und die Ausgabe stimmt(findet in 
den Leerplatz kein String).
Muss ich jetzt in der Kleinausgabe auch filtern?

Gehört hier vielleicht nicht ganz hierher,
aber dank Dir mal trotzdem schon.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht-dl1atw wrote:
> wenn ich die Zeile(von MMC) bis auf den letzten Zeichenplatz beschreibe,
> entsteht eine Leerzeile aufs Display. Mir ist bekannt das Steuerzeichen
> von der Datei mit übertragen werden.

Das dürfte daran liegen, dass er am Ende einer Zeile automatisch in die 
nächste Zeile geht (da im Speicher alle Zeilen hintereinander liegen). 
Wenn dann nochmal der Befehl für eine neue Zeile kommt, dann landet er 
halt noch eine Zeile weiter unten.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

also wird ein Befehl, für neue Zeile, von der eingelesenen Datei
kommen, und ein weiterer Befehl ist im Displaycode schon drin.
Stimmt.

Wigbert

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi,
die vorherige Grossausgabe auf dem Display sah ja noch "Nackt" aus.
Ich hab dann mal den Vornamen noch hinzugefügt. Da das Grossformat
der Zeichen nur Grossbuchstaben kennt, habe ich nach dem Herausfiltern
des Vornamen, alle Zeichen >96(ASCII) mit 32 subtrahiert, fix aus der 
Stringlänge die Zeilenkoordinate berechnen lassen(damit der Vorname in 
der Mitte der Zeile ausgegeben wird) und dann ausgegeben.
Nun wird in meinem Bz. aus klein Paul gross PAUL

Achja und alles in Bascom

Na wenn dieses Display nicht interessant ist.

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

Hallo!
Hab mal ne kurze Frage:
Wäre es möglich das Teil auch per Fuunk zu realisieren?

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Maximilian Keller (langerhans)
>Wäre es möglich das Teil auch per Fuunk zu realisieren?

wenn Du jetzt meinst, Daten per Funk zu empfangen und aufs Display
darzustellen, sollte das mit 
Beitrag "bidirektionale RS232 Funkbrücke mit RFM12"
kein Problem darstellen

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

Danke für den Link, das sollte ja vom Speed her gut passen.
Also brauche ich :

- Dieses LCD Board von hier
- Ein Funkmodul Board das an den UART kommt
- Ein Funkmodulboard inkl. MAX232 für die PC Seite

Damit sollte ich das Wireless LCD also hinbekommen. Und wenn ich das 
richtig sehe sogar ohne Anpassung des Codes?!

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Maximilian Keller (langerhans)

genau, Ich hab da schon sowas ähnliches mal vorbereitet.
Aber leider fehlt im Moment die Zeit, das aufzubauen.


Wigbert

von Maximilian K. (langerhans)


Lesenswert?

Das klingt ja nicht schlecht! Ich hab die bestellung eben mal 
zusammengestellt, das wäre gut 30 euro inkl. LCD und Funkmodulen.
Inverter habe ich noch und die MAX232 Teile hab ich auchnoch einmal hier 
rummliegen.

Wenn cih mal Lust hab werd ichs auf jeden Fall mal bauen!

MfG

von Hans (Gast)


Lesenswert?

Hallo,
ich möchte gerne das Project nachbauen...habe aber leider nicht die 
Erfahrung...und deshalb würde ich gerne wissen was im Schaltplan "K1" 
darstellt...
Und welche Art von Kondensatoren mit 1 dünnen und 1 dicken Strich 
sind...
Danke

von Maximilian K. (langerhans)


Lesenswert?

@Hans (Gast)
K1 ist ein OptoMosfet zum Schalten von VLCD, kannst du aber auch bei den 
Pollin Displays weglassen soweit ich weiss, daher ist es auch 
gestrichelt.
Und die Kondensatoren, die du meinst sind Elektrolytkondensatoren.

MfG

von Hans (Gast)


Lesenswert?

Ok. danke und welche Art sind die mit 2 gleichen strichen...?
Danke

von Hans (Gast)


Lesenswert?

Und wie funktioniert das dann ohne OptoMosfet...ich denke man braucht ja 
den VLCD -Anschluss...wo muss ich ihn dann anbringen...

Dazu würde ich gern wissen ob man den Bildschirm auch mit Akku betreiben 
kannn, oder ob es sich nicht lohnt da er zu viel Strom braucht.

von Hans (Gast)


Lesenswert?

Mir viel noch was ein:

Ich weis noch nicht welches Object L2 dastellt...

Wenn jemand zu dem Schaltplan eine Bestellliste hat, würde ich mich 
freuen wenn er sie mir schreiben könnte, da ich mir bei einigen 
Bauteilen nicht ganz sicher bin...

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Hans (Gast)
>ich möchte gerne das Project nachbauen...
Du bist Dir sicher das Du das schaffst.

also der VLCD wird angeschlossen , indem statt des Pin 4/6 eine
Drahtbrücke genommen wird
L2 ist die Speicherspule der neg. Spannungserzeugung.

Wenn Du bei Reichelt bestellen möchtest, mach ich mal die BestellNummern
fertig.

Wigbert

von Hans (Gast)


Lesenswert?

Wenn du es tun willst...
joaa ich bin zwar jung aber ich denke ich bekomme das hin, teilweis weis 
ich schon dies und das aber meine Brüder werden helfen...

Was ich vorhab ist den Bildschirm wie ganz oben beschrieben mit Atmega8 
zu verbinden und dann noch 4 schalter und 1 Infarot-Sender/Empfänger 
dazu...
(aber das kommt später)
Eine Atmega 8 habe ich schon gefunden...aber die geht leider nemer 
nachdem ich 3 verschiedene richtige Parallelinterfaces ausprobiert habe.
Programmierkenntnisse habe ich aber bis jetz nur mittelmäßig in Basic...
Aber ich werde C noch lernen...
Und Zeit habe ich auch...

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

@Hans (Gast)

eigentlich ist das gar nicht so schwer.
Wobei, elektronische Grundkenntnisse sollte man sich schon aneignen,
bevor ein GLCD sich in Rauch auflöst.

Ich hab da mal in Exel was zusammengestellt.

Ich hab bewusst eine Universalplatine und ein 20pol Kontaktbuchse
mit eingearbeitet. Wenn Du jetzt ein Elektricker um ein Stück
Telefonleitung bittest, hast Du Drähte,
die sich in die Kontakte einstecken
lassen, bzw. zur Verdrahtung der Universalplatine.
Für den Anschluss des Displays würde ich eine Adapterplatine bauen.
Ich hab da von Pollin ein Flexprint-Stecker mit angegeben, wäre zwar
22 polig, aber das Displaylöten würde umgangen.
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"

Inverter gibt es viele, ich hab mal ein für 5V Eingangsspannung
herausgesucht.
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"

K1 wäre bei C. zu haben, ist aber für das angegebene Pollin-GLCD
nicht notwendig.

Ineressant wäre auch mal die Preiszusammenstellung.

Wigbert

von Hans (Gast)


Lesenswert?

Ok...vielen, vielen Dank für die Mühe...
einen Inverter, muss ich mal schauen, soweit ich weis hab ich sogar noch 
einen passenden...
die Universalplatine spar ich...ich hab noch "Lochplatinen", oder wie 
die heißen...und normale auch noch...das ätzen wird auch kein Problem...
Der Draht da hab ich sogut wie unentlich...
und Wiederstände hab ich ne ganzes Sortiment...
"elektronische Grundkenntnisse", jab die hab ich so im etwa...

So dann werd ich heut mal die Bestellung abschicken.
Und nochmals Danke für die viele Mühe...(-:

Hans

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hi,
ich sehe gerade R3 muss die R. BestellNr. 1/4W 47K heissen,
und der AQY212 würde 1x benötigt.
Die Bauteilbezeichnungen beziehen sich auf
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"

achja, Cx wäre der Abblockkondensator Pin 7 gegen GND von IC1
(nicht im Schaltbild)

Wigbert

von Hans (Gast)


Lesenswert?

Ähm Entschuldigun wenn ich mich jetzt voll blöd anstell...aber welchen 
Zweck hat der "ATMEGA 168-20DIP"...ich dachte der LcD wird so wie im 
ersten Schaltplan mit einer Atmega8-16PI angetrieben...
und nochmals Danke für die Mühe
Hans

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Hans (Gast)

wenn alle Funktionen genutzt werden sollen (Grossdarstellung, Invers)
dann wird der ATMEGA168 benötigt.
Bei reiner Textausgabe wie
Beitrag "Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"
reicht natürlich der ATMEGA8
Da die Pinbelegung beider IC's gleich ist, kann man willkürlich die
Controller einsetzten, wie benötigt, in dem Schaltungsaufbau.
OK der ATMEGA 8-16 DIP íst etwas günstiger.

Wigbert

von Hans (Gast)


Lesenswert?

Oh...ok...hat sich erledigt...hab nachgeschaut...gut, dann nehm ich den.
Wenn da ein unterschied des Interfaces der Atmega8 und ATMEGA 168 ist, 
würdest du mir die Bauteile für ein Parallelinterface des ATMEGA 168 
sagen.
Vielen Dank...
Hans

von Maximilian K. (langerhans)


Lesenswert?

Hallo!
Ich habe mich jetzt gegen die RFM12 Module entschieden und werde 
stattdessen ein BTM-222 nehmen. So spare ich mir die PC Seite, da hab 
ich schon BT ;).
Habe das Modul eben bestellt, näachste Woche bestelle ich dann alles 
andere und dann wird gebastelt. Ich werde dann hier gerichten!

MfG

von Hans (Gast)


Lesenswert?

Heyy...die bestellung ist schon hier,
ging sehr schnell....nur ich wundere mich über die größe des 
Displays...ist nicht größer als ein Gameboy Bildschirm...auf den fotos 
hier sieht er 4 mal so groß aus...ich hab auch "LCD-Modul SHARP 
LM038QB1R10" genommen...war billiger...(-:
Nun will ich wissen ob alle Module so groß sind... unter pollin stehen 
keine Maße dabei....Bitte um Antwort
Hans

von Hans (Gast)


Lesenswert?

Ok...mein Bitte kam weng zu schnell, ich habe bemerkt das alle Module 
gleich groß sind.
Zumindest habe ich "LCD-Modul SHARP LM038QB1R10" genommen, da mein LCD 
keine Leuchtstoffröhre hat, frage ich mich ob der Inverter noch 
notwendig ist (der ist doch für das gedacht, oder?)
Danke

von Benedikt K. (benedikt)


Lesenswert?

Das LM038QB1R10 ist das kleinste Display, da dies für einen PDA gedacht 
war. Daher ist auch der Anschluss mit dem feinen Stecker etwas 
kompliziert. Die anderen beiden Displays sind von den Abmessungen her 
gleich und deutlich größer als das LM038QB1R10.
Da das LM038QB1R10 keine Hintergrundbeleuchtung hat, benötigt es auch 
keinen CCFL Inverter. Dafür benötigt es mehrere Betriebsspannung die man 
noch erzeugen muss.

von Hans (Gast)


Lesenswert?

Vielen Dank...
wüsstest du auch wie viel Volt und er insgesamt verbraucht, da ich bin 
dem Datenblatt nicht ganz zurecht komme...
Danke

von Benedikt K. (benedikt)


Lesenswert?

Das LM038QB1R10 braucht etwa +/-16V, die anderen etwa -20V.

von Hans (Gast)


Lesenswert?

Vielen Dank...
Ich hatte vor das ganze System in ein Handgehäuse zu bauen und des mit 
ner Batterie zu betreiben...aber 16V, da brauch ich ja ne besondere...

von Benedikt K. (benedikt)


Lesenswert?

Dafür ist das Display ideal: Das Display ist auf Low Power optimiert, es 
verbraucht nur rund 30-50mA bei 3,3V inkl Spannungswandler auf die +/- 
16V.

von Hans (Gast)


Lesenswert?

Ok...wüsstest du wo ich noch ein Verbindungskabel herbekomm und einen 
Adaptor
auf ein größeres Raster der Anschlüsse...in dem Datenblatt erwähnen sie 
so was auch...aber auf der Homepage des Produktes is alles 
English...(kein Bock zum Übersetzen)?
Danke

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Hans (Gast)

>...(kein Bock zum Übersetzen)?

falsche Antwort.
Vielleicht denkst Du mal kurz darüber nach, wieviel Zeit wir hier
Kostenlos!! verbringen um zu helfen.

Das DBL von Pollin?

Wigbert

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Hans (Gast)

hmm, auf den ersten Blick
müsste der

FH12A-24S-0.5SH(55)

von Digikey das sein.
Flachband dazu auch bei Digikey.

Und wenn du Dich beeilst, könnte ich die Dinger notfalls mitbestellen.

Adapter bei LCD-Design, sind aber sauteuer. Ich denke äzen ist kein 
Problem?


Wigbert

von Hans (Gast)


Lesenswert?

Joa...danke...
wenn ich das Flachbandkabel und Adaptor mitbestellen würde...mit wie 
viel Geld müsste ich zirca rechnen (nur grob geschätzt)
Danke

von Hans (Gast)


Lesenswert?

Aber nein...ich bin noch minderjährig und kann ohne die erlaubnis meiner 
Eltern so was noch nich machen...also werde ich einen anderen Weg suchen 
und finden...Danke abe für das Angebot...(-:

von Meik D. (meik)


Lesenswert?

So, ich bin mitlerweile "dank" Kurzarbeit auch mal wieder zum Basteln 
gekommen. Die PIC Variante des Grafik-fähigen LCD's ist am werden. 
Hängen tuts zur Zeit z.B. noch an der zweiten Schriftart. Einbauen 
wollte ich die 12x16 von Benedikts Font-Lib. Ich schreibe die Daten von 
links nach rechts, also ist LSB die gespiegelte Schrift und ich brauche 
MSB first. Eine passende LIB ist ja drin nur leider ist die hor. MSB 
Variante 2 unbrauchbar. Die Buchstaben sind völlig gequetscht. Bei der 
10x16 Variante ist eigentlich nicht mehr von Schrift die Rede. Ausserdem 
ist es etwas hinderlich, daß bei der MSB Variante das Low-Byte zuerst 
kommt. Ist aber nicht weiter tragisch, bedeutet nur einen 
Prozessorzyklus mehr.

Daher meine Bitte an Benedikt: Kannst du die Font-lib bitte noch mal 
überprüfen. Wäre echt super nett.

Gruß Meik

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Teste mal bitte diese Version.
Alle Versionen sollten jetzt little Endian sein. Man kann durch einen 
Cast auf short die Daten also problemlos als 16bit Array verarbeiten 
(zumindest habe ich die so getestet).
Ich hatte bei den _2 Versionen teilweise Variablen vertauscht, so dass 
ein Byte aus der _1 Version gespeichert wurde, daher fehlte in der Mitte 
ein Stück. Jetzt sollte aber alles korrigiert sein, zumindest die 3 
Schriftarten die ich mir zum Testen rausgepickt hatte, passen.
Sowas passiert halt, wenn man nicht alle Versionen testet (was bei 200 
Dateien aber auch nur schwer möglich ist)...

von Meik D. (meik)


Angehängte Dateien:

Lesenswert?

Hut ab Benedikt. Schneller wie die Feuerwehr sagt man da glaube ich. 
Font(12x16) läuft einwandfrei. Vielen Dank dafür. Das du die nicht alle 
einzeln testen kannst leuchtet ein. Interessant nur, daß das bis jetzt 
sonst noch keiner gemerkt hat.

Gibt es die Schrift auch in noch größer? 24x32 z.B. Mit einem geeigneten 
Programm(Win) würde ich die auch selbst machen.

Gruß, Dank und schönes Wochenende.

Meik

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Meik Dittmann wrote:
> Interessant nur, daß das bis jetzt
> sonst noch keiner gemerkt hat.

Vermutlich weil der Fehler nur in den eher selten gebrauchten 
Schriftarten auftrat:
Er trat nur in Schriftarten breiter als 8 Pixel auf, und nur in denen 
mit _2.

> Gibt es die Schrift auch in noch größer? 24x32 z.B.

24x32 habe ich leider nicht.
Ich habe aber mal ein paar andere große hinzugefügt. Wirklich getestet 
habe ich aber nur die größte (32x53). Das Problem an denen ist die 
Größe: Die 32x53 hat 53kByte. Selbst wenn man nur die ersten 128 ASCII 
Zeichen verwendet, sind es immer noch 26kByte.

von Meik D. (meik)


Lesenswert?

Die Schriften dürften wohl meinen PIC sprengen(16K). Ich sehe aber 
gerade, daß du noch einige "Zwischengrößen" mit eingezaubert hast. Ein 
dickes LOB dafür erst mal von mir. Werde wahrscheinlich die 16x26 
nehmen.
Vorher gehts aber erst noch an das letzte verbliebene Problem: Den FiFo. 
Ohne den gehts leider nur noch sehr schleppend mit der Übertragungsrate 
von RS232 her. 4-5 Byte am Stück bei 19200 krieg ich mit dem PIC-eigenen 
2-Byte FiFo noch hin aber dann kommt nur noch Müll auf dem LCD an.

PS: Die Daten sind aber m.E nicht little sonder big Endian angeordnet. 
Ich muß für den linken Teil des Buchstabens, also High-Byte bei 
MSB-first, erst das zweite Byte auslesen, dann das erste. Oder habe ich 
da was falsch verstanden. Sind aber eigentlich nur Haarspaltereien, das 
Display läuft ja so.

Meik

von Achim K. (achimk)


Lesenswert?

Vielen Dank an Benedikt und all die anderen Spezialisten.
Würde gerne den 12x16 Zeichensatz mit Atmega8 im Textmodus einsetzen. 
Kenne mich aber mit Assembler nicht aus. Auf die letzten 32 Zeichen des 
Zeichensatzes könnte ich gerne verzichten. Dann müsste der Atmega8 
eigentlich reichen.
Wer kann mir helfen, das zu realisieren ?

Achim

von Benedikt K. (benedikt)


Lesenswert?

12x16 ist etwas ungünstig, denn eine Anforderung an die Schriftart ist, 
dass die alle Buchstaben nebeneinander genau 256 Bytes benötigen.
Die Breite der Zeichen auf die nächste 8er Grenze aufgerundet mal die 
Anzahl an Zeichen muss <= 256 sein.
Die 12x16 Schriftart müsste man daher als 16x16 speichern und hätte 
somit Platz für 128 Zeichen.

von Maximilian K. (langerhans)


Lesenswert?

Hallo!
Bauteile sind gestern gekomen, Bluetooth geht schonmal, jetzt warte ich 
noch auf Pollin -.-
Aber eine Frage hätte ich da noch.
Ich hab ja den AQV257 weggelassen, wo genau kommt dann VLCD hin?

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Maximilian Keller (langerhans)

na, an der neg. Kontrastspannung(Drahtbücke anstatt Relais o.ä.)
Wird halt beim Pollin-Display nicht abgeschaltet

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

Ja, sorry, das hab ich dann auch gelesen...
Jetzt hab ich das mal aufgebaut und genau mit dieser Spannung ein 
Problem.
Ich messe statt etwa -20V -42V! Ist das normal? Kann ich mir nicht 
vorstellen. Weiterhin habe ich etwa 47V zwischen Pin15 und GND am 
AVR(Sockel). Worauf kann das hindeuten? Ich hab die Schaltung jetzt 
schon mehrfach kontrolliert...

Immerhin leuchtet meine Hintergrundbeleuchtung schonmal :P

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>Ich messe statt etwa -20V -42V! Ist das normal? Kann ich mir nicht
>vorstellen. Weiterhin habe ich etwa 47V zwischen Pin15 und GND am
>AVR(Sockel). Worauf kann das hindeuten? Ich hab die Schaltung jetzt
>schon mehrfach kontrolliert

das der AVR kein PWM erzeugt(nicht geproggt)? keine Last dran?

Männer: Poti Zwischen 5V und GND und den Schleifer an R1 ran.
AVR natürlich raus.
Statt Display ein Widerstand 2,5K o.ä. ran.

Wenn das läuft dann weiter...

Wigbert

von Maximilian K. (langerhans)


Angehängte Dateien:

Lesenswert?

Hallo!
Danke für den Tipp mit der Last, mit dem Widerstand und dem Poti hatte 
ich die richtige SPannung!

Das LCD funktioniert jetzt genau wie es soll!
Was mich nur stört ist dass der Spannungswandler rauscht?!

Aber das ist nur sehr leise und ich freu mich viel mehr, dass ich jetzt 
damit spielen kann! :P

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Maximilian Keller (langerhans)

> mit dem Widerstand und dem Poti hatte
>ich die richtige SPannung!
oder Du überträgst als erstes die PWM-Einstellung

>Was mich nur stört ist dass der Spannungswandler rauscht?!

meinst Du den Inverter, dann mess mal den Strom und stell
die Spannung nach
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"
ein.
Oder meinst Du der MC... rauscht mit seiner Spule

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Maximilian Keller wrote:

> Was mich nur stört ist dass der Spannungswandler rauscht?!

Das ist mehr oder weniger normal beim 34063.
Nur hörbar sollte es nicht sein. Entweder ein Keramikkondensator oder 
die Spule arbeitet als Lautsprecher.

von Maximilian K. (langerhans)


Lesenswert?

Also der Inverter ist es nicht, es rauscht auch noch hörbar wenn der 
nicht am Strom hängt.
Ich kann leider nicht genau lokalisieren welches bautel genau rauscht, 
aber es kommt von der Gruppe um den MC34063. Grob geschätzt würde ich 
auf die Spule tippen. Kann ich was dagegen machen, oder bin ich da 
machtlos?

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>Kann ich was dagegen machen, oder bin ich da
>machtlos?

gutes Gehör, Spass beiseite, welche Spule ist denn drauf,
für das Display reicht doch eine Spule in Widerstandform, SMCC-Spulen
von Reichelt.

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

Spule ist die aus der Bauteileliste von hier. Müsste die Reichelt 09P 
470µ sein.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Maximilian Keller (langerhans)

OK funktioniert auch damit, kannst Du bei Deiner gelieferten Version
die Windungen sehen, also kein Schrümfschlauch drüber?.
Ich hatte die damals des Preises und der Funktionssicherheit gewählt.
Wobei, ich hab die Spule auch probiert, konnte aber kein Pfeifen
wahrnehmen.
Der MC... schwingt mit ca.30 Khz?
Ich würde mal doch eine SMCC probeweise einbauen.

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

@Wigbert Picht-dl1atw (wigbert)
Ich kan die Windungen sehen. Das Gehäuse ist so leicht milchig.
Ich hab leider keine andere Spule, aber welche wäre das denn 
beispielsweise, dann merk ich mir das mal für die nächste bestellung!

Die Frequenz von dem MC kann ich nicht messen, dafür bin ich nicht 
ausgestattet...

Das Rauschen klingt etwa wie wenn ich mit dem Radio kein empfang habe. 
Kann das auch von aussen irgendwas stüren?

MfG

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

@Maximilian Keller (langerhans)

>Ich kan die Windungen sehen.
ich war da auch etwas bei der Lieferung enttäuscht

schalte mal alles ab, und lass nur den Inverter mit Lastwiderstand an.
Erstmal alle anderen Quellen ausschliessen.

Ich hab eine SMCC 470µH am laufen, hat aber nach Benedikts Hinweis:
Ohmscher Widerstand < 5 Ohm , ein zu grossen Gleichstromwiderstand.
Geht aber.
Die Reichelt SMCC 220µH (3,3 Ohm) wäre wohl richtig.
Pollin hat 470µH (eckig)
oder ein Ringkern (T50) aus einen Schaltnetzteil.

Geht alles.

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

@Wigbert Picht-dl1atw (wigbert)
Also ich musste bei dem Test eben feststelle, dass auch der Inverter 
rauscht, aber nicht so laut wie die Gruppe um den MC...
Ich glaub da ist irgendwas, was gewaltig stört...
Ich schätze ich muss mir dann wohl ne andere Spule besorgen.
Inverter hab ich übrigens von Pollin. Der mit der RGB Röhre. Der läuft 
wie die gesamte Schaltung mit 4,5V da mein Netzteil leider keine 5V 
liefern kann. Könnte es evtl. auch daran liegen, ansonsten hätt ich hier 
nämlich noch ein paar 5V Spannungsregler rumliegen.

MfG
P.S.: Die Befehle muss ich alle als Hex-Wert senden. Allerdigs geh bei 
mir nur einstellige Werte. Ich progge mit Delphi und da geht z.b.: $8 
für Backspace, aber nicht $12 für "Display löschen". Jemand ein Tipp 
hier?

MfG

von (prx) A. K. (prx)


Lesenswert?

Ich dachte der Pollin-Inverter sei für 12V gedacht. Bei 4,5V tut er also 
auch?

von Maximilian K. (langerhans)


Lesenswert?

@A. K. (prx)
Jap, der Inverter bringt das Display schon mit 4,5V voll zum leuchten.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Maximilian Keller (langerhans)

also, ich übertrage vom Teminalprogramm auch Hex,
funktioniert tadellos.
Das mit Delphi ist allerdings interessant

Empfänger mal abgeschaltet usw. das da nichts rein kommt?

wie schon oben erwähnt, mit dem Inverter(wenn es der 5V Typ ist)
nicht das GLCD überlasten.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht-dl1atw wrote:
> Pollin hat 470µH (eckig)

Könntest du von der mal den Widerstand messen? Die Angabe 70mA bei 
Pollin klingt nach sehr hochohmig. Mit der 47µH Variante von dieser 
Spule habe ich auch gute Erfahrungen gemacht.

Maximilian Keller wrote:
> Also ich musste bei dem Test eben feststelle, dass auch der Inverter
> rauscht, aber nicht so laut wie die Gruppe um den MC...
> Ich glaub da ist irgendwas, was gewaltig stört...

Ja, da scheint irgendwas nicht zu passen. Der CCFL Inverter erzeugt 
normalerweise einen sauberen Sinus.

Spendier der Schaltung mal noch ein paar Elkos mit um die 100µF (je 
einer an den AVR, den CCFL Inverter und an den 34063).

von Maximilian K. (langerhans)


Lesenswert?

@Wigbert Picht-dl1atw (wigbert)
Naja, es geht auch soweit, ich kann Zeichen senden, nur die 
Steuerbefehle wollen nicht sobald sie 2stellig werden. Komischerweise 
gehen 2stellige Zahlen. Diese erzeugen dann den entsprechenden 
Buchstaben (z.B. $64 für "d").

Zum Inverter, der ist für 12V ausgelegt, der Strom kommt vom gelben 
Kabel am Molex Stecker. Pollin Bestellnummer ist: 700 638. Also 
überlastet dürfte da nichts sein.

>Empfänger mal abgeschaltet usw. das da nichts rein kommt?
Wie meinst du das? Welchen Empfänger?

@Benedikt K. (benedikt)
Ok, das werd ich mal versuchen, aber nichtmehr heute, das Lötzeug steht 
schonwieder unterm Bett ;)

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Benedikt K. (benedikt)
hab noch mal nachgemessen, 3,6 Ohm. Geht auch anstandslos.
Ich hatte auch Drosselspulen in Stabform mitbestellt,
420µH/0,15A die haben 18 Ohm und gehen nicht.

@Maximilian Keller (langerhans)
>Welchen Empfänger?
empfängst Du nicht Deine Zeichen über eine Funkstrecke?

Wenn der Inverter für 12V ausgelegt ist, fährst Du ihn unterhalb seines
Arbeispunktes, ich glaub mich an eine Einstellung
ca 7,5V zu erinnern, um an die Leistung der Displays ranzukommen.

Noch mal: Strom messen


Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Wigbert Picht-dl1atw wrote:

> hab noch mal nachgemessen, 3,6 Ohm. Geht auch anstandslos.

Danke, das ist besser als erwartet (bei der Größe hätten mich auch 10 
Ohm nicht gewundert).
Die Spule dürfte aus der SD75 Reihe stammen:
http://www.neosid.de/DWL/Teil2/Seiten/208-213.pdf

> Ich hatte auch Drosselspulen in Stabform mitbestellt,
> 420µH/0,15A die haben 18 Ohm und gehen nicht.

Ja, die gehen schlecht, da dies Entstörspulen mit hohen Verlusten sind.

von Maximilian K. (langerhans)


Lesenswert?

@Wigbert Picht-dl1atw (wigbert)
Sorry, aber wahrscheinlich häng ich schon zu lang davor, aber ich 
schaffs nichtmal mit dem Multimeter den Strom zu messen. Ich glaub ich 
teste das morgen nochmal in Ruhe...
Und ja ich empfange über Funk (Bluetooth) aber den Empfänger hatte ich 
schon ab...

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@ Benedikt K. (benedikt)
danke fürs DBL, ich hatte einfach mal welche mitbestellt,
bei den Preis.
Ich hab dann mal probehalber auf ein T50 Ringkern ca 5m 0,3 Cul
draufgewickelt(Spule mit Anzapfung) geht auch gut, wobei ich mit den
Ringkernrechner die Ind. nicht errechnen konnte. Und zu Fuss war mir das
zu aufwendig.
Aber auch die Orginalwicklung(ca.0,5 Cul) auf den Ringkern geht, wobei 
der R da um die 1 Ohm ist.

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

Hallo!
@Wigbert Picht-dl1atw (wigbert)
Kannst du mir vielleicht eine deiner geeigneten Spulen zukommen lassen? 
Natürlich gegen Kostenerstattung!

@all
Hat jemand ein Programm für den PC um das display anzusteuern? 
LCDSmartie kennt keine 40*20 Displays und LCDHype scheitert schon am 
öffnen vom COM Port...
Ich kann zwar in Delphi auf dem Display rumschreiben, aber die Befhele 
mit Parameter wollen nicht gehn.

@Benedikt K. (benedikt)
Wie genau läuft die Auswertung von den Befehlen mit Parametern, was 
erwartet der AVR auf dem UART bspw. für die grosse Schrift? Mit dem Tool 
232Analyzer geht das wenn ich auf Dec umstelle und dann 9,48, sende. Ich 
weiss nur nicht wie das dann über die snittstelle geht. Befehle ohne 
Parameter laufen einwandfrei, auch bei mir im Programm.


MfG

von Benedikt K. (benedikt)


Lesenswert?

Maximilian Keller wrote:

> LCDSmartie kennt keine 40*20 Displays und LCDHype scheitert schon am
> öffnen vom COM Port...

LCDHype sollte funktionieren, wenn man "Serial Crystal Fontz Driver" 
auswählt.
Damit habe ich das Bild ganz oben gemacht.


> Wie genau läuft die Auswertung von den Befehlen mit Parametern, was
> erwartet der AVR auf dem UART bspw. für die grosse Schrift?

Wenn ein Zeichen empfangen wird, dann wird geprüft, ob es ein Zeichen 
(Wert >=32) oder ein Befehl (<32) ist. Daten werden direkt in den 
Speicher geschrieben, Befehle werden ausgeführt bzw. es werden erstmal 
die Parameter des Befehls empfangen.

> Mit dem Tool
> 232Analyzer geht das wenn ich auf Dec umstelle und dann 9,48, sende. Ich
> weiss nur nicht wie das dann über die snittstelle geht. Befehle ohne
> Parameter laufen einwandfrei, auch bei mir im Programm.

Ganz genauso. Es werden einfach die Bytes 9, 48 usw. gesendet.

von Maximilian K. (langerhans)


Lesenswert?

@Benedikt K. (benedikt)
Danke, das war der entscheidende Hinweis, ich kann jetzt ohne Probleme 
alle Bafehle in meinem Programm verwenden! ich hatte immer gedacht ich 
muss ein Trennzeichen einfügen, aber jetzt reihe ich den Befehl und die 
Parameter zu einem String zusammen und es geht! Jetzt muss ich mir nur 
ein paar sinnvolle Anwendungen einfallen lassen :P

Was mir noch zu dem rauschen eingefallen ist: Als ich zum testen den 
Poti angeschlossen habe wie wieter oben erwähnt, hatte ich das rauschen 
auch erst, als ich den Poti dann gedreht habe war es am anderen Ende 
komplett weg!

MfG

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Maximilian Keller (langerhans)

Schick mir eine E-Mail, das Rauschen muss auch noch weggehen.

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

@Wigbert Picht-dl1atw (wigbert)
Immer wenn ich versuche dir ne Nachricht zu schreiben kommt:
>An internal Error has occured. If this problem persists, please contact the 
>administrator of this website (webmaster@embdev.com).

>Ein interner Fehler ist aufgetreten. Falls dieses Problem erneut auftritt, wende 
>dich bitte an den Administrator (webmaster@mikrocontroller.net).

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Maximilian Keller (langerhans)

seltsamerweise bekomme ich aber eine Nachricht von dem Thread

Elektro-Picht(ät)gmx.de

Wigbert

von Maximilian K. (langerhans)


Lesenswert?

@Wigbert Picht-dl1atw (wigbert)
Die Spulen sind heute eingetroffen. Die SMCC hat den Geräuschpegel auf 
ein Minimum gesenkt, die von Pollin hat nichts verändert. Ich denke 
jetzt noch ein paar Elkos und das Rauschen sollte ganz weg sein. Vielen 
Dank nochmal.
Dann kann ich mich ja jetzt weiter mit dem Programmieren beschäftigen^^

MfG

von Alkor (Gast)


Lesenswert?

Hi,
ich bin dabei mich an einem Nachbau zu versuchen. Ich habe mir das 
Display NAN YA LTBE9S159J1K (normaly white) bei Pollin schicken lassen. 
Ich habe es gerade ausgepackt und da sind an einer Stelle schon schwarze 
Punkte zu sehen.
Ist das Dispay bistabil? Ich habe die Elektronik noch nicht fertig, also 
kann ich es leider noch nicht richtig testen. Gibt es eine Möglichkeit 
zu testen ob die Fehler verschwinden, wenn ich einfach die 
Versorgungsspannung anlege? Oder ist das eher ein Fall für retour?

Gruß

von Benedikt K. (benedikt)


Lesenswert?

Alkor wrote:

> Ich habe es gerade ausgepackt und da sind an einer Stelle schon schwarze
> Punkte zu sehen.

Klingt nach einem Transportschaden aufgrund mangelnder Verpackung. Mach 
mal ein Foto, dann kann ich eindeutig sagen ob das wirklich zutrifft.

> Ist das Dispay bistabil?

Nein. Das einzige was passieren kann ist, dass ein paar Pixel bzw. 
komplette Zeilen/Spalten beim Abziehend er Schutzfolie aufgrund 
elektrostatischer Ladungen kurzzeitig angehen. Nach ein paar Sekunden 
sollten diese aber wieder verschwinden.

von Alkor (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die schnelle Antwort!
Ich denke damit ist das ein Fall für eine weiter Retoursendung. Bis 
dahin hab ich dann hoffentlich auch den Controller fertig. Bild ist im 
Anhang.(hoffentlich vom Format nicht zu groß)

schönes We noch
Alkor

von Benedikt K. (benedikt)


Lesenswert?

Ja, das sind eindeutig die Fehler, die durch Druckstellen entstehen. Ich 
weiß zwar noch nicht genau wie das ensteht (also was der Druck bewirkt), 
aber den Fehler hatte ich bei genau diesem Display auch schon -> 
Umtauschen.

von Axel R. (Gast)


Lesenswert?

>Ich denke damit ist das ein Fall für eine weiter Retoursendung.

Das könnte das Display sein, welches ich zurückgeschickt hatte.
Hier lag der Stecker der Hintergrundbeleuchtung nicht neben, sondern 
unterm Display. Eindeutig Transportschaden.

Man muss übrigens mächtig aufs Display draufhauen, um solche 
Druckstellen hinzubekommen ;-)

Gruß
Axelr.

von Bernd (Gast)


Lesenswert?

Hallo zusammen,

ich habe die Schaltung nach dem 1. Post von Benedikt aufgebaut. Leider 
seh ich nur breite gelbe und schwarze horizontale Balken auf dem Display 
:-(

Versorgungsspannung +5V und Masse hab ich geprüft. Ist an allen Punkte 
da.

An der 1N4148 Diode kann ich -17,6V messen, welche dann an das Display 
gehen.

Hintergrundbeleuchtung tut auch.

Am Pin 15 seh ich einen schönen Rechteck auf dem Oszi.

Was mich  sehr irritiert, sind die gelben Balken!? Wenn ich hier alles 
richtig gelesen habe, dann deutet das darauf hin, dass das Disply viel 
zu viel Kontrast hat?
Wenn ja, wie kann ich den Kontrast reduzieren?

Hat irgend jemand noch einen Tipp, was ich prüfen könnte? Ich hab bei 
Pollin 2 Displays bestellt. Habe mit beiden den selben Effekt. Als Spule 
hab ich die 470uH von Pollin. Sollte lt. obigen kommentaren gehen.

Es wäre echt super klasse, wenn jemand noch einen Tipp hätte. Ich such 
seit 2 Tagen meinen Fehler und finde ihn nicht :-( Weitere Infos über 
meinen Aufbau kann ich gerne liefern. Kein Problem!

Danke und Grüße an alle, Bernd

von Benedikt K. (benedikt)


Lesenswert?

Prüf mal ob das LP Signal von Pin 16 auch wirklich am Display an dem 
richtigen Pin ankommt.

von Bernd (Gast)


Lesenswert?

Hallo Benedikt,

danke für die schnelle Antwort. Ich kann erst heute Abend wieder messen. 
Bin bei der Arbeit.

Nur um sicher zu sein: Ich hab aus deinem 1. Post die HEX Datei genommen 
und so auf den Atmega8 programiert. Fuses stehen auf external crystal 
high frequency. CKOPT ist gesetzt. Geproggt mit STK500 und dem Atmel 
Studio.

RS232 ist nicht angeschlossen. Dein Prog. gibt selbstendig Demotext aus? 
So korrekt verstanden?

Danke nochmal fürs schnelle Reagieren und Grüße, Bernd

von Benedikt K. (benedikt)


Lesenswert?

Ja, dann sollte die Schaltung laufen und einen Text ausgeben.

von Bernd (Gast)


Lesenswert?

Hi Benedikt,

LP (Load) ist bei mir immer 0V. (LP = Pin 16 am Atmega8)

Idee?

Grüße, Bernd

von Benedikt K. (benedikt)


Lesenswert?

Kurzschluss nach GND oder ähnliches ist ausgeschlossen?
Direkt an Pin 16 ist auch nichts zu messen?

Es müssten Peaks mit mit etwa 10-15kHz und wenigen 100ns Breite sein.

von Bernd (Gast)


Lesenswert?

Hi,
kein Kurzschluß zu Masse.

LOAD ist definitiv 0V.
Disp ON/OFF ist permanent +5V

Bei FRAME seh ich schön die Peak's.

Auch bei M (AC) seh ich einen Rechteck.

langsam wirds suspekt. Hab's eben mit einem 2. ATmega8 versucht. 
Selbiges Verhalten.

Kann man einen Atmega so proggen, dass PB5 und PB2 nichtmehr tun?

Vielen dank jedenfalls für deine Mühen. Vielleicht fällt dir ja noch was 
ein?

Grüße, Bernd

von Bernd (Gast)


Lesenswert?

Es geht ! :-)

Hab's nochmal mit einem Atmega168 (andere HEX-Datei!) versucht und mit 
dem gings dann auf Anhieb.

Dann nochmal den 2. Atmega8 reingetan und dann hat der auch 
funktioniert. War wohl nicht richtig im Sockel drinn :~)

Der 1. Atmega8 ist aber definitiv defekt so wie es scheint.

Vielen Dank Benedikt für deine Hilfe und dein Super Projekt hier!

Grüße an alle, Bernd

von Bernd (Gast)


Lesenswert?

Hallo Benedikt,

ich hab nun einen Atmega8 in der Schaltung.

Leider funktioniert der Befehl für "Gehe zu Zeilen Anfang" nicht.

Meinst du es wäre dir möglich, bei Gelegenheit nochmal eine HEX zu 
machen, bei der "gehe zu Zeilen Anfang" funktioniert? Wäre super klasse!

Beste Grüße, Bernd

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Stimmt, das hatte ich garnicht gemerkt, dass ich diese Version noch 
nicht gepostet habe.
Hier ist die korrigierte Version.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Mal ne Frage zu dem LTBE9T372G1K das ist ja 5€ günstiger als das NAN YA 
LTBE9S159J1K... hat das irgeneinen Grund? Oder ist nur die "Farbe" der 
Unterschied? (Seit ich bei Reichelt festellen mußte das Schwarzes 
Verlängerungskabel teuerer als weißes ist wunder mich nix mehr).
Gibt es eigentlich auch passende Steckverbinder für das Display oder 
habt ihr alle da Kabel angelötet?

von Benedikt K. (benedikt)


Lesenswert?

Läubi .. schrieb:
> Mal ne Frage zu dem LTBE9T372G1K das ist ja 5€ günstiger als das NAN YA
> LTBE9S159J1K... hat das irgeneinen Grund?

> Gibt es eigentlich auch passende Steckverbinder für das Display oder
> habt ihr alle da Kabel angelötet?

Ich habe direkt ein Flachbandkabel angelötet.
120386 von Pollin sollte passen, hat zwar 14 statt 12 Pins, aber egal.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Läubi .. (laeubi)

Na ja, Moderatoren löten( sie haben das auch drauf) ich bin für Stecker.

Ich hab in Dip, SMD , liegend u. stehend schon Stecker für die Displays
bestellt. Was hättest Du denn gerne, bevor ich Best.Nr. rauskrame.

Wigbert

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ist eigentlich egal, ich hab auch nix gegen SMD ;)
Nur Flachbandkabel löten ist nicht so mein Spezialgebiet :P
Der Preisunterschied begründet sich also nur in der Farbe?

von erna (Gast)


Lesenswert?

Hallo,

wofür ist eigentlich der M (AC-Drive) Pin (PB4)? Ich habe eines der Nan 
Ya Displays von Pollin und in dem Datenblatt, das hier für die gepostet 
wurde, taucht unter "8.2 Timing Chart of Input Signals" auch ein M auf, 
aber es gibt doch gar keinen Anschluss, der so heißt.



Gruß
erna

von Benedikt K. (benedikt)


Lesenswert?

LCDs müssen mit einer Wechselspannung angesteuert werden. Dazu wird 
periodisch (z.B. alle 16 Zeilen, oder auch einmal pro Bild) die Spannung 
invertiert. Das Umschalten geschieht über Analogschalter auf dem LCD. 
Das M Signal schaltet also zwischen positiver und negativer Spannung am 
LCD um.
Je nach LCDs kann es günstiger sein nach wenigen oder nach vielen Zeilen 
umzuschalten. Daher verbauen einige Hersteller einen Zähler auf das LCD 
und erzeugen das Signal selbst.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Läubi .. (laeubi)

also für mich waren die Stecker von Farnell am einfachsten zu beschaffen

http://de.farnell.com/molex/52271-1279/socket-ffc-fpc-smt-1mm-12way/dp/1079952?_requestid=295205

bei Digikey sicher günstiger, wie
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=609-1939-ND

o.ä


Wigbert

von Christian J. (Gast)


Angehängte Dateien:

Lesenswert?

Hat schon jemand angefangen eine Library zu schreiben, die die Befehle 
einbettet?

Text Scrolling mit internem Buffer von 800 Zeichen ist bei mir fertig, 
ausgegeben über die Uart werden nur die geänderten Zeilen, er dudelt 
seit gestern Zahlen und deren Wurzeln durch. Aber für eine mixed Mode 
Darstellung, also Grafik und Textfelder fehlen mir noch die Ideen. 
Koordinatensysteme sind ganz heftig, vor allem wegen der Skalierung (an 
Auto-Skalierung darf ich gar nicht erst denken) und dem relativen Bezug 
zu 0,0.

von Gerhard S. (gerhard99)


Lesenswert?

Hallo,
ich bekomme meinen Nachbau einfach nicht ans laufen. Habe schon mehrfach 
alles kontrolliert und nachgemessen. Auf dem Display läuft entweder ein 
weißer unregelmäßiger horizontaler Balken rüber oder ca. zwei Zeilen 
breite unleserliche Textzeile. Sieht nach falscher Synchronisation aus. 
Wie sollen die Ansteuersignale aussehen?

Gruß
Gerhard

von Benedikt K. (benedikt)


Lesenswert?

LP und FLM sollten kurze Impulse mit etwa 17kHz bzw. 70Hz sein. PCLK 
sollten Blocks von 80 Takten sein, dann eine etwa gleich große Pause, 
dann wieder die Takte usw.

von Gerhard S. (gerhard99)


Lesenswert?

Hallo Benedikt,
vielen Dank für Deine schnelle Antwort. Deine Angaben für LP und FLM 
stimmen mit meinen Messungen überein. Nur bei PCLK ist das Block Pausen 
Verhältnis nicht gleich groß (1,2 zu 0,9). Kann es daran liegen? 
Außerdem habe ich Takt an den PIN's 27 und 28 vom ATMEGA8 (von diesem). 
Oder hat das nichts zusagen?

von Benedikt K. (benedikt)


Lesenswert?

Passt alles. Dann tippe ich auf einen Verdrahtungsfehler zum LCD, vor 
allem LP scheint nicht am LCD an der richtigen Stelle anzukommen.

von Gerhard S. (gerhard99)


Lesenswert?

Schande oh Schande! Hatte vergessen den Blockkondensator vollkommen 
anzuschließen. Jetzt klappt alles. Er zeigt auf dem Display den 
kompletten Zeichensatz an.
Vielen Dank für die Unterstützung!

von MichiB (Gast)


Lesenswert?

Hallo zusammen,

wäre jemand so nett und könnte die Initialisierung für das WINSTAR 
320240 posten?

Danke!

von Christian J. (elektroniker1968)


Angehängte Dateien:

Lesenswert?

Bei mir gehts langsam weiter.

Die Routinen zur Bildschirmverwaltung sind doch aufwendiger als ich 
dachte.
Benediktfs Funktionen sind jetzt alle gekapselt, Koordinatensystem nach 
unten links verlegt worden. Endloser Textscroll nach oben durch funzt 
auch schon.

Benutze derzeit 2 x 800 Zeichen Puffer (Heimspiel Arm7: 54kb Ram 
intern), die verglichen werden, es werden nur die Zeichen übertragen die 
sich auch verändert haben. Leider ist da kein Mixed Mode Text/Grafik 
mehr möglich und die sprintf Befehle sind nicht mehr so einfach wie 
printf, wo alles hintereinander geschrieben wird. Man muss vorher wissen 
welche Position angefahren werden soll. Wenn ich wüsste, wie ich den 
String Terminator 0 bei sprintf abschalten könnte wäre es einfacher, den 
muss ich später filtern. Dafür aber minimalster Datenverkehr zum 
Display.

Meinem Rechenknecht zufolge haben wir morgen den längsten Tag des 
Jahres, fast keine Veränderungen mehr die letzten Tage.

Frage mich nur, wie man die 512kb Flash vollkriegen soll, sind nicht mal 
12kb und schon 6000 Zeilen, Flieskomma, sin, cos, tan, alles mit 
eingelinkt. ARM rulez :-)

Gewöhnungsbedürftig:
1
sprintf(GD_CharBuf[6],"Sonnen AG  : %02u.%02u Uhr",Sonne_AUF_UNTER.SAG_Std,Sonne_AUF_UNTER.SAG_Min);
2
3
sprintf(GD_CharBuf[14],"SU  -2    -1    (0)   +1    +2    +2");
4
    line = 0;
5
    for (i=-2;i<4;i++) {
6
    CalcSonnenAufgang(&Zeit, &Sonne_AUF_UNTER,(int32_t)tage+i);
7
    sprintf(&GD_CharBuf[15][line+3],"%02u.%02u",Sonne_AUF_UNTER.SUG_Std,Sonne_AUF_UNTER.SUG_Min);
8
        line += 6;
9
    }

von Helmut R. (helle)


Lesenswert?

Hallo Benedigt,

ich bin über einen Modellbauportal auf diesen Displaycontroller mit Mega 
8 oder Mega 168 gestoßen. 40x20 Zeichen wäre ideal um Parameter vom 
Mikrocopter / Quadrokopter auslesen zu können ohne einen Notebook 
mitschleppen zu müssen.
Gibt es eine Variante wo man mit 4 Dipschaltern verschiedene Baudraten 
einstellen kann, so von 2400 bis 57600, (bei 1,8,2,N)  als fertiges 
Hexfile. Wäre sehr hilfrein und universeller verwendbar

Hardware würde ich schon hinbekommen, Software reichts gerade mal zum 
flashen und ein bisserl Basic

mfg
helle

von Benedikt K. (benedikt)


Lesenswert?

Bisher existiert dieses Feature noch nicht, aber ich kann es bei 
Gelegenheit mal einbauen.

von Helmut R. (helle)


Lesenswert?

Hallo Benedigt,

ich habe heute Abend angefangen dein Schaltung nachzubauen
dabei sind ein paar Fragen/Unklarkeiten aufgetaucht bezüglich der 
Belegung des LCD-Display NAN YA von Pollin

Ich hab mal lt Datenblatt die Anschlüße rausgsucht, unklar ist:
Mega8 Pin 18,  Funktion M  AC  dazu gibts am LCD keine Funktion ? was 
tun?

Atmega  LCD    Pin
23      D0     7
24      D1     8
25      D2     9
26      D3     10

14      PCLK   3
16      LP     2
17      FLM    1
18      M  AC  ???diesen Anschluß gibts nicht am LCD!,Funktion???
19      OnOFF  11


Versorgung
     5V  VDD   4
     GND VSS   5
        VLCD   6   -24V

lt Plan:
        R6     1 Ohm ??kann das sein  1 Ohm??

12V Inverter von Conrad ist ok, geht bis 5V runter, werde mit 7-8V 
fahren

Könntest Du  bitte die offenen Punkte kurz abklären
Ansosnten habe ich das Dink fertig verdrahtet und möchte es morgen Abend 
testen.

Danke für deine Hilfe

mfg
helle

von Benedikt K. (benedikt)


Lesenswert?

Helmut Renz schrieb:

> Ich hab mal lt Datenblatt die Anschlüße rausgsucht, unklar ist:
> Mega8 Pin 18,  Funktion M  AC  dazu gibts am LCD keine Funktion ? was
> tun?

Offen lassen.
Dieses LCD erzeugt sich dieses Signal intern selbst.

> lt Plan:
>         R6     1 Ohm ??kann das sein  1 Ohm??

Ja, der dient zur Strommessung.

von Helmut R. (helle)


Lesenswert?

Hallo,

Hoppal das geht aber schnell, dachte nicht dass du online bist.
Ich kam gerade aus dem Keller und hab das Dink zusammengelötet,
Lochraster natürlich, und dachte schreib mal auf was dir aufgefallen 
ist.

Danke für die Mühe!!

Ach Ja ,
kann ich zum Test den Spannungswandler für -22V auch ohne Last betreiben
oder muss ich einen Lastwiderstand ranhängen ?

Am Display-Datenblatt  sind noch 2 Widerstände R1, R2, ein PotiVr und 
ein PNP Transitor angegeben, denke ist für den Kontrast, gibt dazu 
Werte?
BC327 sollte gehen?

Eigentlich hab ich 2 Display bei Pollin bestellt, aber eins ist defekt.
Wurde alles in einer großen Schachtel ohne Polstermateial geliefert,
Glas gebrochen, was auch sonst! Bekomm aber Ersatz
Das andere scheint ok zu sein, drum will ich ja schnell testen falls es 
doch einen Macken hat.

mfg
helle

von Benedikt K. (benedikt)


Lesenswert?

Helmut Renz schrieb:
> kann ich zum Test den Spannungswandler für -22V auch ohne Last betreiben

Ja.

> Am Display-Datenblatt  sind noch 2 Widerstände R1, R2, ein PotiVr und
> ein PNP Transitor angegeben, denke ist für den Kontrast, gibt dazu
> Werte?
> BC327 sollte gehen?

Dieser Teil ist überflüssig, denn die Einstellung ist per Software, oder 
über R5 möglich, den man teilweise durch ein Poti ersetzen kann (z.B. 
33k Widerstand + 22k Poti).

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Hier die neue Version für den mega8:
Die Baudrate ist nun zwischen 1200 und 57600Baud über 3 Pins 
einstellbar.
Die Baudrate wird nur beim Einschalten eingelesen und beim 
Begrüßungsbild angezeigt.
Zusätzlich ist nun auch die Invertierung einzelner Zeilen möglich.

von helle (Gast)


Lesenswert?

Hallo,

danke für die schnelle Info und die Baudrate-Änderungen
Werde es heute Abend hoffentlich gleich zum laufen bringen

Danke nochmals!
mfg
helle

von Helmut R. (helle)


Angehängte Dateien:

Lesenswert?

Hallo Benedigt,

Display läuft auf Anhieb, Danke!
Vorab allerdings alles getestet, anderes Kabel angelötet
umverdrahtet auf den Kontrast-Trimmer R5 = 33k + 22kPoti,
Baudrate Dipschalter ergänzt und etwas Umfeld dazu, Spannungsregler, 
LED, Verpolungsschutzdiode (Schutz vor mir selber!)

Tip:
Test des Spannungswandlers ohne gesteckten Prozessor machen,
dabei aber Pin 15 des Atmega 8 -Sockels auf Masse legen , auf keine Fall 
offen lassen, sonst wird der MC34063 sehr heiß und erzeugt -48 bis 
-63V!,
Dann VLC mit dem Kontrast-Trimmer auf ca -16 bis -18V einstellen

Da ich den AQV 257 nicht auftreiben konnte verwende ich einen 
pingleichen LH 1540,  Als fertigen Inverter den von Conrad

Fahre jetzt mit ca 10-12V und ca 300mA
(spätere Versorgung aus 3-Zellen Lipoly Flugakku des Tricopters
mit 3 Draht Verbindung 11,1V Masse und RX )

5V Spannungsregler muß ich nochmal tauschen gegen einen Lowdrop-Typen

Auf dem Bild ist alles zu sehen, kompletter Aufbau ist freiverdrahtet 
auf Lochraster

Jetzt noch alles in ein Gehäuse einbauen und ab damit an den Tricopter
zur Software-Parametrierung auf dem Flugplatz

Das nächte Display werde ich mit einem fertigen 4-Draht DC-DC 
Spannungswandler 5V auf 24V aufbauen

mfg
helle

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@ Benedikt

Befehl 9;12 bzw 9;48 schaltet die Schriftarten um.

Nun wollte ich zwei Zeilen Gross, eine Zeile klein (invers)ganz unten
darstellen. Scheint nicht zu gehen?

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Bisher ist das Umschalten nur global möglich. Rein theoretisch sollte es 
auch zeilenweise gehen, ich glaube da gab es aber irgendeine 
Schwierigkeit, daher habe ich dies noch nicht gemacht. Das muss ich mir 
bei Gelegenheit nochmal anschauen.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Ist nicht ganz so wichtig,

die Hintergrundbeleuchtung, gibt es da Erfahrungswerte der Lebensdauer,
sonst würde ich die CCFL-Röhre Nachts abschalten.

Das ganze sollte u.a.als DCF-Uhr 24 Stunden am Tag laufen.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Typisch sind rund 20kh. Das Datenblatt sagt mindestens 10kh. Das wären 
etwa 1-2 Jahre. Wenn man die Beleuchtung etwas dimmt, dann sollten aber 
auch 50kh drin sein.

von Sebastian (Gast)


Lesenswert?

Mal ne Frage zum Röhre Dimmen: Ich hab für mein Display den Inverter von 
Pollin (den blauen, bei dem die CCFL dabei ist). Kann ich da einfach die 
Spannung am eingang verringern? Also z.B. 7V statt 12V? Kann ich auch 
mit PWM rangehn, oder mag das der Inverter nicht?

Gruß, Sebastian

von Benedikt K. (benedikt)


Lesenswert?

Eine niedrigere Betriebsspannung für den Inverter ist kein Problem, die 
Ausgangsspannung und somit der Strom reduzieren sich dann entsprechend.
Per PWM kann man diese nicht direkt ansteuern, dazu müsste man die 
Schaltung etwas verändern: Es gibt 1-2 Widerstände die Basisstrom für 
die Transistoren im Inverter liefern. Diese müssen dauerhaft versorgt 
werden. In der Zuleitung von der Betriebsspannung zum Trafo im Inverter 
liegt eine Spule. Hier könnte man einen Transistor und eine Diode nach 
Minus davor einbauen. Dadurch hätte man einen Abwärtswandler gebaut.

von Sebastian (Gast)


Lesenswert?

Ok, dankeschön. Dann werd ich das sein lassen mit der PWM.

Sebastian

von Stefan K. (nukeman)


Angehängte Dateien:

Lesenswert?

Hallo zusammen und vielen Dank an Benedikt und das Forum für
dieses tolle Projekt!!!

Ich habe die Mega8-Software "as is" auf ein Pollin-Touch-Display
Best: 120 483  Optrex F-51154NF-FW-AA losgelassen und es hat auf
Anhieb funktioniert!

Da die Auflösung bei meinem Display nicht 320x240 sondern wahrscheinlich
480x200 ist, bleibt rechts ein Teil frei. Unten kommt es auch nicht ganz
korrekt aus, ich habe 16,5 Zeilen an kleinem Text.
Nach V24-Texteingabe bis zum Screen-Wrap sieht es so aus, als wenn unten
3,5 Zeilen fehlen. Aber das macht nix. Es funktioniert!

Optimaler Kontrast stellt sich hier bei etwa -25V ein. Das angehängte
Foto ist ziemlich miserabel. Das Display arbeitet aber völlig 
flimmerfrei
und trotz Freiverdrahtung ohne Pixelfehler.

Ich mach noch ein zusätzliches Post für das Pinout.

Danke,
Stefan

von Stefan K. (nukeman)


Angehängte Dateien:

Lesenswert?

Hier noch das Pinout. Ich habe einfach ein 2x6 Pinhead auf die Test-Pads
aufgelötet. Wenn man das leicht versetzt macht, klappt das ohne zus.
Verrenkungen und den vorhandenen exotischen Connector kann man ausser
Acht lassen.

Noch ein wichtiger Hinweis:
Das vermeintliche M-Signal(TP12) hatte ich vorsichtshalber mit 1k
angeschlossen. Aber am Display ändert sich auch nach Sekunden nichts,
wenn ich M trenne. Von dem Display kommt dann von TP12 ein schwaches
sinusoides Signal mit 200kHz. Also gut möglich, dass das Display
"M" selbst herstellt und TP12 nicht beschaltet werden braucht.

Nochmals Danke,
Stefan

von Benedikt K. (benedikt)


Lesenswert?

Stefan K. schrieb:

> Das vermeintliche M-Signal(TP12) hatte ich vorsichtshalber mit 1k
> angeschlossen. Aber am Display ändert sich auch nach Sekunden nichts,
> wenn ich M trenne. Von dem Display kommt dann von TP12 ein schwaches
> sinusoides Signal mit 200kHz. Also gut möglich, dass das Display
> "M" selbst herstellt und TP12 nicht beschaltet werden braucht.

Ja, das Display scheint den selbst zu erzeugen. Unterhalb von IC10 gibt 
es einen Jumper bei dem man zwischen AB und B wählen kann. AB ist ein 
intern erzeugtes M Signal, B das externe M Signal.
Das was du als Sinus siehst, ist eine kapazitive Kopplung zu dem daneben 
liegenden Pixel Schiebetakt. Der M Eingang ist also hochohmig. Keine 
Ahnung wieso der auch mit IC10 verbunden ist.
Die ganzen Jumper daneben dienen zur Einstellung des 
Teilerverhältnisses.  IC10 ist also irgendeine eine Form von einem 
einstellbaren Teiler.
Standardmäßig toggelt der Ausgang alle 13 Zeilen. Dazu wird das LP 
Signal in IC10 eingespeist (über die Via neben dem AB/B Jumper).

Wenn ich mich nicht verrechnet habe, dann möchte das Display mit 201 
Zeilen angesteuert werden, da es bei 200 Zeilen zu einem DC Anteil 
kommt.

Für die Grafikversion werde ich demnächst vermutlich meine Software 
anpassen, für die Textversion reicht der Speicher nicht aus.

von Stefan K. (nukeman)


Lesenswert?

Danke für die Hinweise. Speziell auf den leicht ungesunden DC-Offset!
Die Grafikversion werde ich demnächst nachbauen. Die LowCost-Lösung war
zunächst erstmal zum Schauen, ob das Display überhaupt irgendwie zum 
Leben
erweckt werden kann. Dazu brauchte ich nur kurz ein paar Kabel stöpseln.

Gruß
Stefan

von Klaus H. (gpsklaus)


Lesenswert?

Hallo,
nachdem ich in dem inzwischen schon sehr umfangreichen Thread dazu nicht 
die passenden Antworten gefunden habe, hier meine ( vielleicht ) blöden 
Fragen:

Wie wird bei der Eingabe eigentlich zwischen Texteingaben und 
Steuerbefehlen unterschieden?

Werden eingegebene Texte mit Erkennung von <CR> und <LF> angezeigt?

Erfolgt nach vollgeschriebener Seite einen Zeilen-Scrolling?

Über eine Antwort würde ich mich freuen.

Klaus

von Benedikt K. (benedikt)


Lesenswert?

Klaus H. schrieb:

> Wie wird bei der Eingabe eigentlich zwischen Texteingaben und
> Steuerbefehlen unterschieden?

Die nicht darstellbaren Zeichen (also alles kleiner ASCII Code 32) sind 
Befehle, alles darüber Text.

> Werden eingegebene Texte mit Erkennung von <CR> und <LF> angezeigt?

Im Prinzip ja. CR und LF bewirken die entsprechenden Funktionen, also 
eine Zeile runter und wieder an den Beginn der Zeile.

> Erfolgt nach vollgeschriebener Seite einen Zeilen-Scrolling?

Nein. Danach springt der Cursor wieder an den Anfang des Displays.

von Klaus H. (gpsklaus)


Lesenswert?

Hallo Benedikt
und vielen Dank für die schnellen Antworten.

> Die nicht darstellbaren Zeichen (also alles kleiner ASCII Code 32) sind
Befehle, alles darüber Text.

Na ja, darauf hätte ich eigentlich auch selbst kommen können!

>> Erfolgt nach vollgeschriebener Seite einen Zeilen-Scrolling?
> Nein. Danach springt der Cursor wieder an den Anfang des Displays.

.... schade eigentlich, denn das würde mir sehr helfen

Zum "Monitoren" ständig ankommender Textstrings könnte das m.E. sehr 
hilfreich sein. Zur Zeit dürfte es so sein, dass alle bei Beschreibung 
der fast vollen Seite ankommenden Zeichen ggf. ganz schnell wieder 
verschwunden sind.
Ist das Hinzufügen einer solchen Funktion ( ohne größere Klimmzüge 
machen zu müssen ) denkbar?

Gruß
Klaus

von Benedikt K. (benedikt)


Lesenswert?

Prinzipiell ist es machbar. Dazu muss der gesamte RAM Bereich quasi um 
eine Zeile (=40Byte) versetzt kopiert/verschoben werden. Das ist zwar 
eine Menge Kopierarbeit, aber da dies nur recht selten vorkommt sollte 
es keine großen Probleme machen.

von Klaus H. (gpsklaus)


Lesenswert?

Hallo,
ich habe noch ein Frage zum Thema "Inverter":
Für das Nan Ya-Display LTBE9_159_K von Pollin benötige ich ein 
geeignetes Exemplar. Auf den Seiten dieser Firma findet man aber derzeit 
nur noch einen ( in Verbindung mit einer Neonlampe gelieferten ) 
Invertertyp. Er hat die Best.Nr. 531321 und den Aufdruck: TDK XAD052S 
EA02052X. Leider habe zu diesem Typ im Internet überhaupt nichts 
gefunden. Vielleicht handelt es sich um eine für einen bestimmten 
Anwender hergestellte Ausführung. Auffällig ist dabei übrigens auch 
noch, dass die Anordnung der Bauteile etwas von dem auf der Pollin-Seite 
gezeigten Invertertyp abweicht.
Kann Jemand dazu etwas anmerken?

Klaus

von Stefan K. (nukeman)


Lesenswert?

Hallo Klaus,

ich habe mein Display auch mit genau diesem Inverter (Best. 531321)
angetrieben. Die stammen wohl aus einem Flachbett-Scanner.

Ich halte es für völlig unproblematisch, diesen Inverter mit dem
Nan Ya zu betreiben. Bei der letzten Bestellung habe ich mir auch
ein Nan Ya LTBE9T372G1K mitbestellt.
Ein kleiner Test jetzt gerade zeigt, dass es funktioniert ( und dass
ich ein Display mit einer Druckmacke bekommen habe :(  ).

Gruß
Stefan

von Klaus H. (gpsklaus)


Lesenswert?

Hallo Stefan,
vielem Dank für Deine Stellungnahme. Inzwischen habe ich die Inverter 
auch schon erhalten und erfolgreich getestet. Nachdem ich vorher noch 
nie etwas mit solchen Dingern zu tun hatte, war ich hinsichtlich ihrer 
Verwendbarkeit nur anfangs etwas verunsichert.

Gruß
Klaus

von Reinhard R. (reirawb)


Lesenswert?

Kleiner Einkaufstipp zum Thema Inverter:

http://shop.wiltec.info/product_info.php/info/p2313_Single-Inverter-fuer-1-Roehre.html

habe ich 2 Stück im Einsatz, allerdings an Displays 640 x 200 (ca. 20 cm 
lange Röhre). Sind IMO sehr preiswert, auch der Versand.

Reinhard

von Klaus H. (gpsklaus)


Angehängte Dateien:

Lesenswert?

Hallo,
inzwischen ist meine Displayeinheit aufgebaut. Nachdem die ( m.e. 
aktuelle )  ATMEGA168-Softwareversion vom 24.2.09 allerdings nicht zum 
Laufen zu bekommen war ( der Bildschirm wurde nur mit Zufallszeichen 
vollgeschrieben, aber es erschien kein Startbildschirm ), verwende ich 
inzwischen erfolgreich die ATMEGA8-Version vom 8.7.09.

Wie aus dem beigefügten Schaltbild zu ersehen ist, habe ich die 
Erzeugung der Vee-Spannung etwas gegenüber dem Original geändert und 
verwende hier einen für wenige Euros bei z.B. Reichelt erhältlichen 
DC/DC-Wandler.

Meine Anwendungen schliessen auch das Anzeigen von GPS-Navigationsdaten 
ein. Ein vorgeschalteter zweiter ATMEGA8 stellt vielleicht 
ingenieurmäßig gesehen nicht unbedingt die eleganteste Lösung dar, war 
aber ( in BASCOM-AVR ) immerhin ganz schnell programmlich umsetzbar.
Was ich noch suche, ist der ASCII-Wert, der falls vorhanden, für das 
Zeichen "°" im Display-Font benutzt wird.

Klaus

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Hier der verwendete Zeichensatz. Das ° Zeichen hat den ASCII Code 248.

von Klaus H. (gpsklaus)


Lesenswert?

Hallo Benedikt,
dafür vielen Dank.
Hast Du auch eine Idee zu meinen Problemen mit der 
ATMEGA168-Softwareversion?

Klaus

von Benedikt K. (benedikt)


Lesenswert?

Erscheinen da die Buchstaben/Zeichen vollständig (wenn auch in sinnloser 
Reihenfolge)?
Reagiert die Software auf die UART Signale?
Da du vermutlich die selbe Hardware für beide Versionen verwendet hast, 
kann man einen Hardwarefehler ausschließen. Da die Software bei Wigbert 
funktioniert einen Softwarefehler wohl auch.
Von daher habe ich eigentlich keine wirkliche Idee an was es liegen 
könnte.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Hi,
ich nehme nur die m168- Version,und die lief manchmal Tagelang.
Was kann man da falsch machen?
Fusebits?

Wigbert

von Klaus H. (gpsklaus)


Lesenswert?

@Benedikt

> Erscheinen da die Buchstaben/Zeichen vollständig (wenn auch in sinnloser
Reihenfolge)?

Ja

> Reagiert die Software auf die UART Signale?

Ja, aber dabei wird der Bildschirm immer nur mit einem bestimmten 
Zeichen ( wenn ich mich nicht täusche war es: 0xE0 ) vollgeschrieben. 
Änderungen der Baudrateneinstellung wirkten sich dabei nicht aus.

> Da du vermutlich die selbe Hardware für beide Versionen verwendet hast,
kann man einen Hardwarefehler ausschließen. Da die Software bei Wigbert
funktioniert einen Softwarefehler wohl auch.
Von daher habe ich eigentlich keine wirkliche Idee an was es liegen
könnte.

Da die Großanzeige für die GPS-Anzeige ohnehin nicht infrage kommt, 
besteht damit zur Zeit bei mir kein akutes Problem, aber dennoch würde 
es interessant sein, den Grund für das Nicht-Funktionieren 
herauszufinden.

@ Wigbert
> ich nehme nur die m168- Version,und die lief manchmal Tagelang.
Was kann man da falsch machen?

Wenn ich das wüsste! Mit anderer Software funzt der gleiche Atmega-Chip 
auch problemlos.

> Fusebits?

Daran hatte ich auch schon gedacht. Bei der ATMEGA8-Version klappt es 
aber bereits, wenn ich allein nur die Fuse für den externen Quarz 
setzte. Im Text schreibt Benedikt zwar noch, daß auch die Fuse "CKOPT" 
gesetzt werden muss, nur taucht dieser Begriff im Eingabemenü der von 
mir benutzen Brennsoftware ( myAVR Prog-Tool ) nicht auf. Ich gehe aber 
davon aus, daß ich diese automatisch mit setze, wenn ich bei mir 
Quarzfrequenzen > 8MHz auswähle.
PS: Ein anderes Exemplar des ATMEGA168 verhielt sich übrigens identisch.

Klaus

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

>Ein anderes Exemplar des ATMEGA168 verhielt sich übrigens identisch

na, wird der m168 richtig erkannt? Les doch mal den AVR zurück.
Ich kann hier hin und her proggen , finde nichts.
Ckopt ist dort gar nicht.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

CKOPT existiert nur bei den älteren AVRs, also bei mega8,16,32 usw. 
sowie 8515 und 8535.
Bei den neueren (megax8 usw.) hat der Full Swing Crystal Oscillator eine 
eigene Kombination bei den CKSEL Fusebits.

von Klaus H. (gpsklaus)


Lesenswert?

Hallo,
das Problem mit dem ATMEGA168 werde ich in den nächsten Tagen noch 
einmal angehen. Inzwischen programmiere ich auch mit "AvrProg" von 
ATMEL. Das Handling der Fuses funzt dort sicherer als bei dem von mir 
vorher benutztem Tool.

Jetzt habe ich aber noch eine andere Frage, die mir vielleicht speziell 
der Wigbert beantworten kann:
Wie kann ich Befehle via BASCOM an den Decoder senden, wenn diese noch 
zusätzliche Parameter enthalten müssen?
Einfache Befehle, wie z.B. "Print chr(12)" klappen wunderbar, aber in 
Falle zusätzlicher X,Y-Parameter suche ich noch das richtige 
Eingabeformat. Mit Formaten wie "Print chr(17), 15,20" , "Print chr(17, 
15,20)" oder Ähnlichem geht es jedenfalls nicht.

Klaus

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Klaus H. (gpsklaus)

sowas in der Art?

Printbin 17 ; 2 ; 2            'Zeile Vorwahl Nr.
Print = Mid(text , 27 , 6)     'Vorwahl Nr.
Printbin 17 ; 1 ; 3            'Zeile Tele.Nr.
Print = Mid(text , 33 , 7)     'Tele.Nr.

(Auszug aus Telefonbuch)


Wigbert

von Klaus H. (gpsklaus)


Lesenswert?

@Wigbert

> sowas in der Art?
> Printbin 17 ; 2 ; 2            'Zeile Vorwahl Nr.
> Print = Mid(text , 27 , 6)     'Vorwahl Nr.

Danke, "PRINTBIN" hat mir sehr weitergeholfen.

Inzwischen habe ich noch gelernt, dass es z.B. auch so gehen würde:
Print chr(17) ; chr(2) ; chr(2)

Klaus

von lcd_anfänger (Gast)


Lesenswert?

Hallo,

ich habe so meine Probleme mit dem Nachbau dieses Projekts.
Folgendes Problem kriege ich nicht in den Griff:

Ich kann den Begrüßungstext von Benedikt nur sehen, wenn ich von der 
Seite auf das Display schaue. Wenn man direkt drauf schaut, ist alles 
Schwarz.

Ich mess zwischen GND und Vee -19V. Wenn ich die Spannung erhöhe auf 
-23V sehen ich auch von der Seite nichts mehr vom Text.

Hat jemand eine Idee oder einen Tipp wo ich suchen sollte ?

Vielen Dank!

von Gast (Gast)


Lesenswert?

Wie schaut deine Beleuchtung aus?

von lcd_anfänger (Gast)


Lesenswert?

Das Backlight habe ich bisher noch nicht angeschlossen.
Ich habe das Nanya Display von Pollin mit dem "weißen" Hintergrund für 
14,95.
Kann man ohne das Backlight nichts erkennen ?

von Sebastian .. (zahlenfreak)


Lesenswert?

Bei dem "normally white" musst du auch ohne Backlight was sehen. Wenn 
dein Display normalerweise schwarz ist brauchst du unbedingt das 
Hintergrundlicht.

Ansonsten halt nochmal alle Lötstellen prüfen. Vor allem die direkt am 
Display. Oder mal ne etwas geringere Spannung probieren.

Sebastian

von Benedikt K. (benedikt)


Lesenswert?

Ist das Display im eingeschalteten Zustand komplett dunkel? Falls ja, 
ist die Spannung zu hoch.

von lcd_anfänger (Gast)


Lesenswert?

Naja wenn ich von oben draufschaue ist es komplett dunkel, von der Seite 
her sehe ich den Text.
Mit angeschlossenem Backlight sieht es nicht viel besser aus.

Ich messe -19V das ist doch eher zu wenig als zu viel ??
Naja ich werde das mal mit weniger Spannung testen, wird aber etwas 
dauern.

Danke für die Hilfe bis dahin.

von Klaus H. (gpsklaus)


Lesenswert?

> Ich messe -19V das ist doch eher zu wenig als zu viel ??
Naja ich werde das mal mit weniger Spannung testen, wird aber etwas
dauern.

Nach meinen Erkenntnissen ist der Spannungsbereich, in dem das Display 
gut ablesbar ist, schon verhältnismäßig eng. Hast Du die Spannung einmal 
im Bereich von etwa -15 bis -20V variiert? Dabei muss sich auf jeden 
Fall etwas im Kontrast ändern.

Klaus

von Nils A. (nonever)


Lesenswert?

sry aber ich bin anfänger in beeriech mc`s...
könnte mir villeicht jemand den schaltplan genauer erklären und eine 
bauteiliste anfertigen???
wie steuert man den controller an wenn er fertig ist???
würde gern mit mega8 arbeiten
danke NONEVER

von Sebastian .. (zahlenfreak)


Lesenswert?

Schau dir doch mal das AVR-Tutorial an und arbeite es am besten auch 
mit Material durch. Dann dürften sich die meisten Fragen erledigt haben. 
Wenn es dann noch konkrete Probleme gibt helfen wir auch gerne an dieser 
stelle weiter.

Gruß, Sebastian

von Nils A. (nonever)


Lesenswert?

die grundlagen kenne ich ich...
also Standartbeschaltung eines avr 8 bit microcontrollers usw..
tut mir leid , dass ich gestern einen so kurzen und abgehackten Post 
gemacht habe war aber sehr in eile..
was ich nicht verstehe ist der untere Teil des Schaltplans mit den 2. 
Ic...
ich denke mal das dieser für die Kontrastspannung ca. 23 volt sein wird 
oder?
Meine 2. Wirkliche FRage ist wie dieser displaycontroller nun 
angesteuert wird, wenn er fertig ist??
so wie es aussieht warscheinlich über die serielle Schnittstelle das 
heißt den txd ausgang vom DIsplay Controller an txd vom mega8 zum 
ansteuern oder?
und dann mit dem Print befehl. wäre nett wenn mir jemand nochmal sagen 
könnte warum im schaltplan deutlich mehr bauteile zu sehen sind als auf 
der Platine im 2 post
gru? NoNever

von Sebastian .. (zahlenfreak)


Lesenswert?

Der MC34063 ist -wie du vermutest- für die Kontrastspannung. Warum der 
schaltplan so voll und die Platine so lehr ausschaut weiß ich auch 
nicht, aber ich nehme mal an, Benedikt hat SMDs auf der Rückseite 
verwendet.

Angesteuert wird über UART, du schließt also TxD von deinem µC an RxD 
vom Displaycontroller an.

von Nico (nico123)


Lesenswert?

Hallo Benedikt und alle anderen,

ich habe grad dein Projekt nachgebaut.
Leider kann ich nur die letzten 32 Zeichen des Zeichensatzes(siehe ein 
paar Beiträge weiter oben) ausgeben.
Woran könnte das liegen?
Habe schon andere Baudraten ausprobiert, leider ohne Erfolg!
Das Startbild wird richtig dargestellt und die Baudrate wird auch laut 
Jumper richtig erkannt.
Auch die Befehle(wie z.B. LCD löschen) funktionieren nicht.
Wenn ich dem ATMEGA in der Schleife alle 256 ASCII-Zeichen schicke dann 
werden nur die letzten 32 Zeichen des Zeichensatzes dargestellt.
Bitte um Hilfe!

Grüße, Nico

von Matthias R. (reichema)


Lesenswert?

Hallo zusammen,
habe ein ähnliches Problem. NAN YA LTBE9T372G1K (noch ohne 
Hintergrundbeleuchtung).

Display wird nach dem Einschalten komplett hell. Text nicht zu sehen.

Frage: Ist es normal, daß die 20V nur im Leerlauf (ohne Display ) 
vorhanden sind ? D.h. Wenn ich das Display anstecke, brechen die 20V bei 
meiner Schaltung auf 10,5V zusammen.
Stromaufnahme auf Leitung VLCD 30mA.

Mein Display ist normal Dunkel. Nach dem Einschalten wird es komplett 
hell. Manchmal sind streifen zu sehen. Bedeutet das, ich muss die 
Hintergrundbeleuchtung trotzdem verwenden ?
Das erscheint mir fraglich, da ich sehe wie das Display zwischen Schwarz 
und weiss umschaltet und Pixel sichtbar sind. Hat mir Pollin evtl das 
"normal hell" Display geschickt ?

Danke für Eure Hilfe. Dies ist wirklich ein Super Projekt

Matthias

von Benedikt K. (benedikt)


Lesenswert?

Nico R. schrieb:

> Leider kann ich nur die letzten 32 Zeichen des Zeichensatzes(siehe ein
> paar Beiträge weiter oben) ausgeben.

Passen die Zeichen auch exakt zu dem Wert der gesendet wird?
Ich würde auf einen falschen Quarz oder falsche Fusebits tippen.

Matthias Reichelt schrieb:
> Frage: Ist es normal, daß die 20V nur im Leerlauf (ohne Display )
> vorhanden sind ? D.h. Wenn ich das Display anstecke, brechen die 20V bei
> meiner Schaltung auf 10,5V zusammen.
> Stromaufnahme auf Leitung VLCD 30mA.

Nein, da passt etwas nicht. Ich würde auf vertauschte Pins oder 
ähnliches tippen.

> Mein Display ist normal Dunkel. Nach dem Einschalten wird es komplett
> hell. Manchmal sind streifen zu sehen. Bedeutet das, ich muss die
> Hintergrundbeleuchtung trotzdem verwenden ?

Ja. Das Verhalten ist nämlich nicht normal.

> Hat mir Pollin evtl das "normal hell" Display geschickt ?

So sieht das normally black aus, das braucht immer ein Backlight:
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"

Das normally white dagegen ist auch ohne lesbar:
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"

von Matthias R. (reichema)


Lesenswert?

Danke für die schnelle Antwort.

Leider kein Erfolg. Vertikale Streifen sind zu sehen ( schwach ) aber 
die Spannung bricht noch immer ein. Ich sehe nicht ein warum da 30mA auf 
VLCD fließen sollen. Wahrscheinlich Display Defekt.

Alles durchgemessen.
Angeschlossen habe ich nach einem vorherigen Betrag:


Atmega  LCD    Pin
23      D0     7
24      D1     8
25      D2     9
26      D3     10

14      PCLK   3
16      LP     2
17      FLM    1
18      M  AC  ???diesen Anschluß gibts nicht am LCD!,Funktion???
19      OnOFF  11


Versorgung
     5V  VDD   4
     GND VSS   5
        VLCD   6   -24V

Trotzdem Danke.
Bestelle ein neues "normally white" display. Dann brauche ich auch nicht 
die hochspannung.

Grüße aus Wien
Matthias

von Benedikt K. (benedikt)


Lesenswert?

-24V ist etwas viel. Das Datenblatt sagt absolut max. -27V gegen Vcc 
(also +5V) gemessen. Du bist bei -29V.
Typisch sind etwa -18V.

von Randy (Gast)


Lesenswert?

Hallo,

weiß jemand welches der momentan bei Pollin angebotenen Displays 
"brauchbar" ist? D.h. kein Plastik-Flachbandkabel das einen exotischen 
Stecker braucht, und möglichst ein Display das auch ohne 
Hintergrundbeleuchtung ablesbar ist. Oder benötigen die alle ein CCFL? 
Bei der Beschreibung im Katalog wird das leider nicht immer deutlich.

Vielen Dank
Randy

von Randy (Gast)


Lesenswert?

OK, jetzt bin ich mal nicht so faul:

http://www.pollin.de/shop/dt/MTg2OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_SHARP_LM038QB1R10.html
Bei dem steht explizit dabei dass es reflexiv ist. Weiß jemand was es 
für ein Anschlusskabel hat?

http://www.pollin.de/shop/dt/Mzk0OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_WINTEK_WD_H3224V.html
Für das Teil braucht man keinen CCFL-Inverter. Allerdings braucht es 32V 
Betriebsspannung. Das Kabel schaut nach so einem fürchterlichen 
unlötbaren Plastik-Falchband aus. Weiß das jemand genauer?

http://www.pollin.de/shop/dt/ODI1OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_NAN_YA_LTBE9S159J1K.html
Das Teil ist wahrscheinlich auch reflexiv ablesbar?

Randy

von (prx) A. K. (prx)


Lesenswert?

Randy schrieb:

> Bei dem steht explizit dabei dass es reflexiv ist. Weiß jemand was es
> für ein Anschlusskabel hat?

Folienkabel mit sehr engem pitch.

von (prx) A. K. (prx)


Lesenswert?

Nett sind die EL-Displays, von denen es vor ein paar Monaten ein paar 
gab. Nicht eben stromsparend, aber dafür mit 16er Pfostenstecker.

von Benedikt K. (benedikt)


Lesenswert?

Randy schrieb:
> 
http://www.pollin.de/shop/dt/MTg2OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_SHARP_LM038QB1R10.html
> Bei dem steht explizit dabei dass es reflexiv ist. Weiß jemand was es
> für ein Anschlusskabel hat?

Das ist hier zu sehen:
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"
Anschluss auf dem Display ist ein Nullkraftstecker mit 0,5mm Pitch und 
24 Pins. Dieses Display benötigt eine positive und negative 
Betriebsspannung sowie Teilspannung dazwischen. Man benötigt also noch 2 
Doppel OPs + ein paar Widerstände.

> 
http://www.pollin.de/shop/dt/Mzk0OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_WINTEK_WD_H3224V.html
> Für das Teil braucht man keinen CCFL-Inverter. Allerdings braucht es 32V
> Betriebsspannung. Das Kabel schaut nach so einem fürchterlichen
> unlötbaren Plastik-Falchband aus. Weiß das jemand genauer?

0,5mm Pitch. Die Spannungsangaben würde ich erstmal nicht beachten, da 
es nirgends ein Datenblatt gibt frage ich mich wo Pollin die Zahlen her 
hat.
Ich würde eher auf +25V tippen, da es dem untersten Display in dieser 
Liste sehr ähnlich ist (vermutlich gleiche Zeilen/Spaltentreiber bei 
denen absolut max 30V angegeben ist).

> 
http://www.pollin.de/shop/dt/ODI1OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_NAN_YA_LTBE9S159J1K.html
> Das Teil ist wahrscheinlich auch reflexiv ablesbar?

Ja, mit Beleuchtung sieht es so aus, ohne wie das Sharp Display:
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"

Anschluss über 1mm Folienkabel, kann durch 1,27mm Flachbandkabel ersetzt 
werden.

Und um die Liste komplett zu machen:
http://www.pollin.de/shop/dt/MjU0OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_LCD_TG322450.html

Dieses Display hat auch ein Folienkabel mit 0,5mm Pitch und 24 Pins.
Optisch ist es mit dem NAN YA vergleichbar. Auch dieses Display benötigt 
wie das Sharp Display einen zusätzlichen OP, der die positive 
Betriebsspannung in mehrere Teilspannungen zerlegt.

von Randy (Gast)


Lesenswert?

>> http://www.pollin.de/shop/dt/Mzk0OTc4OTk-/Baueleme...
>> Das Kabel schaut nach so einem fürchterlichen
>> unlötbaren Plastik-Falchband aus. Weiß das jemand genauer?

>0,5mm Pitch.

Kannst du sagen ob man an die Lötstellen de Kabels auf der Platine ran 
kommt?
Dann hätte man trotzdem eine Chanse doch ein Falchbandkabel anzulöten.
Ansonsten nehm ich das NAN YA, die CCFL Beleuchtung ist ja optional.

Randy

von Benedikt K. (benedikt)


Lesenswert?

Ich habe das Display noch nicht, da Pollin wohl ein paar Lieferprobleme 
damit hatte. Den Fotos auf ebay nach sollte das möglich sein (auf der 
Rückseite ist eine Platine die frei zugänglich ist).
Es gibt auch einen schon etwas älteren Eintrag hier im Forum dazu, in 
dem auch ein Datenblatt angehängt ist, allerdings passt dieses nicht zu 
dem Foto auf der ebay Seite. Von daher existiert bisher also noch keine 
Anschlussbelegung zu dem Display.

von (prx) A. K. (prx)


Lesenswert?

Randy schrieb:

> Kannst du sagen ob man an die Lötstellen de Kabels auf der Platine ran
> kommt?

Ich habe das bei solche einem Dings mal probiert. Die Folienbuchse von 
der Platine abgelötet um an die Pads mit Lackdraht ran zu kommen. Läuft 
etwas nach dem "Schnecke an der Mauer" Prinzip, weil man bei jeder 
Zinnbrücke mühsam angelötete Drähte wieder abmachen darf und nicht immer 
klar ist, ob man insgesamt an der Mauer eher hochkommt oder eher 
runterrutscht.

Im Grunde müsste man nach dem Lötprinzip der TQFPs vorgehen. Sich 
irgendwas besorgen oder bauen, dass bereits am einen Ende Drähte in 
0,5mm rausführt und diese nach dem SMD-Muster geschlossen anlöten. 
Einzeln ist das ein ganz übler Fummelkram.

von Benedikt K. (benedikt)


Lesenswert?

In diesem Fall dürfte es etwas einfacher sein, denn dem Foto nach ist 
das Raster auf dem Display breiter als am anderen Ende des Kabels (ich 
würde auf etwa 0,8mm tippen).

von Kai B. (kaib) Benutzerseite


Lesenswert?

So ich hab die Displays gerade bekommen.

Das Display hat 26Pins nicht nur 25 wie Pollin schreibt und dieses 
Datenblatt
http://www.dataimagelcd.com/product/tg/pdf/TG322450FNCWA-01.pdf sollte 
ansich gut passen.

Auf dem Aufkleber steht bei mir TG322450 FMCWA-10.

EDIT: Gerade mal ein Display aufgehebelt. Hier gibt es keine Möglichkeit 
ein anderes Kabel anzulöten da der Folienleiter intern als Leiterkarte 
dient.

Falls man nur so wie ich 24 Pol 0.5mm FFC Buchsen hat kann man die 
letzten beiden Kontakte abzwicken da das nur 2 von 5 Ground Verbinungen 
wären die dann fehlen.

Heute Abend mal etwas Adapter löten damit ich das an mein S1D13700 
Testboard hängen kann. Ich hoffe ich kann die Referenzspannungen wie für 
das kleine Sharpdisplay das es bei Pollin gibt ohne weiteres nutzen.

MfG Kai

von Benedikt K. (benedikt)


Lesenswert?

Kai B. schrieb:
> Das Display hat 26Pins nicht nur 25 wie Pollin schreibt und dieses
> Datenblatt
> http://www.dataimagelcd.com/product/tg/pdf/TG322450FNCWA-01.pdf sollte
> ansich gut passen.

Das Datenblatt passt.

> EDIT: Gerade mal ein Display aufgehebelt. Hier gibt es keine Möglichkeit
> ein anderes Kabel anzulöten da der Folienleiter intern als Leiterkarte
> dient.

Könntest du mal ein Foto davon machen?

> Heute Abend mal etwas Adapter löten damit ich das an mein S1D13700
> Testboard hängen kann. Ich hoffe ich kann die Referenzspannungen wie für
> das kleine Sharpdisplay das es bei Pollin gibt ohne weiteres nutzen.

Nicht direkt: Das Display mag keine negativen Spannungen. Dafür ist es 
aber umso einfacher, da man lediglich normale Spannungsteiler benötigt.

von Kai B. (kaib) Benutzerseite


Lesenswert?

Hallo Benedikt,

hab hier grad keine Kamera zur Verfügung. Aber ich werde heut Abend mal 
die Displays abfotografieren.

Ja stimmt das Sharp will noch ein bisschen was negatives. Und die 
Spannungsteilerwerte stehen ja im Datenblatt von dem Display.
Naja heut Abend mal löten.

von Benedikt K. (benedikt)


Lesenswert?

Hast du auch das H3224V? Von dem würde mich auch mal ein Foto von der 
Rückseite interessieren, da die Bilder im Netz leider nur eine eine 
geringe Auflösung haben. Anders als bei dem G3224Z scheint dort nämlich 
der OP mit Spannungsteiler schon drauf zu sein.

Noch ein Tipp zu der Schaltung: Zwischen den OP und die Kondensatoren 
dahinter 15 Ohm Widerstände schalten, sonst schwingt der OP (das 
Datenblatt unterschlägt die nämlich in der Beispielschaltung).

von Kai B. (kaib) Benutzerseite


Lesenswert?

Ja ich hab mir mal wieder ein ganzes Packet an Displays bestellt 
unteranderem auch das Wintek.

Guter tip das mit den Serienwiderständen an dem OP Ausgängen. Habe aber 
schon häuftig auf diversen Displays die gleiche Schaltung wobei die das 
da bisher nie beachtet haben.

von Benedikt K. (benedikt)


Lesenswert?

Ich bin bei den Widerständen drauf reingefallen, der OP wurde bei rund 
50mA Stromaufnahme bei 25V auch gut warm...
Auf den meisten Displays sind die 15 Ohm Widerstände vorhanden, nur 
hatte ich da bisher nie drauf geachtet, denn neben den normalen 
Spannungsteiler Widerständen fallen die nicht auf. Keine Ahnung ob es da 
einen Unterschied zwischen dem LM324 und den Japan Versionen gibt, 
einige OPs haben schon Serienwiderstände von wenigen 10 Ohm eingebaut. 
Der LM anscheinend nicht.

von Wigbert P. (wigbert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi,
wer Lust auf Stecker hat, beim TG 322450:
Farnell Nr.165-9861 ; 124-5267
die Spannungsversorgung nach DBL mit angegebenen IC , nur die reihen-R
sind zusätzlich.

Meine WD-H3224 sind auch noch unterwegs. Ist wohl ein weiter Weg
zu mir.

Wigbert

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

So hier erst einmal ein paar Fotos ich hab auch mal noch die Rückseite 
des Optrex Teil im Anhang hier sieht man auch schön die Widerstände zu 
den Caps für V2-V5.

WIe schon gesagt bei den TG322450 ist der Folienleiter direkt mit den 
Zeilen/Spaltentreiber verbunden.

Und dann noch die Rückseite des WD-H3224V.

MfG Kai

So mal löten gehen

von Benedikt K. (benedikt)


Lesenswert?

Danke für die Bilder.
Das H3224V hat also wirklich den OP drauf der die Teilspannungen 
erzeugt. D.h. die Datenblätter die existieren passen nicht, aber dafür 
erspart man sich Arbeit bei der Ansteuerung.

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

So das Wintek geht schonmal.

Die VCC mit +32Volt die Pollin angibt ist wie Benedikt schon gesagt hat 
viel zu hoch. Ich habe bei mir ca. 23 volt benötigt.

von Benedikt K. (benedikt)


Lesenswert?

Der Kontrast sieht gut aus, nur die Farbe ist nicht wirklich schön (mir 
gefällt sie zumindest nicht).
Wenn die LEDs z.B. durch weiße austauschbar sind, dann wäre das Displays 
perfekt.

von Kai B. (kaib) Benutzerseite


Lesenswert?

Ja die Farbe ich etwas unschön zumal meine Kamera die eher rötlich als 
in echt darstellt. Zudem hab ich dem Backlight nur ca. 100mA spendiert.
Die SideLEDs kann man tauschen ist nur die frage wie man da richtig 
hinkommen soll ohne zumindest den Zeilentreiber und das Touch abzulöten. 
Die Leiterplatte ist zwar angeklipst nur wirklich rausbekommen tut mans 
dennoch nicht.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@Kai B.

Wie hast du die LED Beleuchtung gemacht / montiert? Wäre ja eine 
alternative zum Backlight. ggf mit Foto wie LEDs Montiert sind.

von Benedikt K. (benedikt)


Lesenswert?

Das H3224V Display hat standardmäßig ein LED Backlight.

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

So ich habe es mal gewagt und bei einem Display den Zeilentreiber und 
das Touchpanel abgelötet. Nur so kommt man an die LEDs ran.
Es sind 22 LEDs (3 Gruppen) und jede LED hat ihren eigenen Vorwiderstand 
(die 2x 11 36Ohm beim Wintek Logo) Morgen tausch ich die mal testweise 
mit weißen Sideleds idealerweise sollte es sowas sein wie OSRAM LW V18G 
ich werde es mal mit LW Y1SG probieren.

von Randy (Gast)


Lesenswert?

Eine zur Seite strahlende weiße LED kostet bei Reichelt 0,47 Euro...
http://www.reichelt.de/?;ARTICLE=65106
Damit wird die Neubestückung der Hintergrundbeleuchtung ähnlich teuer 
wie das Display...

von Benedikt K. (benedikt)


Lesenswert?

Das sieht doch schonmal gut aus mit den LEDs. Da bleibt also viel 
Potential zum Basteln.
Der Preis von den weißen LEDs war auch das erste über das ich gestolpert 
bin. Noname LEDs bekommt man für rund 1/3 von den OSRAM LEDs von 
Reichelt, allerdings ist dann da wieder die Frage nach der Lebensdauer.

Ich denke ich werde erstmal grüne LEDs in 0603 oder 0805 einbauen. Die 
sollten eigentlich auch rein passen. Abgesehen von den Lötpads die bei 
den Sideleds auch an der Seite hoch gehen, sehe ich da nämlich keinen 
Unterschied. Häufig sind die LEDs auch nur anders liegend verpackt damit 
das automatische Bestücken einfacher geht.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

Die weissen LED's wären mir das Display schon wert. Gibt es die
nicht irgendwo mit Mengenrabatt.

Wigbert

von Kai B. (kaib) Benutzerseite


Lesenswert?

Wir kaufen die für 25-27Cent/100  ein zumindest die LW Y1SG ab ca. 2000 
Stück. Bei RS sind die etwas teurer.

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

@Kai B.
Dank Dir , 2000 Stück würden es wohl nicht werden.
Na ja , mal sehen was wird.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Kai B. schrieb:
> Morgen tausch ich die mal testweise mit weißen Sideleds

Gibt es schon erste Erfolge?

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ja lötfrisch sozusagen xD

Zum einen nochmal 2 Bilder vom großen Optrex das lässt sich echt klasse 
auch mit invertiertem Bildinhalt nutzen.

Ein Bild mit getauschten LEDs leider nur ein Paar LEDs da ich die von 
ner defekten Platine löten musste und nicht mehr hatte. Und an den 36Ohm 
Vorwiderständen hab ich so gelassen. Mit weissem Backlight lässt es sich 
besser ablesen. Muss mir mal die oben erwähnten LW V18G bestellen.

Und das TG322450 läuft auch nur der Kontrast funktioniert noch nicht 
ganz sauber je mehr Pixel umso mehr Grau wir die Spalte. Kann aber auch 
am nicht ganz optimalen aufbai der V0 bis V4 liegen. Die V0 sind 
gleichzeitig die Versorgung vom OP im Datenblatt hats ja noch den extra 
Transistor. Das lässt sich ohne BL allerdings etwas schlecht ablesen 
finde ich. Kann aber auch an der Dämmerbeleuchtung hier liegen xD.

MfG Kai

von Benedikt K. (benedikt)


Lesenswert?

Das H3224V mit weißen LEDs sieht nicht schlecht aus. An das TG322450 
kommt es nicht ganz ran, aber die 5-10€ für die LEDs scheinen sich zu 
lohnen wenn ich das Bild so sehe, denn die weißen LEDs dürften momentan 
mit deutlich weniger Strom laufen als die orangefarbenen.

von dejan278 (Gast)


Lesenswert?

Hallo,
ich habe diese hier bestellt. Hoffe das sie passen( für das WD-H3224V) 
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=390104822790
100Stk. Mit Preisvorschlag für 12.- zu bekommen.
Jetzt müssen nur noch die Displays ankommen.
Grüße aus Tirol.

von dejan278 (Gast)


Lesenswert?

Hallo,
ich habe von den LED zu viele ersteigert. Hätte jemand Interesse an 50 
LED incl. Versand für 7,50.
Habe leider keinen Verwendungszweck dafür, außer für die Displays.
Mail an: aon.912847351@aon.at
Grüße aus Tirol.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

@dejan278
Danke für den Tipp mit den LEDs. Ich habe mir auch eine Packung 
bestellt, und ich denke es hat sich gelohnt wenn ich die Displays 
vergleiche:
- original, 2,6V 300mA
- grün, LG L29K, 3,3V 500mA
- weiß, LW V18C, 3,3V 120mA

PS: Es scheint auch wieder Displays mit defektem Touchscreen zu geben, 
ich habe welche erwischt bei denen ein X-Anschschluss hochohmig ist. 
Funktionsfähig sollten es in X Richtung etwa 400-600 Ohm und in Y 
Richtung etwa 200-300 Ohm sein.

von Kai B. (kaib) Benutzerseite


Lesenswert?

Ich glaub ich werd mir wohl auch bei Ebay die LEDs kaufen und meine 
Displays umbauen.
Das weiß sieht dann schhon gut aus. Das sorgt schon für einen doch 
besseren Kontrast im vergleich zum Original.
Sieht das Grün wirklich so dunkel aus?

MfG Kai

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>Ich glaub ich werd mir wohl auch bei Ebay die LEDs kaufen und meine
>Displays umbauen

ich hab das schon getan. Ein Bild sagt mehr als tausend Worte.

@Benedikt K. (benedikt) (Moderator)
Ich wollte an das umlöten nicht ran, aber Weiß ist doch besser.
Schön, das Du uns Deine Varianten zeist.

Wigbert

von Benedikt K. (benedikt)


Lesenswert?

Kai B. schrieb:

> Sieht das Grün wirklich so dunkel aus?

Etwas heller ist es schon.
Ich hatte aber absichtlich die Einstellungen beim Foto fest eingestellt 
und gleich gelassen, um den Unterschied zu weiß zu zeigen.

Das originale orange ist meiner Meinung nach unbrauchbar. Da muss man 
den Strom bis an die Grenze hochdrehen um überhaupt was erkennen zu 
können.
Grün ist da schon besser, es ist das typische gelb-grün, das man von 
normalen LCDs kennt (auf dem Foto geht das zu stark in Richtung 
dunkelgrün).
Es ist ausreichend hell, damit man das Display ablesen kann.
Aber im Vergleich zu den weißen LEDs ist auch grün Mist.
Ich werde daher alle Displays auf weiß umlöten. Das Geld ist es 
eindeutig wert. Vor allem, da man hier mit sehr viel weniger Strom 
auskommt.

von Anselm 6. (anselm68)


Lesenswert?

Tip, bei den Fotos ein Teelicht neben dass Display.
Dann hat man einen Referenzpunkt ;)

Gruß Anselm

von Dieter99 (Gast)


Lesenswert?

Hallo,
in der letzten Zeit ist hier von zwei neuen Display's die Rede. Dazu 
habe ich eine Frage kann man das TG322450 auch mit der Schaltung von 
Benedikt ohne große Änderungen betreiben? Hierzu habe ich leider nichts 
gefunden.

Gruß
Dieter

von Benedikt K. (benedikt)


Lesenswert?

Ja. Beides sind normale 320x240 Display mit 4bit.
Man muss nur beachten, dass diese eine positive Kontrastspannung von 
etwa +23V benötigen anstelle der negativen.

von Wolfgang E. (oe5ewl)


Lesenswert?

Hallo zusammen.

Ich habe hier 2 Sharp-LM3201921 liegen. Die müssten mit dieser Schaltung 
ja auch gut gehen. Pinbelegung ist lt. Datenblatt klar. Nur ich bin 
etwas confused. VEE wird mit +16 bis +22V angegeben, doch eigentlich ist 
meist von einer negativen Spannung die Rede... Vielleicht kann jmd. hier 
etwas Licht ins Dunkel bringen oder mich von dem Schlauch auf dem ich 
stehe schubsen - ich wär euch dankbar :D

Danke schon mal und Grüße,
 Wolfgang


Pinbelegung Sharp LM3201921 (LM32019T, LM32019P, LM32019P0)

1  :S
2  :CP1
3  :CP2
4  :NC
5  :DISP OFF
6-9:D0 bis D3
10 :VDD (+5V)
11 :VSS-GND
12 :VEE (1921: 16-22V | 19T,19P,19P0: 17-26V)

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Benedikt K. schrieb:
> Ja. Beides sind normale 320x240 Display mit 4bit.
> Man muss nur beachten, dass diese eine positive Kontrastspannung von
> etwa +23V benötigen anstelle der negativen.
Erzeugst du die dir per Stepup oder führst du die Extern zu?
Welche LEDs hast du den benutzt? Gibt es da bei Pollin passende oder 
benötigt man da was spezielles?
Gibt es vielleicht sogar einen passenden Konnektor?

von Wolfgang E. (oe5ewl)


Lesenswert?

Danke Läubi für die Antwort, die zwar wohl nicht mir galt aber sie hat 
mir vom Schlauch geholfen ;)

Positive Kontrastspannung - ok. Ich hätte nur lesen müssen.

Wegen deinen Connectoren: Ich habe so Zeug aus div. 
Unterhaltungselektronik (ich glaub es waren DVD-Player oder so) 
geschlachtet. Da ist ab und an was passendes dabei....

Lg,
 Wolfgang

Das wegen der Kontrastspannungserzeugung würde mich auch interessieren.

von Kai B. (kaib) Benutzerseite


Lesenswert?

Hallo Läubi
wenn du die LEDs zum umbau von den WD-H3224V meint musste mal nach den 
Ebay link weiter oben schaun. Die sollten als replacment gut passen. Ich 
hab mir jetzt auch mal 200 so SideLEDs bestellt damit ich meine umbauen 
kann.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hallo Kai,

könntest du mir den ggf. ein paar abtreten oder benötigst du alle 200 
Stück?
Und wie sind so die Erfahrungen lässt sich das Display danach wieder gut 
Zusammenbauen oder ist das eher Glücksache?

von Kai B. (kaib) Benutzerseite


Lesenswert?

Wie du weiter oben ja siehst muss man das Touch und den Zeilentreiber 
ablöten.

Der folienleiter des Touchpanels geht noch recht einfach mit viel 
Lötzinn und alles auf einmal warmmachen ab.
Beim Zeilentreiber muss man aufpassen und mit vorsicht die Pins einen 
nach dem anderen warmmachen und nach oben ziehen.

Das umbauen und wieder zusammenlöten ist dann nicht das Problem.

Ein paar LEDs könnte ich dir gerne zuschicken. Ich kauf halt immer gerne 
auf Vorrat xD.

MfG Kai

von Matthias R. (reichema)


Lesenswert?

Jaaaa! Es ist vollbracht. Jetzt nur alles schnell ins Gehäuse bringen 
damit nichts mehr passieren kann.

DANKE FÜR DIE DEINE ARBEIT BENDIKT.

Ich habe nun das Wintek in Betrieb (mit positiver Spannung). Ich habe 
zunächst alles noch einmal neu aufgebaut und wieder der selbe Fehler. 
Die Spannung ist zusammengebrochen.
Ich habe dann zur Kontrolle mal ein zweites Netzteil mit 24V 
angeschlossen und siehe da, es funktioniert.

Daraufhin habe ich mich auf die Erzeugung der +24V mit dem MC34063 
konzentriert.

Dabei verwendet habe ich ein Dimensionierungstool 
http://www.nomad.ee/micros/mc34063a/
Allerdings musste ich noch etwas mit den Widerständen spielen.

Der 34063 läuft nun ohne externen Transistor und es fließen 3mA bei 21V, 
die für den Kontrast beim Wintek ideal sind.

Zum Schluss nur die Versorgungsspannung auf genau 5V gebracht, da das 
Display etwas geflimmert hat, als ich ein altes Handy Netzteil mit 5.3V 
verwendet habe.

Das Display ist für meine Heizungssteuerung mit ATMEGA644 vorgesehen und 
die ideale Lösung dafür.


Grüße
Matthias

von Toralf W. (willi)


Lesenswert?

Hallo Benedikt:
erst einmal Danke für Deine tollen Projekte!
Benedikt K. schrieb:
> Hier eine neue Version mit einer zusätzlichen großen 32x48 Schriftart.
> Optimal um irgendwelche Infos anzuzeigen, die auch aus größerer
> Entfernung lesbar sein sollen. Der Zeichensatz ist per Software
> umschaltbar. Da der Zeichensatz sehr viel Speicher braucht, wird jetzt
> ein mega168 benötigt, dessen Flash zu 98,2% voll ist. Trotzdem wurde der
> Zeichensatz auf 64 Zeichen (Großbuchstaben, Zahlen und ein paar oft
> benötigte Sonderzeichen wie ,:° usw.) reduziert.
Hast Du den auch mit Kleinbuchstaben? Habe eh einen M328 verbaut und 
benötige nur den großen Zeichensatz da müßte das noch mit reinpassen.
Gruß Willi

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Matthias Reichelt schrieb:
> Der 34063 läuft nun ohne externen Transistor und es fließen 3mA bei 21V,
> die für den Kontrast beim Wintek ideal sind.
magst du ggf. den Schaltplan+Werte veröffentlichen? Würde für den 
nachbau sicherlich hilfreich sein.

von Trexis5 (Gast)


Lesenswert?

Hallo,

könnte mal einer bitte ein Video machen und hochladen, wo man sieht wie 
schnell das Display Arbeitet, wenn z.B. das ganze Display gelöscht wird?

Wäre echt super.

Danke.

von Simon K. (simon) Benutzerseite


Lesenswert?

Läubi .. schrieb:
> Matthias Reichelt schrieb:
>> Der 34063 läuft nun ohne externen Transistor und es fließen 3mA bei 21V,
>> die für den Kontrast beim Wintek ideal sind.
> magst du ggf. den Schaltplan+Werte veröffentlichen? Würde für den
> nachbau sicherlich hilfreich sein.

Wie viel Strom zieht die ganze Sache denn am Eingang eigentlich? Und 
sind die 21V gegen Masse gemessen?

von André G. (kreischer)


Lesenswert?

Moin,

der Thread ist ja mittlerweile schon ganz schön angewachsen, von daher 
konnt ich mir jetzt nicht alle Beiträge durchlesen, also sorry, falls 
einige meiner Fragen schon an anderer Stelle beantwortet wurden.

Ich will mir ne grafische Fernbedienung für meine Soundanlage basteln 
(Umsetzung jetzt mal zweitrangig). Dazu wollt ich das TG322450 + 
Inverter (Best. Nr. Pollin: 531 321) ordern.

1. Ist die Funktonalität des Touchpads hier schon mal besprochen worden, 
s.h. kann ich das so ohne weiteres benutzen, auch über den hier 
besprochenen Controller für das Display? (Laut Schaltung ist das wohl 
noch nicht mit drin, oder?)

2. Wie schnell ist das TG322450 wirklich? Laut Datenblatt um die 75 Hz 
Wiederholrate, aber kann ich da auch FFT drauf darstellen, ohne das da 
was schliert?

3. Ist das WD-H3224V dem TG322450 was Fragen 1 und 2 angeht ebenbürtig, 
oder gibts da Vor- bzw. Nachteile?

4. Oder schlagt ihr da ein ganz anderes Display für mein Vorhaben vor?

Komische Fragen, ich weiß, aber wo soll ich fragen, wenn nicht hier, bei 
denen, die sich mit den Displays auskennen und diese auch besitzen ;)

Gruß,
André

von Matthias R. (reichema)


Lesenswert?

Hi,

sorry, habe schon länger nicht hier ins Forum geschaut. Werde morgen die 
Stromaufnahme messen. Die Schaltung für die Kontrastspannung habe ich 
nach http://www.nomad.ee/micros/mc34063a/ gebaut aber mit den 
Widerständen ziemlich spielen müssen. Ich muss ehrlich zugeben, dass ich 
die Büchse geschlossen habe nachdem alles funktioniert hat. Sie läuft 
nun seit 2 Monaten im Dauerbetrieb perfekt.
Hintergrundbeleuchtung und auch Touchscreen funktionieren. Die Mühe mit 
dem LED Tausch habe ich mir nicht gemacht. Das war mir zu viel. Ein 
super Display.
Ich mach nochmal auf schaue was ich da verbrochen habe :-). Dann kann 
ich Stromaufnahme und auch die Widerstände am 34063 ermitteln.
Das ganze incl. Net-IO Board hängt an einem alten Netzteil vom NEC 616. 
5.3V und 1A laut Aufdruck.

Grüße
Matthias

von Matthias R. (reichema)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei die Schaltung, wie ich sie zur Erzeugung der 21V aus 5V verwende.
Bei der Erstinbetriebnahme habe ich jedoch erstmal die 21V von einem 
zusätzlichen Netzteil genommen um zu sehen ob Display und Controller 
funktionieren. Danach erst die verwendung der 21V aus dem 34063.

Insgesamt nimmt die Box 160mA auf. Incl. Atmega8 und LED 
Hintergrundbeleuchtung.

Der Touchscreen ist durch zwei Spannungsteiler und und Anschluß an 2 ADC 
Ports des ATMEGA 644 realisiert. Anbei ein Screenshot aus Wikipedia wie 
so ein Touchscreen aufgebaut ist.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Matthias Reichelt schrieb:
> anbei die Schaltung, wie ich sie zur Erzeugung der 21V aus 5V verwende.
Danke schon mal, aber Schaltplan als jpeg ist eigentlich nicht soo der 
Hit ;)
Das Display sieht cool aus, wie hast du das befestigt? Der Rahmen bietet 
da ja wenig Angriffspunkte, ist das ganze auch ohne Beleuchtung gut 
lesbar auf dem Bild sieht es zumindest so aus als sei diese abeschaltet?

André G. schrieb:
> 1. Ist die Funktonalität des Touchpads hier schon mal besprochen worden,
> s.h. kann ich das so ohne weiteres benutzen, auch über den hier
> besprochenen Controller für das Display? (Laut Schaltung ist das wohl
> noch nicht mit drin, oder?)
Der Controller hat keinen ADC und kann so das Touch nicht auswerten! Du 
benötigst mindestens einen weiteren Controller für die Auswertung.

> 2. Wie schnell ist das TG322450 wirklich? Laut Datenblatt um die 75 Hz
> Wiederholrate, aber kann ich da auch FFT drauf darstellen, ohne das da
> was schliert?
Muss man probieren, hängt auch von der Umgebungstemperatur ab, aber der 
hier vorgestellte Plan kann "nur" Text also nix Grafik! Dafür gibt es 
einen weiteren Thread!

von Matthias R. (reichema)


Lesenswert?

Hi,

sorry wegen jpg aber bei mir zählt mehr die Funktion. Bei der begrenzten 
Zeit die ich zum Basten hab baue ich nicht auf Professionellem wege. 
Erfolge sind mir wichtiger.
Die Beleuchtung braucht man am Tage nicht unbedingt aber wenn das Licht 
ungünstig steht hilft die Beleuchtung auch am Tag.

Das Gehäuse ich vom grossen C. Im rechten Teil neben dem Display ist der 
Atmega und die Spannungsaufbereitung untergebracht. Befestigt ist das 
Display im Gehäuse mit Heisskleber :-) So läßt es sich perfekt 
platzieren, man sieht keine Schrauben und es hält super. Auch wenn man 
mal etwas stärker auf den Touchscreen drückt.

von André G. (kreischer)


Lesenswert?

Hossa,

Läubi .. schrieb:
> Muss man probieren, hängt auch von der Umgebungstemperatur ab, aber der
> hier vorgestellte Plan kann "nur" Text also nix Grafik! Dafür gibt es
> einen weiteren Thread!

Ich werd die FFT anhand von Balken darstellen, da kann ich ja auch 
selbstdefinierte Zeichen nehmen. Das sollte klappen.

Gruß,
André

von Bruno M. (brumay)


Lesenswert?

Hallo Benedikt,

Obwohl ich inzwischen einige ASM Projekte gemacht habe, bin ich immer 
noch Anfänger. Trotzdem möchte ich deinen Code verstehen, da ich das 
Projekt sehr interessant finde.

Nun hänge ich völlig fest bei der hloop Routine. Wenn ich es richtig 
verstehe, dann wird im ersten Durchlauf mit "ld ZL, X+" der Inhalt des 
Speichers 0 (durch "movw XL, XSaveL" wird ja zuvor die Adresse auf 0 
gestellt) nach ZL geladen. In der Simulation taucht dann in tempi der 
Wert 0x0B auf. Wo kommt der her und was soll damit geschehen??
Es ist zwar tatsächlich der erste Wert im Flash, aber alle weiteren 
stimmen nicht überein.
Wenn ich ins SRAM will müßte in XL doch eigentlich DDRAM stehen, oder 
liege ich völlig falsch??

Gruß
Bruno

von Jörg L. (leo168)


Lesenswert?

Hi,

habe mir auch ein Wintek WD-H3224V Display von Pollin besorgt.
Leider ist mir nicht klar, wie ich das winzige 24 polige Flachbandkabel
mit meinem Controller verbinden kann.
Gibt es Buchsen bzw. Adapter? Wenn ja - Wo!

Gruß
Leo

von Wigbert P. (wigbert) Benutzerseite


Lesenswert?

>Gibt es Buchsen bzw. Adapter? Wenn ja - Wo!


Na klar.
Fertige Adapter bei
http://www.lc-design.de/shop/de/index.htm?http://www.lc-design.de/shop/de/k006u005s001.htm

Ich hatte FFC Stecker von Farnell.

Wigbert

von Florian K. (flori2009)


Lesenswert?

Hallo

Ich habe mir vor langer zeit ein Wintek WD-H3224V zugelegt.
jetzt möchte ich es auch in betrieb nehmen.
Ich würde es erst mal testen ob es geht im einfachen Textmodus,
nur habe ich keinen Anschlussplan oder so und kein Testprogramm 
gefunden.

Bauteile die Zugverfügung stehen :

Wintek WD-H3224V
FFC Buchse
SMD-LEDs  für eine andere Hintergrundbeleuchtung
ATmega 32 oder auch 644
und Kleinteile Für die Testschaltung :-)

ich hoffe mir kann jemand helfen.

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Hallo,

erstmal ein Kompliment an Benedikt für dieses tolle Projekt!

Als Anfänger eine Frage an die Display-Experten. Nachdem es mir gelungen 
ist, ein NANYA s/w Display zur Anzeige zu bewegen, stellt sich natürlich 
der Ehrgeiz ein.
Ich habe mir als Ziel gesetzt, eine Kalenderuhr zu realisieren. Als 
statische Anzeige funktioniert es schon ganz gut (siehe Bild). Da ich 
mich z. Zt. noch im Experimentierstadium befinde, nutze ich weiterhin 
den ATMega8 ohne externen Speicher.
Realisiert habe ich die Anzeige durch Speicherung des Bildes im Flash 
und zeilenweiser (24 Pixel) Übertragung ins SRAM. Dafür reichen die 
Speicher gerade aus. Nun versuche ich schon geraume Zeit, nicht nur 
ganze Zeilen, sondern Zeilensegmente ins SRAM zu laden, damit ich dann 
auch Werte ändern kann. Dabei stoße ich auf das Problem, dass einige 
geringfügige Programmänderungen dazu führen, daß das Bild völlig 
verschwindet. So funktioniert z.B. das Auffüllen einer Zeile mit 
Nullwerten normal, das Übertragen von Daten aus dem Flash bei sonst 
gleichem Code aber nicht. Kann es daran liegen, daß der Bildaufbau und 
die Datenspeicherung im SRAM irgendwann zeitlich kollidieren?

In diesem Zusammenhang suche ich auch noch nach einer optimalen 
Möglichkeit die Änderung von Teilbereichen zu realisieren. Wer kann mir 
dabei helfen????

Ich muß hinzufügen, daß ich nur mit ASM arbeite, für C hat es bislang 
noch nicht gereicht.

Für jede Antwort schon im voraus herzlichen Dank!

Bruno

von Bruno M. (brumay)


Lesenswert?

Hallo,

leider hat sich auf meine Fragen noch keiner gemeldet?????

Für den ersten Teil kann ich die Antwort inzwischen selbst geben. Nach 
Ausschluß aller anderen Möglichkeiten konnte nur noch der ATMega8 defekt 
sein. Und so war es dann auch, was sich aber nur bei ganz speziellen 
Aufgaben bemerkbar macht. Mit einem neuen funktioniert es jedenfalls 
jetzt wie gewünscht.

Über Unterstützung würde ich mich aber nach wie vor freuen!

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Die Textmodus-software kenn ich zwar nicht (kenne nur die für 
graustufen), aber voller RAM und geringe Änderungen an der Software die 
dazu fürhen, dass nichts mehr so läuft wie es soll klingt stark nach nem 
Stacküberlauf. Sind nur mutmaßungen, aber vielleicht hilfts ja.

von Bruno M. (brumay)


Lesenswert?

Hallo Sebastian,

herzlichen Dank für die Info!
Kann man so einen Stacküberlauf mit irgendwelchen Mitteln nachweisen??

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Wenn du einen Stacküberlauf händisch nachvollziehen willst musst du 
erstmal schaun, wie viel Ram dein Programm so verbraucht. Ich hab mal 
schnell die aktuelle Version von Benedikt durchassembliert. Hier sind 
das laut AVR-Studio 852Byte. Du hast also noch 1024-852=72Byte für den 
Stack übrig.
Stack wird bei Jedem call/rcall und jedem push gebraucht. Jetzt kann man 
durch den Quelltext gehen und die call-hirarchie mit allen pushes 
nachvollziehen. Dann weiß man es mit sicherheit.
Auf den maximalen Stackverbrauch des normalen programm kommt dann noch 
der Stackverbauch der Interrupts. Die darf man nicht vergessen.

Rein vom Gefühl her (hab den quelltext immernoch nicht angeschaut: Wenn 
du keine großen felder oder push-orgien eingefügt hast wirds nicht der 
Stack sein. Aber ich würde mal drüberschaun, 72Byte reicht nicht ewig.


Noch ne möglichkeit um sowas auf die Schliche zu kommen:
Initialisiere oberhalb der 852 reservierten Byte ein paar Byte Ram mit 
nullen. Dann überprüfst du in der Mainloop (bei einer funktionierenden 
version) ob die noch alle auf null stehn. Wenn nicht, kommt dein Stack 
dem genutzten Ram schon gefährlich nahe. Dann sollte mans genauer 
untersuchen.

Viel erfolg,
Sebastian

von Bruno M. (brumay)


Lesenswert?

Hallo Sebastian,

da ich mein Programm etwas anders aufgebaut habe als Benedikt, habe ich 
noch mehr im SRAM belegt u.z 960 Byte. Ich übertrage die Bilddaten 
zeilenweise aus dem SRAM in das Display und nicht aus dem Flash. Eine 
Zeile 40 byte breit und 24 Pixel hoch ergibt 960 byte.
Ich habe das Programm mal ne Weile im Simulator laufen lassen und mir 
dann den Stack angesehen. Danach werden eigentlich nur 2 byte vom Stack 
genutzt (von 64). Müßte man es nicht auch auf diese Art sehen können?

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Wenn das Programm keine Eingaben von der Ausenwelt bekommt kann mans 
auch simulieren um den stackverbrauch zu beobachten. Wenns auch auf 
Eingaben reagiert müsste man die halt auch simulieren. Aber 2 Byte Stack 
glaub ich dir nicht. Allein schon, wenn du einen Interrupt verwendest 
brauchst du mindestens 3 Byte: 2 für die Rücksprungadresse (macht der 
controller selbst) und 1 byte fürs SREG (das musst du selbst sichern). 
Wenn du keine Register speziell für Interrupts reserviert hast musst du 
auch noch die im interrupt verwendeten Register auf den Stack sichern.
Nachdem dein Programm aber anders aufgebaut ist als Benedikts, brauchen 
wir/ich erstmal deinen Quelltext. Sonst kann man nur raten. Könnte ja 
auch was ganz anderes sein.

Sebastian

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Inzwischen habe ich auch noch einen dritten ATMega8 versucht.
Resultat:
Code Version 2 verarbeiten alle 3 problemlos.
Code Version 3 klappt nur bei einem.

Was den Stack betrifft, so habe ich nur auf die Anzeige geschaut und da 
waren von den 64 bytes nur 2 überschrieben, alle anderen FF.

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Jetzt muss ich dich leider enttäuschen:
Der Stack passt wirklich. Du brauchst wirklich nur 2 Byte, weil du extra 
Interruptregister genommen hast.
Mehr kann ich aber nicht sagen, denn ehrlich gesagt fehlt mir grad die 
Motivation deinen Code nachzuvollziehen. Auch weil kaum Kommentare drin 
sind...

Trotzdem viel Erfolg beim finden
Sebastian

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Auch wenn ich dich verstehe, bin ich natürlich doch enttäuscht!
Ich habe die Version 3 mal ausgiebig kommentiert, vielleicht kannst du 
dich ja doch noch überwinden.

Version 2 unterscheidet sich von Version 3 nur dadurch, daß alle Zeilen 
(außer Leerzeilen) im Flash komplett gespeichert sind und von dort ins 
SRAM gelesen werden.

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

So, ich hab mal noch n blick drauf geworfen. Den Fehler hab ich zwar 
nicht, aber einiges zu sagen trotzdem...

Erst mal... hab ich das konzept richtig verstanden?
Im Flash liegt das gesamte Bild das angezeigt wird. Davon kopierst du 
immer 24 Zeilen in einen SRAM-Puffer, der dann vom Interrupt ausgelesen 
wird.
Das bild liegt aber nicht in Rohdaten vor (sonst würde es ja nicht 
reinpassen) sondern nur die Teile, in denen auch wirklich was angezeigt 
wird. Der Rest wird per Software als Null in den RAM übertragen.
Ein richtiger Font ist das soweit ich das sehe aber auch nicht, oder?

Mal angenommen das ist so richtig.
Es erscheint mir nicht ganz so vernünftig die Daten in der Mainloop von 
Flash zum Ram zu kopieren. Du synchronisierst das ganze zwar, aber wenn 
deine Mainloop zu lang wird löst der displayinterrupt wieder aus, bevor 
die Daten fertig sind und es wird irgendein Mist angezeigt. (Das KÖNNTE 
auch dein problem sein)

Wenn das ganze mal ne Kalenderuhr werden soll kannst du bei dem Konzept 
ja sowieso nicht bleiben. Die anzeige soll sich ja ändern. Das geht nur 
mit einem Font vernünftig.
Wieso baust du nicht auf der Version von Benedikt auf? Die hat einen 
integrierten Font und kann die Anzeige ändern. Du schmeißt die 
UART-empfangsroutinen raus baust aber auf seine High-level funktionen 
auf.

Ok, verschiedene schriftgrößen gibts dann erstmal nicht mehr (oder 
vielleicht zwei verschiedene - glaube da gabs was). Aber das lässt sich 
sicher reinoptimieren. Denkbar wäre zum Beispiel die Ziffern nochmal in 
einem größeren Schriftsatz zu hinterlegen so dass man dann zwischen 
beiden auswählen kann. Sollte sich jedenfalls alles als erweiterung auf 
Benedikts sofware aufbauen lassen.

Alternativ - wenn du unbedingt bei deinem Konzept bleiben willst: Ich 
würde das Umkopieren vom Flash in den SRAM im Interrupt erledigen, weil 
das eben unbedingt synchron zum Interrupt sein muss. Im Flash würde ich 
wieder einen Zeichensatz hinterlegen. Der Interrupt holt sich die 
aktuelle Zeit (die die Mainloop in den RAM schreibt) und wählt anhand 
der Uhrzeit/Datum aus, welche Ziffern ins Ram kopiert werden müssen.

viele Grüße,
Sebastian

von Bruno M. (brumay)


Lesenswert?

Hallo Sebastian,

vorab herzlichen Dank, daß du dir doch noch die Zeit genommen hast. 
Finde ich super.

Nun der Reihe nach:

> Erst mal... hab ich das konzept richtig verstanden?
> Im Flash liegt das gesamte Bild das angezeigt wird. Davon kopierst du
> immer 24 Zeilen in einen SRAM-Puffer, der dann vom Interrupt ausgelesen
> wird.
> Das bild liegt aber nicht in Rohdaten vor (sonst würde es ja nicht
> reinpassen) sondern nur die Teile, in denen auch wirklich was angezeigt
> wird. Der Rest wird per Software als Null in den RAM übertragen.
> Ein richtiger Font ist das soweit ich das sehe aber auch nicht, oder?

Stimmt genau! Mein Ziel war im Flash nicht einen oder mehrere Fonts 
abzulegen (bei meinem Bild wären es vier), sondern die benötigten Daten, 
sprich Wochentage, Monate und die Ziffern in unterschiedlicher Größe. 
Die Rohdaten habe ich auch schon. Ganz egal wie ich es angehe, es 
sprengt auf alle Fälle den Speicher des ATMega8. Ich habe ihn trotzdem 
eingesetzt, da ich
- z.Zt noch keinen größeren habe,
- Benedikts Projekt schon funktionsfähig vorlag,
- und ich bei meinen Kenntnissen sowieso viel experimentieren muß.

> Mal angenommen das ist so richtig.
> Es erscheint mir nicht ganz so vernünftig die Daten in der Mainloop von
> Flash zum Ram zu kopieren. Du synchronisierst das ganze zwar, aber wenn
> deine Mainloop zu lang wird löst der displayinterrupt wieder aus, bevor
> die Daten fertig sind und es wird irgendein Mist angezeigt. (Das KÖNNTE
> auch dein problem sein)

Auch das ist natürlich völlig richtig. In meinem ersten Beitrag hatte 
ich ja schon die Vermutung geäußert, daß eventuell Bildaufbau und
die Datenspeicherung im SRAM irgendwann zeitlich kollidieren könnten. 
Inzwischen habe ich es allerdings kontrolliert und festgestellt, daß das 
nicht die Ursache für mein Problem sein kann. Die Übertragung ins SRAM 
ist bis jetzt immer noch schneller als der Aufbau des Bildes im Display. 
Aber du hast recht, das hat irgendwann seine Grenzen.
Ich habe diese Art der Realisierung gewählt, weil ich befürchtete daß 
das Display anfängt zu flimmern wenn ich alles in den Interrupt packe.

> Wenn das ganze mal ne Kalenderuhr werden soll kannst du bei dem Konzept
> ja sowieso nicht bleiben. Die anzeige soll sich ja ändern. Das geht nur
> mit einem Font vernünftig.
> Wieso baust du nicht auf der Version von Benedikt auf? Die hat einen
> integrierten Font und kann die Anzeige ändern. Du schmeißt die
> UART-empfangsroutinen raus baust aber auf seine High-level funktionen
> auf.

Das ginge natürlich, aber die Optik war mir dann doch wichtiger (-:

> Alternativ - wenn du unbedingt bei deinem Konzept bleiben willst: Ich
> würde das Umkopieren vom Flash in den SRAM im Interrupt erledigen, weil
> das eben unbedingt synchron zum Interrupt sein muss.

werde ich auf alle Fälle probieren!

> Im Flash würde ich
> wieder einen Zeichensatz hinterlegen. Der Interrupt holt sich die
> aktuelle Zeit (die die Mainloop in den RAM schreibt) und wählt anhand
> der Uhrzeit/Datum aus, welche Ziffern ins Ram kopiert werden müssen.

Prinzipiell hatte ich es so vor (abgesehen vom Interrupt), siehe oben.

Noch eine Bitte.
Letztendlich muß ich ja immer gezielt im Speicher einen Block von bytes 
ändern (mit unterschiedlicher Größe). Da ich dafür keine fertige Lösung 
habe, versuche ich mich mühsam ranzutesten (daher die unterschiedlichen 
Versionen). Kannst du mir dabei einen Tip geben?

Nochmals herzlichen Dank
Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Wenn du die Daten im Interrupt kopierst dürfte es im extremfall stabiler 
laufen. Wenn bei der Mainloop-lösung das kopieren zu lange dauert zeigt 
er mist an. Halt das, was grade im Ram steht. Wenn die Interruptlösung 
zu lange braucht verliert er hin und wieder mal einen Interrupt. Dadurch 
sinkt die Framerate und das display wird ein wenig flackern. Aber er 
zeigt noch das richtige an. Nachdem du sonst keine Interrupts hast 
(erstrecht keine, die kurze Latenzen erfordern) stört es auch nicht dass 
der Controller dann relativ lang im Displayinterrupt hängt.

Zum Konzept. Wie Wärs damit:
Man könnte sich von dem 24-zeilen-block verabschieden und immer nur eine 
Zeile im SRAM behalten. Ganz grob gesagt würde ich dann immer eine Zeile 
vom Interrupt anzeigen lassen und danach (im Interrupt) die nächste in 
den RAM laden.
Fürs laden würde ich erstmal die gesamte Zeile löschen. Dann wird 
überprüft, welche Zeile denn überhaupt grade aufgebaut werden soll.
Dabei würde ich der reihe nach durchprüfen, ob der Wochentag, das Datum, 
die Jahreszahl,... angezeigt werden soll und bei jedem Treffer sofort 
die nötigen Daten rüberkopieren. Danach wird weitergegangen in der 
Überprüfungskette. Wenn du komplett durch bist steht der passende Teil 
der Anzeige im Ram. Leerzeilen haben sich auch schon erledigt, weil du 
ja vorher den Ram gelöscht hast. In leerzeile wurde er dann ja auch 
nicht überschrieben.
Als Beispiel postuliere ich jetzt mal, dass alle Wochentage 24*128pixel 
groß sind, also je 16*24 Byte im Flash belegen. Also hintereinander im 
Flash alle Wochentage als "Bild". Der erste liegt bei "Wochentage", der 
zweite dann bei Wochentage+16*24, der dritte bei Wochentage+2*16*24.
So, wir haben jetzt also festgestellt, dass in der aktuellen Zeile ein 
Wochentag reinmuss. Dann schau ich, welche Zeile des wochentags ich 
brauch (Day_Line = Aktuelle_Anzeigezeile-Wochentag_Startzeile) und 
welchen Wochentag wir haben (soll mal unter Day_of_week hinterlegt 
sein). Dann kann ich mir sehr leicht ausrechnen ab wo ich aus dem Flash 
laden muss:
Start=Wochentage+(16*24*Day_of_week)+Day_Line
Ab der Adresse liest du also 16 Byte ins SRAM an die stelle wo der 
Wochentag hinsoll (bezieht sich jetzt auf den X-offset).

Warum ich den 24-zeilen puffer abschaffen würde noch: Du gewinnst damit 
flexibilität beim Positionieren der Elemente. Außerdem brauchts deutlich 
weniger RAM.

So, ich hoffe ich habs verständlich geschriebn. In meinem Kopf ist das 
konzept vollkommen logisch :D

Sebastian

von Bruno M. (brumay)


Lesenswert?

super!
Danke für die schnelle Antwort.

Damit habe ich fürs Erste genug Stoff zum Überlegen und Probieren.
Ich werde mich auf alle Fälle nochmals melden, aber das kann ne Weile 
dauern.

Bruno

von Erstes G.Display (Gast)


Lesenswert?

ich habe mal eine frage zum Grafik Display
ich habe an meine Display folgende Anschlüsse
1 VDD +5 V
2 GND
3 VCC +32 V
4 FLM
5 Display off
6 M
7 Load
8 CP
9 GND
10 D0
11 D1
12 D2
13 D3
14 GND
15 Beleuchtung +
16 Beleuchtung-
17-20 Touchscreen

nur weiß ich nicht so ganz wie ich es an meinen ATmega 32 anschließen 
soll
ich würde es so machen
Anschlüsse 4;5;6;7;8;(17-20)Touchscreen wird noch nicht benutzt!
           10 bis 13 ist klar
         Kommen an den Mikrocontroller

ist das richtig?

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Hallo Sebastian,

ich melde mich doch noch mal kurz. Ich habe meine Version 3, d.h. mit 24 
Pixelreihen je Zeile nochmals gestrafft und vor allem das Laden des SRAM 
nun in den Interrupt verlegt. Außerhalb des Interrupts ist nur noch die 
Warteschleife. In der Simulation funktioniert das Programm, aber ich 
bekomme keine Anzeige. Kann es am erforderlichen Timing für das LCD 
hängen?

Der nächste Schritt ist aber nun die von dir vorgeschlagene Version mit 
je einer Pixelreihe.

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Ich würde das SRAM-füllen hinter die Ausgabe-routine setzen. Dann zeigt 
zwar der erste Frame in der ersten Zeile kurz mist an, aber du 
verringerst den Jitter bei der Ansteuerung des LCD was gegens flimmern 
besser ist.
Wenn man will kann man den SRAM-puffer auch bei der Initialisierung des 
Controllers mit nullen vollschreiben. Dann ist die erste Zeile des 
ersten Frames immer schwarz - das fällt wirklich nicht mehr auf.

Zum Testen würde ich Den Puffer auch einfach mal mit nem markanten 
Muster füllen. Zum Beispiel Schachbrett. Dann siehst du schonmal, ob die 
Anzeige und das laden prinzipiell noch funktionieren. Wenn das läuft 
kannst du anfangen vernünftige Daten aus dem Flash zu holen.
(Wenn du den eindruck gewinnst, dass ich zu faul bin deinen konkreten 
fehler zu suchen... erwischt. Aber so lernst du auch noch was dabei)

Sebastian

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Hallo Sebastian,

dein letzter Kommentar hat mich animiert, mit der 24 Pixel Version doch 
noch weiter zu experimentieren.
Nun bin ich aber mit meinem Latein am Ende.
Zuerst habe ich versucht, im Interrupt und nach der hloop Routine den 
Speicher mit einem Schachbrett zu füllen. -> kein Bild.
Dann habe ich den Speicher noch vor dem Hauptprogramm mit den Feldern 
aus dem Schachbrett gefüllt. -> sauberes Bild mit dicken vertikalen 
Streifen, d.h. OK.
Dann habe ich das Gleiche, aber innerhalb des Interrupts versucht, d.h. 
nicht genau das Gleiche, da ich ja den Speicher immer nach 24 
Pixelreihen neu lade, allerdings bleibt der Inhalt unverändert. -> 10 
dünne(1 Pixelreihe) Streifen und die dicken senkrechten Streifen kann 
man zwar erkennen, aber da muß man schon genau gucken.
Hast du die Erklärung?

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Du füllst deinen Speicher ja über eine verschachtelte schleife:
FeldHell schreibt je ein Byte und wird 4 mal durchlaufen
FeldDunkel schreibt je ein Byte und wird 4 mal durchlaufen
Und beide zusammen werden 10 mal aufgerufen
Also schreibst du da schon (4+4)*10=80 byte in deinen Speicher.
Und der ganze block wird dann CSize mal aufgerufen, wobei CSize=24. Also 
schreibst du 80+24=1920 Byte in den RAM. Damit überschreibst du auf 
jeden Fall den Stackpointer, womit das programm abstürzt.

Schreib mal statt CSize an der Stelle CSize/2, dann sollte es eigentlich 
funktionieren.

Allgemein noch ein Tipp: Mal dir vorher ein flussdiagramm von dem, was 
du programmieren willst. Das Programm wird deutlich strukturierter, es 
fällt leichter es zu schreiben und man macht weniger Fehler.

Sebastian

von Bruno M. (brumay)


Lesenswert?

Deine Rechnung ist so nicht richtig.
FeldHell wird 4 mal durchlaufen, dann wird aber der Zähler 10 schon auf 
9 reduziert. Anschließend wird FeldDunkel 4 mal durchlaufen und der 
Zähler auf 8 reduziert. Insgesamt ergibt das 2x4x5=40 Byte, d.h. genau 
eine Pixelreihe. Mit CSize=24 bin ich wieder bei meiner 24Pixel-Zeile.

Trotzdem danke für den Tipp.
Aus Frust habe es inzwischen aber doch mit nur einer Pixelreihe im Stack 
versucht und da hat das Schachbrett auf Anhieb funktioniert.

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Du hast recht. Hab ich übersehen. Aber wenns jetzt läuft passt ja alles.

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Hallo Sebastian,

Wie bereits angekündigt, hat es etwas länger gedauert, aber ich habe 
noch nicht aufgegeben!
Inzwischen habe ich das Programm entsprechend deinem Vorschlag aufgebaut 
und setze die einzelnen Zeilen aus den entsprechenden Datenblöcken 
zusammen.

So weit, so gut. Das Problem ist, daß sich dann nach jeder Zeile Linien 
einstellen und die Zeilen unterschiedlich starke Helligkeiten bekommen. 
Anscheinend hängt die Intensität auch von der Anzahl der Datensätze in 
der jeweiligen Zeile ab.
In der Zeile mit dem Monat (hier September) sind das z.B. 8 Datensätze.

Gibt es dafür vielleicht eine einfache Erklärung??

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Genaues kann man ohne Quelltext nicht sagen, aber nachdem du 
verschiedene Helligkeitsstufen hast tipp ich drauf, dass die Zeilen 
unterschiedlich lang angesteuert werden.
Wenns bei einer zeile länger dauert, bis die nächste ins display geladen 
ist wird sie vom display auch so lange angesteuert. Auch deshalb sollte 
man im Interrupt erst die Anzeige bedienen und dann den speicher neu 
laden.

Verwendest du im Ram Jetzt einen puffer für 24 Zeilen (danach schaut das 
bild aus)? Ich denke mal, dass deine laderoutine zu lang braucht. Das 
würde jedenfalls die hellen pixelzeilen erklären. Wenn du die Framerate 
probeweise mal runterstellst und die hellen Zeilen verschwinden solltest 
der Fehler dort liegen.
Die großflächig verschiedenen Grauwerte kann ich mir jetzt aber auch 
nicht erklären. Außer wenn du zeilenweise in den Ram Lädtst. Aber auch 
dann ists nicht ganz schlüssig.
Allgemein gilt aber: Ohne Quelltext kann man nur raten.

Btw: Ging doch jetzt richtig flott. Mein Projekt kommt mangels Zeit viel 
langsamer vorran :(

Viele grüße, Sebastian

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Herzlichen Dank für die superschnelle Antwort.
Ich hatte gehofft ich könnte dir das Studium des Codes ersparen (-:

Ich baue das Bild aus einzelnen Pixelreihen (40 Byte) auf. Die Daten im 
Flash sind aber jeweils der gesamte Block mit 24, 48 oder 72 Pixeln 
Höhe. Ausgelesen werden sie zeilenweise, d.h. 7 Textzeilen mit jeweils 
24 Pixel Höhe und zusätzlich 3 Leerzeilen.

Bruno

von Sascha F. (sascha_focus) Benutzerseite


Lesenswert?

Hallo zusammen,

hat jemand eventuell jeweils 2 Stück abzugeben?
Jeweils 10 bei Farnell zu bestellen, ist mir zu viel.


Wigbert Picht-dl1atw schrieb:
> Hi,
> wer Lust auf Stecker hat, beim TG 322450:
> Farnell Nr.165-9861 ; 124-5267
> die Spannungsversorgung nach DBL mit angegebenen IC , nur die reihen-R
> sind zusätzlich.
>
> Meine WD-H3224 sind auch noch unterwegs. Ist wohl ein weiter Weg
> zu mir.
>
> Wigbert

Gruß Sascha

von Sebastian .. (zahlenfreak)


Lesenswert?

wieso verschiebst du das 'cpi   C_Cnt, CSize' nicht nach skipcloop? 
Immer wenn skipcloop angesprungen wird kommt vorher genau dieser 
vergleich. Wenn dus zu skipcloop verschiebst wirds besser lesbar. Man 
sieht auf einen blick was vergleichen wird und was mit dem Vergleich 
gemacht wird.

Mal etwas nachgerechnet: Meine vermutung, dass du zu langsam füllst 
könnte stimmen. Wenn ich mich nicht verrechnet habe hast du zwischen 
zwei Interrupts nur 1024 Takte. Nachdem das Ausgeben der Daten ja auch 
ne gewisse Zeit braucht hast du fürs laden der Daten nur ca. 450 Takte. 
Vor allem in Zeilen mit viel Inhalt könntest du da leicht drüber kommen. 
Wenn du die Framerate verringerst sollte es also vor allem in der 
Monatszeile bessser werden, fängt aber halt zu flackern an. Also auch 
keine echte Lösung. Du müsstest dir also überlegen wie du die daten 
schneller laden kannst.

Die weißen querstreifen machen aber irgendwie keinen sinn... Muss aber 
zugeben, dass ich jetzt nicht mehr sagen kann. Hab den Code nicht soo 
genau angeschaut. Vielleicht später :D

Sebastian

von Bruno M. (brumay)


Lesenswert?

Das mit dem cpi hat sich irgendwann so ergeben, da ich ja schnell mit 
den ursprünglichen branch Befehlen am Limit war. Aber du hast natürlich 
recht, so ist es Unsinn, nur man sieht es selbst nicht mehr.

Deine Vermutung betreffend Framerate war ebenfalls richtig. Ich habe das 
Display jetzt mit 45 laufen und die hellen Flächen sind weg. Von 
Flackern ist noch nichts zu sehen.

Das Problem mit den weißen Streifen habe ich auch gelöst u.z. ist mir 
aufgefallen, daß zwar die erste Zeile nach der Anzeige im LCD geladen 
wird, nach der letzten Pixelreihe jeder Zeile das Programm aber zuerst 
noch durch das Ladeprogramm der alten Zeile läuft und unmittelbar 
anschließend schon die zweite Zeile geladen wird. So habe ich am 
Zeilenübergang zwei Ladevorgänge und beide vor der Übertragung ins 
Display.

Nach Änderung dieser beiden Punkte, ist das Bild super.
Nun stellt sich das nächste Problem mit der Auswahl des richtigen 
Datenblocks im Flash, d.h. ich verschwinde erstmal wieder in der 
Versenkung.

Bruno

von max k. (Gast)


Lesenswert?

Hallo,

Ich habe mir letzte Woche ein WD-H3224V LCD bei pollin gekauft.
Kann mit dem Datenblatt von pollin aber nicht anfangen.
Ich möchte das display später mit einem PIC ansteuern.
Zur Zeit arbeite ich mit dem PIC 16F88 oder 18f2550.
Also suche ich ein kleines test programm
und eine Seite wo beschrieben wird wie ein solches Display ansteuert.

ein danke schon mal im vorraus

Gruß max

von Meik D. (meik)


Lesenswert?

Hallo Max.
Das mit dem 16F88 wir wohl so ohne Weiteres nix werden. Außer man 
übertaktet ihn(was aber sehr gut möglich ist). Nächstes Problem ist der 
relativ kleine Flash. Das würde aber noch für einen abgespeckten, 
kleinen Schriftsatz reichen. Für den 18F2550 sieht die Sache schon 
besser aus. Schau mal (viel) weiter oben: 
Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus"
Vielleicht hilft das weiter.
Wenn was unschlüssig sein sollte, melde dich ruhig noch mal.
Meik

PS: Da fehlt eigentlich noch die Schriftsatz-inc Datei im Quellcode. 
Falls du die noch brauchst, kann ich die gerne noch hochladen. Ist eine 
umformatierte Datei aus Benedikts font.zip

von max (Gast)


Lesenswert?

Hallo Meik,

Danke für den Tip.
Währe aber nett wenn du mir noch sagts wie du das display an den
PIC Angeschlossen hast. (Schaltplan)
Währe auch nett wen du mir die Schriftsatz-inc Datei hochladen würdest.

Danke
Gruß Max.

von Meik D. (meik)


Angehängte Dateien:

Lesenswert?

Hier die Dateien. Ich hoffe, die Belegung passt auf die Datei. Ich hatte 
verschiedene Versionen davon gemacht. Das Platinenlayout ist im Target 
Format.

Gruß Meik

von Bruno M. (brumay)


Lesenswert?

Hallo Sebastian,

ich brauche wieder Hilfe!!!
Das Gute vorweg. Das Display funktioniert und ich kann die Werte zeigen, 
die ich vorher als Vorgabewert im SRAM definiert habe. Es fehlt jetzt 
eigentlich nur noch die Einspeisung dieser Vorgabewerte durch eine RTC.
Aber da fängt das Problem an. Ich nutze als RTC den DS1307 von Dallas, 
der mit einer I2C Schnittstelle arbeitet. Nun habe ich mal die 
wesentlichen Routinen in das Programm eingebaut und zwar schon so, daß 
jeder Wert einzeln gelesen wird. Aber auch dann sind die I2C Routinen so 
lang, daß ich außerhalb des Interrupts zu wenig Zeit zur Verfügung habe. 
Ich kann natürlich die Framerate reduzieren, aber das hat ja seine 
Grenzen.

Welche Möglichkeiten habe ich noch??

Gruß
Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Erstmal natürlich glückwunsch, dass die Anzeige jetzt voll funktioniert.

Die eine möglichkeit wäre, den Code zu optimieren. Das kann einmal auf 
befehlsebene passsieren (also schleifenzähler runterzählen lassen statt 
hoch und ähnliches) oder auf Algorithmus-ebene. Letzteres bringt 
erfahrungsgemäß deutlich mehr. Meiner erfahrung nach ists dafür 
sinnvoll, sich das programm abstrakt als Flussplan aufzuzeichnen. Dann 
gewinnt man einen überblick und sieht leichter, wo strukturelle 
verbesserungen möglich wären.

Du könntest aber auch drüber nachdenken, die RTC im AVR zu realisieren. 
Entweder über den Prozessor-takt und einen Timer-interrupt (in der 
codesammlung gibts code zur erzeugung einer exakten 1s-zeitbasis). Oder 
über einen Uhrenquarz der einen Timer taktet. Ich kann dir jetzt aber 
nicht sagen, ob es damit besser wird, denn du hättest wieder den 
Timerinterrupt, der immer mal dazwischenfunkt und CPU-last erzeugt.

Das sinnvollste ist wohl erstmal dein Programm zu visualisieren und da 
optimierungen zu suchen. Vielleicht hast du auch irgendwo unnötige 
schleifen oder ähnliches drin. Sowas findet sich so auch relativ gut.

Viel Erfolg, Sebasitan

von Bruno M. (brumay)


Lesenswert?

Danke für die gewohnt schnelle Reaktion!
Um ehrlich zu sein, habe ich im Moment nicht sonderlich Lust den Code 
mit dem ich mich ja nun schon mehrere Tage rumschlage nochmals 
anzugehen. Die Zeit kommt aber sicherlich wieder.
In der Zwischenzeit ist mir aber auch eingefallen, daß die Megas ja 
einen Hardware TWI haben. Daran hatte ich nicht gedacht, da ich bisher 
immer mit Softwarelösungen gearbeitet habe. Vielleicht klappt es ja 
damit.

Eine Grundsatzfrage habe ich aber noch. Was machen andere, die ja 
teilweise sehr komplexe Bildinhalte darzustellen haben? Natürlich werden 
die mit höheren Taktraten arbeiten, aber ist es nur das?

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Deine Frage ist jetzt ehr grundlegend gemeint, nicht speziell auf 
benedikts lösung bezogen, oder?

Erstmal gibts ja benedikts lösung auch als voll-grafik-version. Da hat 
er "einfach" noch ein wenig Hardware dazugenommen, die dann den 
Prozessor stark entlastet.
Wenn man größer werden will (aber auch schon für kleinere Displays) 
gibts spezielle Displaycontroller, die die gesamte Ansteuerung in 
Hardware implementieren und die Daten aus einem eigenen RAM auslesen. 
Man muss dann nur noch dem controller die Daten rüberschieben. Mit 
passendem Interface kann man dann auch schon mit einem AVR recht 
beachtliche Datenraten erreichen. Ansonsten braucht man halt einen 
größeren Controller, der schneller taktet, eine breitere Architektur hat 
(16 oder 32 bit statt 8) oder andere Techniken verwendet, um mehr 
rechenleistung/Datendurchsatz zu erziheln. Der Trick ist aber meist 
einfach, für die eigentliche Ansteuerung des LCD einen Seperaten 
Controller mit genügend RAM zu haben.

Gruß, Sebastian

von Bruno M. (brumay)


Lesenswert?

Ja, genau so war die Frage gemeint. Ich hatte mir die Grafik_Version von 
Benedikt schon mal angesehen, aber soweit ich mich erinnern kann, ist 
das ja eine Kombination von C und ASM Codes. Da ich C nicht kann, bin 
ich da nicht tiefer eingestiegen. Von der Hardware gesehen war das ja 
hauptsächlich das externe RAM und ein dafür geeigneter Prozessor. Wo 
liegt da der Schlüssel für die Steigerung der Rechnerleistung? Der 
Speicher alleine machts ja noch nicht, oder?

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Ja, die Grafikversion ist in C und nur die Low-Level Routinen in ASM. 
Man kann sich aber einen zweiten Controller über UART dranhängen und die 
Daten an den Displaycontroller schicken. Dann braucht man sich auch 
nicht um C kümmern.
Der RAM ist (soweit ich das sehe) hauptsächlich nötig, um allgemein 
Grafik darstellen zu können. In der Textversion reicht es aus, einen 
Font im Flash zu haben und das bild erst während der Anzeige zu 
"synthetisieren". In der Grafikversion muss man immer das gesamte Bild 
im RAM vorhalten - es besteht ja nicht aus vordefinierten Elementen.
Was auf jeden Fall Zeit bringt, sind die Logikgatter die er noch 
verwendet hat. Die meisten Steuersignale des Displays werden in Hardware 
erzeugt. Auf diese weise kann man 8 Pixel in 6 Takten Rausschieben. In 
deiner Version werden dafür (wenn ichs richtig im Kopf habe) 13 Takte 
benötigt, also etwa das doppelte.

von Bruno M. (brumay)


Lesenswert?

Danke für die Info!

Gruß
Bruno

von Bruno M. (brumay)


Lesenswert?

Hallo Sebastian,

nach längerer Pause wieder ein Lebenszeichen!

!!!Die ATMega8 Uhr läuft!!!!

Einen ATMega16 habe ich mir in der Zwischenzeit schon besorgt, sodaß 
einer endgültigen Version nichts mehr im Wege steht.

Nochmals herzlichen Dank für die Unterstützung. Vielleicht hast du ja 
mal Zeit und Lust den endgültigen Code nach Vereinfachungen 
durchzuschauen. Ich werde ihn ins Forum stellen, wenn die Uhr fertig 
ist.

Noch nicht optimal ist das Einstellen der Uhrzeit. Im Moment muß ich 
dazu das Programm nochmals mit geänderten Vorgabewerten einspielen. Mir 
fällt dazu aber auch noch nichts Vernünftiges ein.

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Glückwunsch! Wegen dem Uhrzeit stellen: Ein paar tasten dran die in der 
mainloop abgefragt werden. Eine erhöht die Stunden, eine die Minuten und 
eine setzt die Sekunden auf Null. Wenn du willst kannst du auch noch 
jeweils eine fürs runterzählen nehmen. Beim Booten startet die Uhr halt 
um 00:00Uhr.
Etwas gedanken müsste man sich noch um die Tastenentprellung machen. 
Normal nimmt man einfach einen Timer. Nachdem du aber eh schon recht 
wenig zeit übrig hast würd ich die Tastenentprellung lieber in einen 
vorhanden timer dazuquetschen oder gar in der mainloop abhandeln. Aber 
um da konkrete Ratschläge zu geben muss man den Code kennen.

Sebastian

von Bruno M. (brumay)


Lesenswert?

Das Problem ist, daß ich außerhalb des Interrupts nichts mehr 
unterbringe. Ich habe jetzt schon den I2C Bus mit dem Maximalwert von 
100kHz getaktet. Außerdem führe ich jede Aufgabe, d.h. Einzelwerte 
abholen und in BCD umwandeln immer getrennt aus, u.z. nur am Anfang 
eines Frames wo ich im Interrupt außer der Übertragung ins Display 
nichts weiter zu tun habe (die Leerstellen stehen ja noch von der 
letzten Zeile im SRAM). Die Framerate habe ich jetzt auf 55 stehen.

Bruno

von Martin (Gast)


Lesenswert?

Hallo Zusammen,
ist es möglich dieses tolle Projekt (Die LCD-Ansteuerung) in WINAVR 
umzuwandeln, oder kann ich die Assembler-Datei auch irgendwie zu meinem 
in c geschrieben dateien 'includen' ?

Hintergrundgedanke wäre das ich meine jetzige Anzeige 40x4 auf 40x20 zu 
erweitern :)

Gruss,
Martin

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hallo,

neuerdings habe ich auch ein WD-H3224V mit eigenem Controller am Laufen. 
Dabei habe ich festgestellt, daß bei Anzeige von statischem Inhalt 
einige Pixelzeilen mit der Zeit 'einbrennen' bzw. 'müde' werden. Dies 
äußert sich in einem halbdunklen, diffusen Pixelsalat, der auch beim 
Abschalten der Displayspannungen noch einige Sekunden sichtbar bleibt. 
Hat sich dieser Salat abgebaut und schaltet man das Display wieder ein, 
ist wieder alles für eine gewisse Zeit normal, bis das Phänomen wieder 
auftritt. Ich habe schon mit verschiedenen Frequenzen des M-Signals 
herumgespielt (toggeln alle 7, 13, 21 Zeilen oder 1x pro Frame), wobei 
hohe Frequenzen das Ergebnis verbesserten, aber zu einer hohen 
Stromaufnahme führten. Ganz weg ist das Problem aber nie. Kann das 
jemand von euch nachvollziehen?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Alo ich habe nochmal probiert und das Problem tritt hauptsächlich dann 
auf, wenn die LCD-Spannung geringfügig zu hoch ist, so daß 
nichtangesteuerte Pixel leicht grau mitschimmern. Nehme ich die Spannung 
etwas zurück, verschwinden die Geisterpixel. Bei anderen Displays ist 
mir das bislang nicht aufgefallen.

von peter (Gast)


Lesenswert?

hallo,

habe das problem das das bild immer durchläuft von oben nach unten
wo liegt da das problem ? hat vieleicht einer eine Idee

von peter (Gast)


Lesenswert?

problem gelöst

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Hallo Sebastian,

Nachdem ich mir ein paar Tage Auszeit genommen hatte, läuft nun die 
komplette Uhr auf dem ATMega16. Es war allerdings wieder mit 
Hindernissen versehen, da auch der Speicher vom AT16 zu klein ist um die 
Daten bequem unterzubringen. Mit bequem meine ich, die Texte für Monat 
und für Wochentag jeweils mit konstanten Längen abzuspeichern. So mußte 
ich im Programm noch eine geeignete Längenanpassung vornehmen.
Nach wie vor ungelöst ist das Stellen der Uhr, auch wenn die Genauigkeit 
der Dallas RTC sehr gut ist.
Insgesamt ist das Programm schon sehr umfangreich geworden und ich frage 
mich wirklich ob es nicht auch einfacher geht. Aber es läuft zumindest.

Gruß
Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

@travelrec:
Kann dir leider nicht wirklich helfen. Das einzige was ich sagen kann 
ist, dass es normal ist, dass LCDs irgendwann "einbrennen". Aber die 
Zeiten liegen eigentlich deutlich höher als ein paar Stunden oder Tage. 
Zumindest soweit ich weiß.

@Bruno:
Teile deinen Quellcode mal auf mehrere Dateien auf. Das macht das ganze 
viel Übersichtlicher. Steck z.B. die ganzen Datentabellen in eine 
Extradatei (wenn nicht sogar mehrere). Oder auch den Interrupt 
auszulagen macht bei der länge deines Interrupts durchaus Sinn. Auch 
Unterfunktionen machen sich immer gut in Extradateien. Die Dateien 
kannst du dann einfach über .include einbinden.
Wenn das passiert ist schau ich auch mal genauer über deinen Code.
Eine Sache ist mir dann doch noch aufgefallen: Du synchronisierst deine 
Mainloop mit dem Bildaufbau, oder? Gibts dafür einen besonderen Grund?

Gruß, Sebastian

von Bruno M. (brumay)


Lesenswert?

Wenn ich dich richtig verstehe, dann meinst du mit synchronisieren, daß 
ich nur jeweils am Ende eines Bildes einen Befehl im Mainloop ausführe.
Der Grund dafür ist, daß ich anfangs das Auslesen der RTC und das 
Umwandeln der Zahlen in einer Aufgabe erledigen wollte und dann nichts 
mehr funktionierte, weil die Zeit im Mainloop viel zu kurz war. So habe 
ich den Umfang der Befehle schrittweise so weit reduziert, daß es paßt 
und darüberhinaus das Bildende genutzt, weil ich dann im Interrupt kaum 
etwas zu tun habe (die Leerbytes stehen ja schon im Speicher).

Die Aufteilung des Codes werde ich in Angriff nehmen.

Bruno

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Hallo Sebastian,

so, der Code ist aufgeschlüsselt. Ich hoffe es entspricht deinen 
Vorstellungen.
Bei dieser Gelegenheit konnte ich auch noch etwas kürzen.

Bruno

von Bruno M. (brumay)


Lesenswert?

Wenn du dir den Code ansiehst, möchte ich gleich noch eine Frage 
nachschieben.
Mir ist es bis jetzt noch nicht gelungen, die RTC unabhängig vom AT16 zu 
betreiben. Damit meine ich, daß beim Abschalten oder auch beim 
Einschalten des LCD's und AT16 die Uhr auf den zuletzt eingestellten 
Wert zurückgesetzt wird, obwohl die Uhr mit Batterie läuft. Eigentlich 
fängt das Problem schon damit an, daß ich das laufende Programm nicht 
mit einer Version ohne Start Routinen für die Uhr überschreiben kann, 
ohne daß die Zeit zurückgesetzt wird. Woran kann das liegen?

Bruno

von Chris (Gast)


Lesenswert?

Hi,
ein tolles Projekt :)

Inspiriert durch diese vielen Posts, stellt sich gerade nur die Frage, 
welche
Display man/ich benutzen könnte?

Sehr sehr weit oben habe ich gelesen das der S1D13700 gehen soll...

Könnte Jemand ein paar Kompatible Kontroller listen damit man/ich ein 
Display im Netz suchen kann, wäre supi :)

Bin eben durch zufall auf das hier gestossen, nur bin ich mir wegen der 
Pinbelegung nicht ganz sicher.

http://www.cct.com.my/Products/Graphic%20Module/PG64-G2432X17.pdf

Gruss,
Chris

von Sebastian .. (zahlenfreak)


Lesenswert?

@Chris

Als Display gehen nur Controllerlose. Der Witz dieses Projekts ist, den 
Controller in Software auf einem AVR zu realisieren.
Zum Beispiel kann man das hier verwenden:
http://www.pollin.de/shop/dt/ODI1OTc4OTk-/Bauelemente/Aktiv/Displays/LCD_Modul_NAN_YA_LTBE9S159J1K.html

Das von dir gelinkte hat einen integrierten Controller, funktioniert 
also nicht mit diesem projekt. Mit einem AVR kann man es trotzdem 
ansteuern.

@Bruno
Dass dein Display bei jedem Neustart mit der gleichen Uhrzeit anfängt 
sollte ja klar sein. Sowiet ich das jetzt gesehen habe setzt du ja bei 
jedem Start deines Controllers die Zeit auf den eingeflashten Wert.
Warum die Uhrzeit auf den gleichen Wert gestellt werden soll, wenn du 
eine neue Version ohne Zeit-stell-Software flasht kann ich mir grad auch 
nicht so richtig erklären. Ich denke doch mal, dass dein Board nicht 
über den Programmer mit Strom versorgt wird, oder?
Im Prinzip darfst du beim Systemstart die Zeit garnicht stellen. 
Stattdessen musst du etwas Code einfügen um Tasten abzufragen mit denen 
du die Zeit dann änderst. Genauere Vorschläge kann ich dir aber 
Frühestens Dienstag machen. Muss noch für ne Prüfung lernen - da hab ich 
leider nicht so viel Zeit übrig.

Sebastian

von Bruno M. (brumay)


Lesenswert?

Natürlich geht deine Prüfung allemal vor. Super, daß du trotzdem schon 
wieder geantwortet hast.
Bei dem ins Forum kopierten Code ist es natürlich klar, daß die Uhrzeit 
gestellt wird. Bei meinen Tests habe ich aber immer das RTC_Write und 
meist auch das RTC_Read nur als Bemerkung stehen. Wo dann die alten 
Stellwerte herkommen ist mir ein Rätsel. Im ATMega können sie doch nicht 
mehr stehen,oder? Bleibt dann ja nur das Uhren-IC????
Das Ein- und Ausschalten hat sich inzwischen geklärt, u.z. lag es am 
fehlenden pull-up am Reset Pin.
Jetzt stellt er nur noch dann zurück, wenn ich eine neue Programmversion 
aufspiele (ohne Stellen der Uhr!).

Bruno

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Ich habe die Zeit genutzt und den Code nochmals überarbeitet. Beim 
Bildaufbau ist alles unverändert. Das Auslesen der RTC erfolgt aber 
jetzt nach den 4 erten Pixelreihen im Abstand von 10 (das ist natürlich 
auch noch variabel) Bildern. Damit bleibt eventuell Zeit für weitere 
Aufgaben.

Bruno

von Christian (Gast)


Lesenswert?

Hallo,

Zuerst mal ich bin noch ziemlich schlecht im programmiern.

War also froh als ich gestern den LCD controller ans Laufen ans Laufen
gebracht habe.
Nun habe ich mal eine Frage:
Und zwar will ich auf meinem Display einen Text an zeigen.(250 worte auf 
mehren Seiten)
hat schon mal Jemand so etwas gemacht oder kennt einer eine Lösung für
mein Problem?
(habe PIC 16F88/876 oder Atmega 168/32 zur verfügung)
Schon mal Danke für eure Mühe

Mit freundlichen Grüßen,

Chris

von Bruno M. (brumay)


Lesenswert?

Leider habe ich erst jetzt festgestellt, daß die Version 2 nur in der 
Simulation funktioniert, in der Praxis aber nicht. Es werden zwar die 
Uhrwerte für Sekunden und Minuten richtig angezeigt, die Stunden und 
anderen Daten bleiben aber stehen. Warum das so ist weiß ich nicht. 
Zumindest hat sich aber das Thema "Änderung der Uhrzeit beim Einspielen 
eines neuen Codes" damit erledigt.

Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Hallo Bruno,

bin grad dabei deinen Code anzuschaun. Ich schreib jetzt einfach mal der 
Reihe nach auf, was mir auffällt, also vll. etwas durcheinander. Ich 
bitte das zu entschuldigen.

Deine Daten hast du über die .org Direktive platziert. Das macht man 
eigentlich nicht, weil es leicht zu Problemen führt. Genauso hast du die 
einzelnen Startadressen über feste Werte definiert. Konkret mein ich das 
hier:
1
.equ Font_St    =0x600*2
2
.set WTag_St    =0+Font_St
3
.equ den      =2400+Font_St
4
.equ Jahr_St    =2544+Font_St
5
.equ Dat_St      =4464+Font_St
6
.equ Punkt      =5044+Font_St
7
.set Mon_St      =5092+Font_St
8
.equ Zeit_St    =8452+Font_St
9
.equ Sek_St      =4464+Font_St
10
.equ Doppelpunkt  =12772+Font_St
und dann unten vor den Daten:
1
.org Font_St/2

Sinnvoller ist es, Labels zu verwenden. Du schreibst einfach vor den 
Daten des Doppelpunkts
1
Doppelpunkt:
Vor den Wochentagen kommt
1
WTag_St:

Mit diesen marken kannst du dann genauso arbeiten. Für außenstehende 
ists aber deutlich leichter zu lesen und es ist DEUTLICH weniger 
Fehleranfällig. Wenn sich deine Datenlänge mal ändert passt der 
Assembler die Zahlenwerte selbst an und du musst dich nicht selbst drum 
kümmern.

Genauso das hier
1
Januar:
2
.SET  Mon_St = 5092+Font_St
3
  ldi    ZL, LOW(Mon_St)
4
  ldi    ZH, HIGH(Mon_St)
ist schlechter Programmierstiel.
Setze vor die Daten des Januar ein Label. Also zum Beispiel
1
Januar_Data:
obiger Code wird dann zu
1
Januar:
2
  ldi ZL, LOW(Januar_Data*2)
3
  ldi ZH, HIGH(Januar_Data*2)

und schon gibts keine komischen Zahlen mehr, von denen keiner mehr weiß, 
woher sie kommen. Man kann auch nicht vergessen, sie bei Änderungen 
anzupassen. Das macht dann alles der Assembler.


Du solltest darauf achte, Code der logisch zusammengehört auch in eine 
Datei zu schreiben. Dass das jetzt noch nicht perfekt ist ist klar, du 
hast den Code ja grade erst aufgeteil. Aber z.B.
1
Warte:  
2
  in  temp, TWCR
3
  sbrs  temp, TWINT
4
  rjmp  Warte
5
  ret
sollte schon auch zum Rest des RTC-codes. Das Label könnte man auch 
eindeutiger wählen. Z.B. "WarteAufTWI:" oder "WarteAufRTC:". So schauts 
auf den ersten blick aus wie eine normale Delay-funktion, die einfach 
nur eine feste Zeit wartet. Wenn man den Code nachvollziehen will hilft 
soetwas doch sehr.



Soetwas
1
  cpi  C_Cnt, 4  ;bei C_Cnt =>4 ist das Lesen beendet
2
  ldi  RTC_Flag, 1
3
  brsh  Mainloop
sollte man auch vermeiden, wenns keinen Grund gibt. Der Vergleich sollte 
doch möglichst direkt vor dem Branch kommen. Hier ists egal, weil "ldi" 
das SREG nicht ändert, aber wenn mal noch ein Befehl eingefügt wird ists 
schnell passiert, dass man plötzlich nach einer ganz anderen Bedingungn 
brancht.

So, jetzt hab ich hunger und Simpsons haben schon angefangen. Um dir 
noch bischen Arbeit zu geben noch ein paar allgemeine Sachen ;)

Mir noch nicht ganz klar, warum du die Mainloop auf eine bestimmte 
stelle im Bildaufbau synchronisierst. Der Interrupt holt sich immer so 
viel Rechenzeit wie er braucht, ob die CPU in der Mainloop gerade was 
sinnvolles tut oder nur wartet ist dem egal. Natürlich schadets erstmal 
nicht, die Zeit nicht sooo häufig auszulesen, aber es macht halt Mehr 
Arbeit.
Du hast doch sowieso eine Routine, die die gesamten RTC-Daten ausliest. 
Wieso lässt du die nicht einfach endlos in der Mainloop aufrufen?

Zum Uhr stellen:
Erstmal brauchst du doch sowieso tasten. Die sind ja (laut sourcecode) 
noch garnicht vorhanden. Die Uhrzeit einmal einzuflashen und danach auf 
die RTC zu vertrauen kann ja auch keine Lösung sein. Selbst wenn du die 
Zeitumstellung mit einprogrammierst wird die Uhr irgendwann falsch gehn.
Dann schau dir mal an, wie Tasten entprellt werden. Das wird zum 
Beispiel hier beschrieben:
http://www.mikrocontroller.net/articles/Entprellung

Versuch das zu verstehen und überleg dir, wie du entsprechenden Code in 
dein Grundgerüst integrieren könntest. Das Uhr stellen sollte dann 
eigentlich trivial sein:
Bei Tastendruck (z.B. Stunden erhöhen) wird der Stundenwert im RAM 
erhöht und in den RTC-baustein geschrieben. Fertig.

Bei gelegenheit oder wenns ne neue Version gibt schau ich nochmal über 
den Code. Heut aber erstmal nicht mehr.

Viele Grüße,
Sebastian

von Bruno M. (brumay)


Lesenswert?

Hallo Sebastian,

ich hoffe deine Prüfung war erfolgreich (-:

Herzlichen Dank für den umfangreichen Beitrag. Da habe ich erst mal was 
zu tun.

Das Tastenentprellen ist kein Problem. Damit habe ich mich schon 
mehrfach beschäftigt. Mein Problem war aber bisher, daß ich nicht wußte, 
wo ich eine Tastenabfrage mit Entprellung und Uhr nachstellen zeitlich 
noch unterbringen könnte. Ich hatte ja schon mit dem Auslesen der Uhr 
erhebliche Probleme. Inzwischen sehe ich da aber etwas Land.

Nun aber vielleicht auch noch für dich eine Denksportaufgabe:
Ich hatte ja geschrieben, daß die Version 2 meines Codes nur die 
Sekunden und Minuten ausliest, aber die übrigen Daten nicht. Inzwischen 
habe ich mit einer LED festgestellt, daß im Programmteil "_Wahl" die 
Sprungbefehle nicht befolgt werden, obwohl es in der Simulation keine 
Probleme gibt. D.h. Std_Read und die danach kommenden Routinen wurden 
gar nicht angesprungen. Versuchsweise habe ich dann statt der Variablen 
C_Cnt die ich in _Wahl genutzt habe, eine neu definierte Variable 
eingesetzt und siehe da es funktioniert. Warum das aber so ist, habe ich 
keine Ahnung????

Gruß
Bruno

von Sebastian .. (zahlenfreak)


Lesenswert?

Buuhaaaa! Da hättst jetzt besser nicht gefragt. Dann hätt ich folgendes 
nicht gefunden:
1
  add    ZL, C_Cnt
2
  clr    temp
3
  adc    ZH, temp

auch wenn clr das Carry-bit nicht ändert... Das ist einfach unterste 
Schublade. Das adc sollte wirklich auf jeden Fall direkt hinter dem 
zugehörigen add stehen. Du provozierst die Fehler sonst geradezu. Zur 
strafe 100 Zeilen Compilierten C-code disassemblieren! ;)

Die Antwort auf deine detektivaufgabe ist ziemlich simpel:
In der Simulation setzt du das TWINT-bit sobald es abgefragt wird. In 
Realität musst du da auf die RTC warten. In Echt dauert also die ganze 
Kommunikation mit der RTC viel länger. Bis die Sekunden ausgelesen sind 
hat der Interrupt schon vier mal ausgelöst. Dann ist C_cnt zu groß und 
die RTC wird erst wieder ausgelesen wenn das Bild vorne anfängt.

Wenn du schon das Auslesen mit der Anzeige synchronisieren willst, dann 
häng das auslesen wenigstens am Stück an. Sprich: Du wartest, bis das 
Bild wieder oben anfängt. Dann wird die Zeit am Stück komplett 
ausgelesen. Danach wird wieder auf Bildanfang gewaret. Der Interrupt 
holt sich schon genug Rechenzeit. Dem ist das egal.

Sebastian

von Bruno M. (brumay)


Lesenswert?

Deine Erklärung klingt zwar logisch, aber sie provoziert eine Reihe 
anderer Fragen:
Ist deine Feststellung, daß der Interrupt schon 4 mal ausgelöst hat eine 
Vermutung, oder Berechnung? Wenn sie stimmt, dann verstehe ich nicht, 
daß das von dir vorgeschlagene Auslesen am Stück bei mir eben nicht 
funktioniert hat. Ich bin nämlich genau so gestartet und mußte 
feststellen, daß die Anzeige dann weg ist, oder wirres Zeug zeigt. Meine 
Vermutung war, eben weil während des Auslesens der Interrupt zuschlägt 
gibt es Probleme. Also habe ich das Auslesen so weit zerlegt, daß es 
keine Probleme mehr gab und war davon ausgegangen, daß die Zeit im 
Mainloop dann ausreicht. Das ist ja auch der Grund, warum ich das 
Auslesen mit dem Bildaufbau synchronisiert habe.

Bruno

von Bruno M. (brumay)


Lesenswert?

Sebastian, deine Antwort auf meine "Detektivaufgabe" wie du geschrieben 
hast, hat mir sehr geholfen. Sie hat mich nämlich veranlaßt über das 
Problem nochmals nachzudenken und siehe da, es funktioniert nun auch mit 
dem Auslesen an einem Stück. Dadurch wird vieles einfacher.

Gruß
Bruno

von Max (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
super Projekt.

der lcd controller funktioniert super.
habe nur ein kleines problemm mit meinen programm wo mit ich den
controller ansteuern will.
und zwar seit dem ich text4 eingefügt (bis text 3 war alles super)habe 
gibt das programm mir noch mist am TX raus
hat einer eine Idee wo der fehler ist habe da selbst nicht so viel 
ahnung von. mein code ist im anhang.

Schon mal ein Dankeschön im vorraus

Gruß, Max

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Hallo Sebastian,

es ist so weit! Die Uhr läuft und Sekunden und Minuten lassen sich 
stellen. Mehr brauche ich nicht.

Vorgesehen ist ein Schalter zur Wahl zwischen Sekunden und Minuten, und 
ein Taster zum Stellen.

Gruß
Bruno

von Bernd K. (viper)


Lesenswert?

Hallo.

Hat schon jemand ne richtig funktionierende Schaltung für die 
Kontrastspannung für das TG322450 Display ? Weil wie schon weiter oben 
beschrieben, hab ich auch das Prob, das in Abhängigkeit zu der Anzahl 
der angezeigten Zeichen die Spannung hoch- bzw. runtergeregelt werden 
muss, sonst wirds ziemlich grau.

CU
Bernd

von Sebastian W. (bastiw)



Lesenswert?

Hallo Bernd

Mein TG322450 arbeitet jetzt einwandfrei. Ich hatte auch meine 
Schwierigkeitn mit dem Kontrast. Die Kontrastschaltung ist im Anhang 
allerdings habe ich einen LM324 genommen und anstelle dem Transistor 
eine Zehnerdiode 5,6V eingesetzt. Die Kontrastspannung regle ich mit 
einem Poti das in der Step up Schaltung eingebaut ist damit die 
Ausgangsspannung stabil bleibt.

Vielen Dank an alle mitwirkende dieses Projekts.

MFG
Sebastian

von woodym (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich war von der Idee begeistert einen atmega als Kontroller einzusetzen. 
Hier ein Großer Dank an Benedikt!. Was mir nicht so gut gefallen hatte, 
war das dieses Projekt viel in Assembler geschrieben wurde. Ich sträube 
mich nicht gegen Assembler im Allgemeinen... Wenn man aber mit jedem 
Prozessor auf 'Du' sein will, verliert man irgend wann den Überblick.
Die Konsequenz daraus: schreib das doch in C. Weil diese Forderung an 
Benedikt eine unverschämtheit wäre (er hat hier schon genug 
Peonierarbeit geleistet) habe ich dies übernommen ;-).

Gleich zum Nachteil: die Bildwiederholfrequenzen von Benedikt bekomme 
ich nicht hin! No WAY!!! aber 45Hz sind auf den Displays durchaus noch 
machbar.

Warum das ganze in C?
Ich wollte ein Display mit Touch-Screen das auch ein kleines Menüsystem 
hat mit dem man sich die 'Knochenarbeit' sparen kann. Weil ein 
Touchscreen angedacht war habe ich mich für das WD-H3224 von Pollin 
entscheiden. Rausgekommen ist dabei eine Platine die alle nötigen 
Aufgaben übernimmt. Mit einem Atmega168 oder Atmega328 ist auch noch ein 
zweiter Zeichensatz für große darstellung mit drin und ein Menüsystem in 
dem durch einfache definitionen Seiten und Funktionen definiert werden 
können.
eine Seite kann dabei enthalten:

Radiobutton (im eeprom gespeichert)
Checkboxen (im eeprom gespeichert)
Slider Horizontal
Button (mit Funktion zum direkten Aufruf andere Seiten)
Text
Text editierbar und im eeprom abgelegt
Text (int) editierbar und im eeprom abgelegt

Um einen Text zu editieren wird eine 'Tastatur' eingeblendet und nach 
der Eingabe wieder in die vorherige Seite gewechselt. Leider hat die 
Ram-Beschränkung es nicht gestattet das über Layer abzuwickeln.

Der Touchscreen wird direkt durch den Atmega abgefragt. Wird während dem 
Einschalten auf den Touchscreen gedrückt, wird die LCD-Anzeige mit 
Zeichen vollgeschrieben und man kann durch das berühren (horizontal) den 
Kontrast einstellen. Mit einen Druck auf den unteren Drittel des 
Displays wird die Kontrasteinstellung verlassen.

Ich Packe hier den Code mit den Layoutdaten im Zip mit an, auch wenn der 
Code noch nicht 'Salonfähig' ist; er Funktioniert aber!

Ach so.. jeder Druck eines Objektes der Seite ermöglicht das Aufrufen 
einer Definierten Funktion. Damit kann man z.B. auf ein 'Auf/AB' mit 
eigenen Funktionen reagieren.

ich hoffe das das regt an damit was anzufangen ;-)

bye woodym

von Christoph B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich finde es klasse, wie lange dieses Thema konsequent verfolgt wird.
Ich bin Programmierer, aber Elektronik Laie und bin ueber den Post hier 
gestolpert weil ich die CRT Roehre meines Kompakt Macs gegen ein LCD 
austauschen moechte. Das Videosignal ist im Anhang dargestellt.
Nun lese ich hier "...aber 45Hz sind auf den Displays durchaus noch
machbar...." - das Macsignal hat einen von nur 15Mhz.
Mein Ihr, das ich die hier beschriebene Ansteuerung fuer mein Vorhaben 
benutzen koennte?

von woodym (Gast)


Lesenswert?

hallo Christoph,

leider muß ich dich enttäuschen. Zum einen haben die 45 Hz nichts mit 
deinen 15MHz zu tun (die 45Hz sind die Bildwiederholfrequenz die 15 MHz 
ist die Videofrequenz) und zum anderen ist dieser Kontroller auch nicht 
geeignet ein Videosignal darzustellen.

45Hz als Bildwiederholfrequenz scheint nicht viel zu sein (sieht man 
flimmern?). Bedingt durch die Art der LCD's die hier zum Einsatz kommen 
sind aber die LCD-Kristalle sehr träge. D.h. werden die Kristalle einmal 
ausgerichtet (schwarz oder weiß durch die Polarisationsfilter) braucht 
es eine nicht unerhebliche Zeit bis diese umgekehrt ausgerichtet werden 
können. Darurch ist auch bei einer geringen Bildwiederholfrequenz kein 
Flimmern zu sehen.

Man darf nicht den Fehler machen dies mit heutigen LCD's (TFT) zu 
vergleichen. Damit diese ausgerichtet bleiben ist für jeden Bildpunkt 
ein eigener Transistor zuständig und eine andere Technologie beim 
LCD-Aufbau kann verwendet werden.

Das was du suchst ist ein LCD mit einem Video-Eingang. Ob in Farbe oder 
SW kann ich aus den Unterlagen nicht erkennen. Das einfachste und 
unkomplizierteste dürfte in deinem Fall ein moderner LCD-Bildschirm sein 
der ein Videoeingang hat. Aber vorher vergleichen ob die horizontal, 
vertikale und video-Frequenz unterstützt wird. Das ganze läßt sich auch 
basteln... aber glaube mir aus eigener Erfahrung... ein fertiger 
Bildschirm ist billiger und nervenschonender. Investiere die ersparte 
Zeit dann lieber in ein schönes Softwareprojekt ;-).


Übringens Softwareprojekt.... wie wäre es für das Menüsystem ein 
Konfigurationssoftware zu machen... grafisch schibt man sich die Seiten 
zusammen und bekommt dann als ergebnis eine Definitionsdatei die direkt 
in ein Projekt eingebunden werden kann.

bye woodym

von Florian L. (jesus)


Lesenswert?

Hallo,

durch euere tollen Projekte habe ich lust bekommen mich an die 
Ansteuerung des TG322450 Displays von Pollin heranzuwagen.
Sebastian wäre es dir möglich, den Schaltplan oder dein Projekt ins 
Forum zu stellen oder es mir per E-Mail zuzusenden? Mir fehlen die 
Informationen, wie ich die Versorgungsspannung von ca. 23V und die 
Teilspannungen erzeugen muss.

Wie wird bei diesem Display das Touchpennel ausgelesen? Ganz einfach mit 
zwei analogen Eingängen an einem Mikrokontroller für die X- und Y-Achse?

mfg Florian

von Alessandro M. (alez)


Angehängte Dateien:

Lesenswert?

Hallo. I am testing the textmodus controller in the spare time...
...but for now I obtain only vertical lines like a barcode...
I think it could be a wiring error. Did you ever experienced something 
like this?
Danke,
Alez

von Valentin B. (nitnelav) Benutzerseite


Lesenswert?

Bei meinen Versuchen, einen Controller für das Epson-Display 
(Beitrag "LCD Display 480x360, blau, bei Pollin") zu finden, bin ich hier 
gelandet.
Was ich hier sehe sieht echt super aus.

Die reine Textdarstellung reicht mir, aber wenn ich jetzt theoretisch 
den Controller aus dem Eingangsthread nachbauen würde,würde der dann 
funktionieren?
Oder wie muss man den modifizieren?

Ich finde die Idee, einen LCD-Controller fast nur mit einem MEGA 8 zu 
bauen (besonders da ich hier noch einen herumliegen habe), einfach 
genial, bin aber in ASM nicht besonders bewandert.
Kann mir da jemand helfen?

Auch mit der Anschlussbelegung habe ich so meine Probleme.
Ich habe zwar das Datenblatt meines LCD 
(http://www.mikrocontroller.net/attachment/3883/EG9006F_NS.pdf), finde 
aber die Bezeichnungen aus dem Schaltplan nicht wieder.
Wie schließe ich das an?

Mit freundlichen Grüßen,
Valentin Buck

von heiko (Gast)


Lesenswert?

Hi woodym ,
danke für die Arbeit. :-)

Gibt es irgendwo eine Beschreibung, wie die Fonts angepasst werden 
können?

Grüßle

Heiko

von Markus F. (dr-ice)


Lesenswert?

Hallo zusammen,

(ich hoffe das liest noch jemand :-) )

ich habe das Projekt hier nachgebaut und muss sagen : SUPER ARBEIT! 
Großes Lob an alle, die mitgeholfen haben.

Jetzt hab ich aber ein kleines Problem. Ich sehe den Begrüßungstext 
problemlos, also Kontrastspannung u.s.w. alles OK denke ich.

ABER : Ich habe durchlaufende horizontale weiße Streifen auf dem 
Display. Sieht so ein bischen aus, als könnte man den Bildaufbau sehen ?

Ich benutze einen Mega8 und ein altes Optrex Display DMF50081. Kann es 
sein, dass der Mega8 zu langsam läuft ? Fuses sind OK, kann man das 
vieleicht irgendwie messen ? Mit meinem Frequenzzähler kann ich leider 
nicht am Quarz messen, dann bricht der Schwingkreis zusammen.

Danke schon mal

Markus

von David .. (volatile)


Lesenswert?

ATmega8 ist nrfnd
Poste mal Screenshot der Fuses, wenn die Stimmen muss er ja mit der 
richtigen Frequenz laufen.

von Markus F. (dr-ice)


Angehängte Dateien:

Lesenswert?

Hi,

hier die Fuses. Mittlerweile habe ich die Streifen ohne flackern auf dem 
Bild. Das habe ich durch anpassen der Quarzfrequenz im Source 
hinbekommen. Ein Bild dazu hab ich angehangen. Vieleicht hast Du eine 
Idee dazu.

Gruß Markus

von David .. (volatile)


Lesenswert?

Hm. Die Fuses sollen passen. Wie sieht dein Aufbau aus? Kerkos an den 
Quarz-Pins nach GND? Wert? (Ich nehm immer 22pF und hatte nie Probleme) 
Vielleicht zu lange Beine am Quarz und den Kerkos? Steckbrettaufbau oder 
so? Anderen Quarz getestet?

von Markus F. (dr-ice)


Lesenswert?

Hi,

erst mal danke für Deine Mühe, bin grade nochmanl alles am checken. 
Platine ist selbst geätzt, Layout sollte in Ordnung sein, am Quarz sind 
22pF. Ich habe langsam das Gefühl, dass es doch nicht die Frequenz ist, 
sondern irgendwie Daten fehlen, die zum Display gehen. Das Ganze ist 
doch schon SEHR regelmäßig, die Abstände sind gleich. Das macht mich ein 
wenig stutzig.

Gruß Markus

von David .. (volatile)


Lesenswert?

Dann schraub doch noch etwas an der Quarzfrequenz im Programm, um zu 
sehen ob das was verbessert... Das hilft vielleicht weiter

von Markus F. (dr-ice)


Angehängte Dateien:

Lesenswert?

Soooo,

Problem gelöst !!!!

Meine Versorgungsspannung beträgt gemessene 5,1V. Ich hatte die 
Brownout-Detection an.

Wenn ich die Brown-out-Detection ausschalte, dann läuft der Controller 
einwandfrei.

Hier noch ein Bild von den aktuellen Fuses.

Danke nochmal für die Tipps !

Gruß Markus

von David .. (volatile)


Lesenswert?

o0 Das bedeutet, dass deine Spannung zeitweise unter 4V faellt und 
wahrscheinlich auch hoeher als 5,15 V ist in den Peaks. Ueberpruef mal 
deine Spannungsversorgung (Oszilloskop), irgendwas laeuft da schief!

von Valentin B. (nitnelav) Benutzerseite


Lesenswert?

Abblockkondensatoren wirklich nicht vergessen?
Der Schaltregler stört wirklich extrem!

Mit freundlichen Grüßen,
Valentin Buck

von Markus F. (dr-ice)


Lesenswert?

Hallo Zusammen,

nochmal vielen Dank für die vielen Tipps, ich hab wirklich den Wald vor 
lauter Bäumen nicht gesehen. Bin wohl beruflich zu verwöhnt vom 
Schaltungsdesign, dass ich zu Hause zu schlampig werde :-)

Es geht jetzt auch mit eigeschalteter BOD. Schuld für die Sache war 
weder ein fehlender Abblock-C noch der Schaltregler. Das Problem war ein 
DC-DC-Wandler im Rest der Schaltung, der von der selben Quelle gespeist 
wird. SO einen Ripple auf der Versorgung hatte ich vorher noch nie 
gesehen. Anscheinend hat das die BOD massiv gestört.

Vorerst hab ich den DCDC getauscht, das scheint zu reichen, wenn ich ein 
Re-Design mache muss das anders gelöst werden.

Nochmal vielen Dank

Gruß Markus

von Herr U. (mxvalentine)


Lesenswert?

Mahlzeit,

hab gelesen das es auch einen Thread zu grfischen Darstellungen geben 
soll, könnte den Link jemand posten, entschuldigt falls ich den 
überlesen habe, aber der Thread hier ist sehr lang :)

und hat jemand schon eine Musterlösung  zum LCD TG322450 parat, mit 
Schaltplan, oder sogar Layout?


MfG
Florian

von Kai B. (kaib) Benutzerseite


Lesenswert?

Momentan grad mal ein paar Zeilen weiter unten

Beitrag "Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen"

von Bernd K. (viper)


Angehängte Dateien:

Lesenswert?

Hallo Florian.

Ich hab dir mal im Anhang meinen Schaltplan für die Kontrastspannung 
gepostet, damit klappts bei mir ohne Probs mit dem TG.
Für die Ansteuerung hab ich keinen Plan, hab einfach vom Nanya auf das 
TG umgestrickt.

Das schwierigste war für mich die Kontrastspannung hinzukriegen, aber 
dank der Jungs hier im Forum, war das dann auch kein grosses Problem 
mehr, nochmal Herzlichen Dank dafür.

CU
Bernd

von david (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich hab dieses Projekt schon vor einiger Zeit mit Begeisterung gelesen, 
und wollte es sofort nachbauen, hab alle Teile besorgt bin dann aber 
nicht mehr dazugekommen. Jetzt über Weihnachten, hab ich es endlich 
geschafft und es aufgebaut. Leider stellten sich auf dem Display lauter 
vertikale Linien ein.

Hat jemand eine Idee was der Grund ist ?


Danke u Gruß

david

von Meik D. (meik)


Lesenswert?

Sieht nach einem Kurzschluß bzw. vielmehr einer dauerhaften Verbindung 
zu +5V auf einer der Datenleitungen aus. Überprüfe das doch mal.

Gruß Meik

von david (Gast)


Lesenswert?

hallo,

danke für den Tipp. Hab mal alle Datenleitungen abgemacht. Es stellen 
sich dann die gleichen Streifen ein. Nachdem der Text ja eig. ordentlich 
kommt, denk ich dass das Display einen Schaden vom herumbasteln genommen 
hat.

Leider gibts das Display beim Pollin nicht mehr.

Hat jemand noch ein LCD-Modul NAN YA LTBE9T372G1K ???

Wenn ja ich würde eines abkaufen.


Viele Grüße
David

von Sebastian .. (zahlenfreak)


Lesenswert?

Das Fehlerbild deutet stark darauf hin, dass du zwischen Pin 10 und 11, 
oder vielleicht zwischen Pin 6 und 7 der Displayleitungen einen 
Kurzschluss hast (kann aber auch wo anders sein). Vor allem wenn du am 
Display selbst rumgelötet hast solltest du dir die Lötstellen nochmal 
anschaun. Da hab ich auch schon ein paar Brücken produziert.
Das Display ist höchstwahrscheinlich vollkommen in Ordnung. Schau dir 
die Lötstellen nochmal an bevor du in ein neues investierst.

Sebastian

von david (Gast)


Lesenswert?

hi,

ich hab schon alle Leitungen auf Kurzschluss überprüft, ist alles in 
Ordnung. Und wie gesagt selbst wenn ich die Datenleitungen nicht 
anschließe bekomm ich ein Bild mit lauter weißen vertikalen Linien.

Wenn jamand noch ein Display hat, wäre es super wenn er sich unter 
david_stecher@web.de melden könnte. Da ich mir für die anderen Displays 
beim Pollin eine neue Schaltung bauen müsste.

Danke. u. Gruß

von Meik D. (meik)


Lesenswert?

Kontrolliere mal die Datenleitungen direkt auf dem Display. Nicht nur 
die Lötstellen, sondern auch die Leiterbahnen bis zu dem IC direkt auf 
der Displayplatine (Lupe erforderlich!).

Gruß Meik

von david (Gast)


Lesenswert?

danke für die Tipps, hab das Display aufgemacht und alles genau nach 
Kurzschlüssen o. sonstiges durchgeschaut, ist alles in Ordnung. Es ist 
auch keine der Datenleitungen auf Dauer5V . Macht es sinn den 
Spaltentreiber zu tauschen ?

von Meik D. (meik)


Lesenswert?

Der Spaltentreiber. Hmmm... Daß der defekt ist kann schon sein, ist aber 
eher nicht so wahrscheinlich. Hast du mal einen anderen Controller 
versucht oder kannst du die Signale auf den Datenleitungen mit einem 
Oszi beobachten?

von david (Gast)


Lesenswert?

jo, controller hab ich schon mal nen anderen probiert, oszi hab ich 
auch, aber ich bekomm demnächst ein neues display, (dank des marktes 
hier im forum) dann kann ich meine schaltung nochmals überprüfen.

von Walter H. (walter10)


Lesenswert?

Hallo zusammen,
hab mir nun auch 2 Pollin WD-H3224V zugelegt aber ich komme nicht zum 
Erfolg. Ich habe das Projekt von woodym versucht aufzubauen und zwar 
ohne SMD-Prozessor sondern in DIP. Nur beim Atmega 8 bekomme ich beim 
kompilieren ständig eine Fehlermeldung (Speicher überlappt) und beim 
Atmega 168p funktioniert das kompilieren aber ich habe keinen atmega168p 
sondern nur den Atmega 168 in DIP wenn ich die Software auf den 
speichere ist das Display schwarz und der Prozessor wird heiß ???  Hat 
jemand einen Lösungsansatz, ich würde dieses Display gerne im einfachen 
Textmode mit dem Touchpad benutzen.

Gruß Walter

von david (Gast)


Angehängte Dateien:

Lesenswert?

wollt nur kurz mitteilen, das tatsächlich das Display defekt war,
danke für die Hilfe

grüße
david

von Walter H. (walter10)


Lesenswert?

Hallo nochmal,
hab jetzt mal die Schaltung von Benedik aufgebaut aber beide WD-3224V 
lassen sich nicht dazu bewegen irgendwas außer einem schwarzen Bild 
anzuzeigen. Die Kontrastspannung lässt sich nachdem ich einfach mal ein 
Poti  eingebaut habe von 0-32 V einstellen, trotzdem bekomme ich nur ein 
schwarzes Bild. Die Schaltung funktioniert für das E8504CZZ von Pollin 
tadellos sobald ich aber das WD-H3224V anschließe habe ich keine Anzeige 
mehr. Es können doch nicht beide WD-H3224V defekt sein. Was mache ich 
falsch ???

Gruß Walter

von Sebastian (Gast)


Lesenswert?

Ich denke, der Fehler wird im ATmega liegen. "Wird heiß" ist schlecht. 
Vielleicht mit der Kontrastspannung in Berührung gekommen? Verpolt? 
Layout richtig? Manche Dinge, die man als Anfängerfehler abtut, 
passieren auch den Profis hin und wieder noch.

von Sebastian (Gast)


Lesenswert?

Nachtrag: Habe erst überlesen, daß es mit dem anderen Display geht. 
Vielleicht ist die Steckerbelegung für das WD-3224V nicht ganz richtig, 
und es wird eine Leitung kurzgeschlossen, oder Kontrastspannung in den 
ATmega verschleppt.

von Walter H. (walter10)


Angehängte Dateien:

Lesenswert?

Hallo,
bin jetzt ein Stück weiter hab einfach nochmal alles neu aufgebaut und 
die Kontrastspannung extern eingespeist. Ich hab den Eindruck das 
Problem liegt an dem Display off/on Pin denn laut Schaltplan (Bendikt) 
wird der Pin ja direkt aus dem Atmel angesteuert wenn ich den Pin aber 
wie bei der Schaltung für das E8504CZZ mit ca 21 Volt versorge bekomme 
ich ab und zu eine Anzeige auf dem WD-H3224V, es kann eigentlich nicht 
mehr viel falsch sein. Siehe Foto:

von Alekzander (Gast)


Angehängte Dateien:

Lesenswert?

Kai B. schrieb:
> Zum einen nochmal 2 Bilder vom großen Optrex das lässt sich echt klasse
> auch mit invertiertem Bildinhalt nutzen.

An welchem Controller hängt denn das Optrex da? Nach Textmodus sieht es 
ja nicht aus.

von Kai B. (kaib) Benutzerseite


Lesenswert?

Hallo Alekzander

Ich habe das Display damals mit einem Epson S1D3700 Controller betrieben 
welchen ich für die Testzwecke an einem LPT Port meines Computer mit 
Freebasic angesteuert habe.

Gruß,
Kai

von Planloser (Gast)


Lesenswert?

Hi,
ich hab mal die Schaltung von Benedikt zusammengebaut, doch leider zeigt 
das Display nichts an. Ich verwende das schwarze Nanya LTBE9T372G1K, das 
laut Datenblatt eine Spannung von ca. 23V benötigt. Die Spannung liegt 
auch an, solage das Display nicht angeschlossen ist. Wenn das Display 
ageschlossen ist, wird der pnp Transistor BC327 ziemlich heiß und die 
Spannung fällt ab auf ca. die Hälfte. Den ATmega 8 hab ich definitiv 
richtig programmiert und auch die richtigen fusebits gesetzt, was ich 
auch schon 2 mal geprüft hab. Desweiteren habe ich mehrfach die 
Schaltung mit dem Schaltplan verglichen und bis auf einen verpolten Elko 
(den 22µF) hab ich nichts gefunden. Trotz Korrektur läuft nichts. Ich 
bin echt ratlos..

Könnte es vllt. an einem defekten Bauteil liegen?
Den MC34063 hab ich schon gewechselt ohne Erfolg...

Oder liegt es daran, dass ich ein Schaltnetzteil (so ein kleines wie bei 
Handy un co. üblich) von Pollin verwende, welches die Schaltung durch 
unsaubre Glättung oder ähnliches stört?

Schon mal vielen Dank für eure Hilfe!

von ich (Gast)


Lesenswert?

wenn du das schwarze Nanya hast, dann musst du auch die 
Hintergrundbeleuchtung (INVERTER) anschliessen sonst siehst du nix
mfg

von Planloser (Gast)


Lesenswert?

hab ich gemacht zeigt aber trotzdem nix an...

von Sebastian .. (zahlenfreak)


Lesenswert?

Ich hatte es mal, dass die Spannungsversorgung für den Kontrast nicht 
anlief, weil die versorgungsspannung zu langsam gestiegen ist. Wenn du 
erst das netzteil einsteckst und dann auf der niederspannungsseite erst 
einschlatest sollte das aber kein problem sein.
Wenns nichts hilft ist wohl doch ein Fehler in der Schaltung ;)

Sebastian

von Planloser (Gast)


Lesenswert?

Mhh hat leider auch nix gebracht, hab sogar auch mal mein Labornetzteil 
probiert. Da muss ich wohl die Schaltung noch mal von Grund auf 
neulöten.

von Planloser (Gast)


Lesenswert?

Okay war ein Fehler in der Schaltung jetzt läufts endlich! Nur ist mir 
noch aufgefallen das im Quelltext verison 1.2 ein Zahlendreher drin ist. 
Hab nämlich ne Baudrate von 38400 eingestellt und das Display hat nur 
Müll angezeigt. Dann is mir aufgefallen, dass das Display 34800 Baud 
anzeigt und nicht 38400. Nach dem korrigieren lief dann alles 
einwandfrei!!!

von Walter H. (walter10)


Lesenswert?

Hallo noch mal an alle,

also hab mir jetzt noch mal 2 neue WD-H3224V bei Pollin gekauft, aber es 
funktioniert bei mir einfach nicht mit der Anzeige hab mit dem Pin 
:Display ON/OFF so ziemlich alles versucht aber alle 4 Displays wollen 
nicht hab nach wie vor die Schaltung von Benedikt mit der entsprechenden 
Software könnte es vielleicht irgend ein anderes Timingproblem sein 
vielleicht ist das M Signal nicht optimal für dieses Display hoffe 
weiterhin auf eure Hilfe.

Walter10

von Gabi Mihai (Gast)


Lesenswert?

Alessandro Mauro schrieb:
> Hallo. I am testing the textmodus controller in the spare time...
> ...but for now I obtain only vertical lines like a barcode...
> I think it could be a wiring error. Did you ever experienced something
> like this?
> Danke,
> Alez

Did you find the answer?
I have the same problem!

von Achim M. (minifloat)


Angehängte Dateien:

Lesenswert?

schubs

Gabi Mihai schrieb:
> lines like a barcode

Maybe you confused something with the clock lines or the 8bit/4bit 
selection pin?

Ich versuche gerade, mir selbst einen Controller in C zu stricken.
Nach Konvertierung des Zeichensatzes etc.pp. Hab ich eine 
Hardeware-Frage:

Habe hier ein TG322450 FMCWA-10. Kann man das mit Logik-Spannung 5V 
betreiben? Im TG322450 FNCWA-10 Datenblatt steht folgendes:

Electrical absloute maximum ratings:
Logic Supply Voltage VDD-VSS | Min. -0.3V | max. 6.0V
[...]

Electrical Characteristics:
Logic Supply Voltage VDD-VSS | Min. 3.0V | Typ. 3.3V | max. 5.5V
[...]

Pin connections:
No. 1 | VDD | Logic Power input, 3.3V
[...]

Datenblatt TG322450 FNCWA-10 ist angehängt.

Ich denke, es sollten zwischen Transmissive- und 
Negative-Panel(Kennbuchstabe M/N) keine schaltungstechnischen 
Unterschiede in der Ansteuerung auftreten.

mfg/regards mf

von Joachim D. (dk3fn)


Lesenswert?

Hallo,

ich verfolge schon lange und mit großem Interesse diesen thread.
Bin aber beim Nachbau etwas ins Stocken geraten mit einem Problem.
Ich verwende das Pollin-Display WD-H3224V und bekomme Zeichen angezeigt
in denen sehr häufig eine Pixelspalte fehlt. Auch bewegt sich PC3(D3)
nicht, er liegt dauernd auf 0. Kann mir jemand sagen ob das richtig ist?
Wenn ja dann hat wohl das Display ein Problem.
Kennt jemand dieses Problem auch ?

mfG Joachim

von Walter H. (walter10)


Lesenswert?

Hallo Joachim,

wenn ich mal vermuten darf hast du wahrscheinlich das Flachbandkabel 
abgelötet und dünne Leitungen am Display angeschlossen so wie ich und 
mir ist erst unter einer starken Lupe aufgefallen das meine 
Lötverbindungen auf der Platine fehlerhaft waren. Bei dir könnte ich mir 
vorstellen du hast D3 mit GND kurzgeschlossen, sitzen ja beide direkt 
neben einander, was auch deine ständige null erklären würde. Nachdem ich 
meine Displays alle mit noch dünnerem Draht und noch weniger Lötzinn neu 
angelötet habe laufen alle Displays tadellos.

mfg
walter10

von Joachim D. (dk3fn)


Lesenswert?

Hallo Walter10,

vielen Dank für den Tip,
ich werde mir die Verschaltung daraufhin noch mal anschauen.
Allerdings kann ich das Flachbandkabel vom Display über eine
Steckverbindung trennen und bis dorthin ist die Verdrahtung
nicht so defiziel. Im Abgesteckten Zustand habe ich auch
keine Bewegung an D3.

Aber schau ma mal.

m.f.G. Joachim

von woodym (Gast)


Lesenswert?

hallo walter,

sorry das ich erst jetzt antworte... im augenblick bin ich etwas im 
stress :-).

der Prozessor darf nicht heiß werden. Das was ich als mögliche 
Fehlerquelle sehen würde ist gemnau das was du gefunden hast. Die 
Schaltung ist wirklich relativ unproblematisch, ein kurzschluss am 
display kann dir das Display und den Prozessor kosten (weiß ich aus 
erfahrung!). Auf der Dip sollte ausreichend sein. Ram ist genauso viel 
da, und Flash auch. Es kann sein das du eventuell im Makefile die 
Speicheradressen für den Dip anpassen mußt.

Was mir ein bischen komisch vorkommt... das display on/off hat kein 21V. 
das ist nur ein logic-Signal. es gibt nur zwei Spannungen die merh als 
5V haben. das ist zum einen die 21V (Laut pollinbeschreibung 32V) und 
die Spannung für die LED's die ich in reihe geschaltet habe um nicht aus 
einer hohen Spannung (12V) mit einem Linearregler 5V erzeugen muß um die 
dann für die LED's zu verwenden ... dann reicht kein 78L05 mehr weil zu 
viel verlustleistung verbruzelt werden muß.

@heiko
der Font ist wie folgt ausgebaut:
1. Zeile Char 1-n
2. Zeile Char 1-n
usw

bei 128 Zeichen bedeutet dies das zuerst immer 8 pixel der ersten Zeil 
des Char kommen. dann die ersten 8 pixel des 2. char der ersten zeile. 
bis 128 mal die erste zeile definiert wurde. dann kommt das ganze mit 
der 2. zeile
usw.

vielleicht wird es auch klarer wenn man sich ansieht wie das ganze aus 
dem speicher geholt wird (alle syncs unberücksichtigt; 40x24 zeichen; 
fontbreite 8 pix, fonthöhe 12 zeilen).

for(charzeile=0; charzeile<24; charzeile++)
{
  for(charzeichen=0; charzeichen<40; charzeichen++)
  {
    for(zeichenzeile=0; zeichenzeile<12; zeichenzeile++)
    {
      portD0-D3= *( (flash_font_basis + ((zeichenzeile<<8) | 
charram[(charzeile*24) + charzeichen]))>>4)
      portD0-D3= *( flash_font_basis + ((zeichenzeile<<8) | 
charram[(charzeile*24) + charzeichen]))
    }
  }
}

die ganze berechnung des pointers wird durch das getrennnte setzen von 
LByte und Hbyte sehr viel schneller.

bye woodym

von Walter H. (walter10)


Lesenswert?

Hallo woodym,

schön das du wieder da bist. Also mein drittes Pollin Display 
funktioniert tadellos im  Textmode mit Touchscreen nach Benedikts 
Schaltung und der Touchscreen Applikation AN#148 von Bascom. Auch im 
Grafikmodus mit 8 Graustufen (nach Sebastian und Benedikt) funktioniert 
das Display tadellos.
Aber auf die Idee das Display von Pollin zu benutzen hat mich dein 
Posting mit dem Anhang "lcd_text" gebracht, weil du alles in einem 
Prozessor machst, den Textmode und den Touchscreen. Aber leider habe ich 
dieses Projekt nie zum laufen bekommen:
1. Wenn ich den Sourcecode für den Atmega8 kompiliere bekomme ich eine 
Fehlermeldung das der Ram Speicher nicht reicht bzw. sich mit einer 
anderen Sache überlappt. (Meine C-Erfahrungen sind leider noch nicht 
ausreichend um den Fehler zu beheben).
2. Wenn ich den Sourcecode auf den Atmega168 kompiliere bekomme ich zwar 
einen Hexfile aber es tut sich nichts auf dem Display als Anmerkung ich 
benutzte keine SMD Bausteine sondern nur dir DIL-Typen.
Ich habe die Schaltung so aufgebaut wie in deinem Schaltplan angegeben, 
allerdings nur mit den DIL-Prozessoren. Hast du vielleicht einen Tip für 
mich oder eine Lösung für den Atmega8 im DIL Gehäuse

mfg
walter10

von Peter (Gast)


Lesenswert?

Eine Frage an die Profis.

Ich habe hier ein LCD TLX-1241 (480x128 4_Datenbits). Dieses würde ich 
gerne mit meinem kleinen Computer Z86 clone (UB8830 8MHz) bedienen. Wäre 
das möglich? Gibt es eventuell fertige routinen für den Prozessor?

von Sebastian G. (gilly) Benutzerseite


Lesenswert?

Hi,

ich würde gern, den hier vorgestellten Controller nachbaun um damit ein 
wenig zu experimentieren. Welchen Display könnte ich dafür nehmen, die 
meisten von Pollin sind ja nicht mehr lieferbar und für das Sharp 
bräuchte ich ja den passenden Steckverbinder, der mich ersten fast 
soviel wie das Display selbst kostet und mich beim Löten wohl noch etwas 
überfordert (SMD).

Kennt da jemand ein passendes aktuell zubestellendes Display?

Gruß
Sebastian

von Kai B. (kaib) Benutzerseite


Lesenswert?

Hallo Sebastian

eventuell könnte das 120 506 von Pollin noch interessant sein.
Hier könntest du eventuell das Folienkabel durch feines Flachbandkabel 
oder Drähte ersetzten
http://www.mikrocontroller.net/attachment/63617/wd_h3224V_bl.jpg

MfG Kai

von Matthias S. (mat-sche)


Lesenswert?

Hallo Kai,

beim Überschauen der Beiträge habe ich gesehen, dass Du das Display 
(letzter Beitrag) erfolgreich zum Laufen bekommen hast. Da es ein langer 
Beitrag ist, könntest Du noch einmal zu diesem Beitrag den aktuellsten 
laufenden Code zu dem von Dir vorgeschlagenden Display posten? Wie 
funktioniert eigentlich dann die Datenübergabe, ich weiß über RS232, mir 
geht es um die Befehle. Also wie kann ich in eine bestimmte Zeile einen 
bestimmten Text schreiben.
Vielen Dank MAT

von Kai B. (kaib) Benutzerseite


Lesenswert?

Hallo Matthias

mit einem Aktuellen Code kann ich dir leider nicht weiter helfen da ich 
diese Schaltung bisher nur einmal aufgebaut habe und das war mal ganz am 
Anfang. Ich nutze bisher den s1d13700. Aber soviel ich weiß müssen die 
Steuerbefehle (unterer Teil der ASCII Zeichen) direkt gesendet werden 
also nicht als Zahlen gesendet werden.

Die Befehlsliste 
http://www.mikrocontroller.net/attachment/34192/lcdcon_320240_mega8.pdf

Hier steht zum Positionieren muss das Zeichen 17 und als Zeichen dann 
die Position geschickt werden.

Aber in wie weit das noch aktuell ist kann ich leider nicht sagen.
Bei so Monster Threads geht ein scheinbar aktueller SW Stand schnell 
unter.
1
putchar(17);
2
putchar(5);
3
putchar(10);
4
5
void putchar(uint8_t c)
6
{
7
... Byte auf Schnittstelle ausgeben ...
8
}


MfG Kai

von Rolf (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

seit kurzer Zeit bin ich in dem Besitz von zwei WINTEK HD-H3224V die ich 
gerne ansteuern möchte. Die letzten Wochenenden suchte ich nach einer 
Dokumentation für die korrekte Ansteuerung der Steuersignale und ihrer 
zeitlichen Abfolge.

Auf meiner Suche konnte ich nur diese beiden Dokumentationen 
finden(Link: 
http://www.glyn.de/data/glyn/media/doc/APP44_DOTMATRIX_LCD_ONM16C.pdf 
und Anhang).

Ich habe versucht das Display nach der Dokumentation (Link) für einen 
Testbetrieb zum laufen zu bekommen (siehe main.c als Anhang), leider 
erfolgt nur ab und zu ein volles beschreiben des Displays, egal wie 
viele Zeilen/ Spalten ich beschreiben möchte, welches nach ca. 5 
Sekunden wieder verblast.

Ich kann mir nicht erklären woran es genau liegt, weshalb ich für jede 
Dokumentation/ Hilfe, die die Steuersignalabfolge beschreibt dankbar 
wäre.

Ich habe auch schon versucht das ganze testweise über das Projekt von 
WOODYM zum laufen zu bekommen, leider wie bereits weiter oben schon 
beschrieben wurde meldet der Compiler für den Atmega8, das der Speicher 
nicht ausreicht.

Vielen Dank,
Rolf.

von Nachbauer (Gast)


Lesenswert?

Ahoy,

ich habe mich auch mal daran gemacht, für das LCD-Modul WINTEK 
WD-H3224V, welches noch bei Pollin erhältlich war, Benedikts Platine 
aufzubauen.
Da die Kontrastspannung für dieses Display abweicht, habe ich den 
entsprechenden Wandler nach Matthias Reichelts Schaltung aufgebaut.

(siehe hier: Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus" )

Als ich dann vor der kompletten Bestückung der Sockel noch einmal zur 
Sicherheit alles durchgemessen habe, fiel mir jedoch auf, dass der 
MC34063 nur die 5V Eingangsstrom an Vout liefert und nicht die 
erwünschten 21V.

Daraufhin habe ich die entsprechende Bestückung noch einmal genau 
kontrolliert und durchgemessen, konnte aber keinen (Bestücktungs-)Fehler 
entdecken.

Was mich jedoch in Matthias' Schaltung (s.o.) stutzig machte, war, dass 
er für R1 und R2 gleich grosse Widerstände (jeweils 4.7k) verwendet hat.
Kann das überhaupt sein ?
Ich habe mir das entsprechende Design-Tool für den Aufbau eines MC34063 
auch noch einmal angesehen und dort ein paar Werte durchgespielt -- es 
kamen in jeder Konfiguration stets Werte heraus, bei denen sich R1 und 
R2 deutlich unterschieden, was, so weit es mir mein laienhaftes 
Verständnis der Materie erlaubt (ich bin nicht vom Fach) auch sinniger 
erschien.

Mag sich vielleicht einer der erfahreneren User hier Matthias' 
Schaltplan für den MC34063 noch einmal genau ansehen und mich durch 
einen entsprechenden Hinweis erleuchten, wo der Fehler liegen mag ?


Gruss,

der Nachbauer

--- Hinweis:

Den in Matthias' Schaltplan nicht näher angegebenen C0 habe ich mit 
470µF bestückt, ausserdem zwischen Vin und Vcc des MC34063 einen C mit 
100µF vor die Masse geschaltet. Für den Ct habe ich einen Kerko mit 1.2 
nF verwendet.

von Ralf-Peter G. (ralfpeter)


Angehängte Dateien:

Lesenswert?

Hallo Nachbauer,

im Anhang mal 2 Versionen welche bei mir tatellos laufen. Eine mit, eine 
ohne eigene Stromversorgung.

mfg

Grelli

von Felix H. (masterq)


Lesenswert?

Hallo zusammen,
ich habe eine Frage des bezüglich des Assembler Codes für die Display 
Ansteuerung.

Und zwar geht es um folgenden Auszug aus dem irq zur Ausgabe einer 
Zeile:
1
  sbis PORTB, M
2
  sbi PORTB, M
3
  sbic PINB, M
4
  cbi PORTB, M

Müsste das nicht so aussehen:
1
  sbis PINB, M
2
  sbi PORTB, M
3
  sbic PINB, M
4
  cbi PORTB, M

Wenn nicht würde ich mich freuen wenn es mir jemand begründen könnte.

Vielen Dank

Felix

von Nachbauer (Gast)


Lesenswert?

Hey Grelli,

lieben Dank für die beiden Schaltpläne.

Als ich mir das angesehen habe, war meine Welt wieder in Ordnung.
Ich bin zwar noch nicht dazu gekommen, meinen Schaltungsaufbau 
dementsprechend zu ändern, aber Deine Schaltung ist dann auch für mich 
wieder verständlich.

Ich habe keine Ahnung, was Matthias Reichelt da bei seinem 
Schaltungsaufbau gemacht hat, aber lt. Datenblatt zum MC34063 würden da 
im Idealfalle dann 2.5V heraus kommen ...
(Was aber nicht passieren wird, da der MC durch den gigantischen Rsc 
sowieso nicht mehr anständig schalten dürfte.)


Herzlichen Dank noch einmal für die Hilfe,

Euer Nachbauer

von peter (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe hier ein Display. 480x128 TLX-1241.
Was muß ich am code verändern um es korrekt anzusteuern?

von frage (Gast)


Lesenswert?

kurze Frage.  Das Display WG320240A-TML-V müsste auch funktionieren 
oder?

von Kai B. (kaib) Benutzerseite


Lesenswert?

Ja das Display müsste eigentlich auch mit der Schaltung funktionieren.
Die nötigen Pins sind ja alle vorhanden.
MfG Kai

von frage (Gast)


Lesenswert?

da brauch ich nen inverter für die hintergrundbeleuchtung oder? wo krieg 
ich günstig einen?

von Kai B. (kaib) Benutzerseite


Lesenswert?

Ähm ja wenn wirklich dein angegebener Typ ist dann hast du da LEDs als 
Hintergrundbeleuchtung drin. Und die Negative Versorgung erzeugt das 
Ding auch schon.

von Olli (Gast)


Lesenswert?

Hat schon jemand den ASM-Code für den Mega8 von Benedikt in C übersetzt,
 und ist so freundlich den hier zu Posten.

Olli

von Steffen H. (avrsteffen)


Angehängte Dateien:

Lesenswert?

Hallo Benedikt,

Minimaler Bauteileaufwand bei maximalem Erfolg! DAs nenn ich mal ein 
gelungenes Projekt. Aber so kennt man dich eben.

Dafür ein großes Danke!


Ich hab mal noch den TWI mit eigebaut um auch per I2C Daten an das 
Display zu senden. Dafür ist die Baudrateneinstellung für 1200 Baud 
weggefallen. Also bei "000" -> TWI enable.
Hab den Code und das Hex mal mit angehangen. Alles im Orginal + TWI ohne 
meine geänderte Pinbelegung.

-> geänderte Pinbelegung???

>>Was mir aufgefallen ist:
Der mega8 lässt sich in deiner Orginalbeschaltung nicht im Betrieb per 
ISP proggen. Ist das so gewollt? Ich persönlich habe die Pins für CP, 
LOAD, FRAME, M alle auf PORTD verlegt. ON/OFF auf PB0, und schon ist die 
ISP Schnittstelle frei.

Gruß
Steffen

von Steffen H. (avrsteffen)


Lesenswert?

Hallo,

Ich mir mal so überlegt, ob man mit einem ATmega1284P-PU (gibt es bei 
Pollin) nicht sogar den LCD-8Graustufen_Grafikcontroller implementieren 
könnte.

Der ATmega1284P-PU hat intern 16kByte RAM !!!

Damit könnte einiges an Hardware des LCD-8Graustufen_Grafikcontroller 
wegfallen und der Aufbau sich ähnlich einfach gestalten wie hier dieser 
LCD-Text_Controller.

Was meint ihr??

von Edgar S. (fesch)


Lesenswert?

Steffen H. schrieb:
> Ich mir mal so überlegt, ob man mit einem ATmega1284P-PU (gibt es bei
> Pollin) nicht sogar den LCD-8Graustufen_Grafikcontroller implementieren
> könnte.
>
> Der ATmega1284P-PU hat intern 16kByte RAM !!!
>
> Damit könnte einiges an Hardware des LCD-8Graustufen_Grafikcontroller
> wegfallen und der Aufbau sich ähnlich einfach gestalten wie hier dieser
> LCD-Text_Controller.

Hallo Steffen,
bist Du mit Deinen Überlegungen zum ATMega1284P-PU schon weitergekommen?
Dieser hat zwar 16kByte RAM, aber ist meines Wissens auch nicht für 
externen Speicher konzipiert.
Mich würde im Augenblick eine aufwandsarme (Hardware) Textversion 
interessieren, allerdings wenn möglich mit VT100 kompatiblem Protokoll.
Ich bekomme morgen meine 1284'er und werden dann mal starten.
Gruss Edgar

von Steffen H. (avrsteffen)


Lesenswert?

Hallo Edgar

Als Textcontroller schon viel zu Groß aber wenn man bedenkt, dass es bei 
ATMEL nichts zwischen 4k RAM und 16k RAM gibt!

Ich betreibe ja den hiesigen Textcontroller (ATmega8) mit TWI 
Schnittstelle. Und ich muss leider feststellen, dass der FIFO Buffer 
schnell voll ist. Deswegen wäre ein größerer RAM schon sehr von Vorteil.

Ich habe übrigens nicht weiter an der Idee gearbeitet. War ja auch nur 
so ein Gedanke den mir Sebastian schnell wieder ausgeredet hat.
Siehe:
Beitrag "Re: Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen"

Gruß Steffen

von Philipp E. (pcsquirrel)


Lesenswert?

Hallo,

ich beobachte diesen Thread schon seit langem, und genauso lange wollte 
ich diesen bzw. einen seiner "Geschwister-Controller" hier im Forum 
nachbauen.

Da ich wohl nicht dazu kommen werde verkauf ich nun meine LC-Displays 
mit Touchpanel. Vielleicht kann sie ja jemand von euch ehernvoll in 
Betrieb nehmen.

Hab sie im Markt eingestellt 
(Beitrag "Verschenke/Verkaufe Touch LC-Displays, Textoolsockel, div. USB und Audio IC´s").

Philipp


@Moderator: ich hoffe diese "Werbung" ist erlaubt, sonst bitte löschen.

von Chris (Gast)


Lesenswert?

Hallo allerseits,

weiß der ein oder andere von euch vlt welche FFC Buchse die Passende für 
das WD-H3224 von Pollin ist? Und am besten noch ob es die in einer 
Eagle- *.lib schon gibt. Schätzen würde ich jetzt einen 0,3mm Pitch aber 
ich kenn mich mit den Dingern gar nicht aus und da die nicht gerade 
billig sind wie ich schon rausgefunden habe wäre es schon gut die 
passende zu bestellen.

LG Chris

von Ralf-Peter G. (ralfpeter)


Angehängte Dateien:

Lesenswert?

Hallo Chris,

im Anhang, so hoffe ich, auf die Schnelle die Buchse.

Grelli

von Chris (Gast)


Lesenswert?

Hallo Grelli,

danke für die schnelle Antwort. Habe die Buchse gefunden.
Sind es also doch 0.5mm... ist aber auch echt doof nach zu messen.
Da bin ich ja froh das ich nicht die 0.3er bestellt habe wie erst 
angenommen.

LG Chris

von Torkelchen (Gast)


Lesenswert?

Hallo!

Und zwar ich möchte für mein Projekt das Wintek WD-3224V Display 
(Pollin)
nutzen und hätte da mal par Fragen:

1.) Wäre es auch möglich statt des Atmega Controllers ein 8051-Derivat
    wie den AT89LP51ED2 ( http://www.atmel.com/devices/AT89LP51ED2.aspx 
)
    zu nehmen, da ich bis jetzt nur mit 8051 Kompatible gewerkelt habe ?

2.) Wo krieg ich den AT89LP51ED2 überhaupt noch her, weil bei 
Conrad,Polli,
    oder Farnel ist er nicht gelistet

3.) Gibt es sonst alternativen zu Atmel 8051-Core single cycle 
Controller
    von anderen Firmen evtl. ?

Danke, das wär erstma alles!

von Sebastian .. (zahlenfreak)


Lesenswert?

Ganz ehrlich... solche Fragen sind ermüdend.
Noch im allerersten Absatz des ersten Postings dieses Threads heißt es:

Benedikt K. schrieb:
> Für eine hohe Geschwindigkeit ist die
> Software in Assembler geschrieben.

Also nein, die Software läuft nicht auf einem 8051, egal ob von Atmel 
oder nicht. Die haben einen anderen Befehlssatz.
Natürlich könnte man das alles portieren und vermutlich findet sich auch 
ein 8051 dessen Hardware ausreicht. Da ich aber von 8051 keine ahnung 
hab kann ich das nicht weiter beurteilen.

Der Controller lässt sich doch wunderbar über UART ansteuern. Es reicht 
also, wenn du einmalig das hex in den AVR flashen kannst. Danach musst 
du dich nie wieder mit AVRs beschäftigen.

Gruß, Sebastian

von Torkelchen (Gast)


Lesenswert?

Ja ist mir schon klar das die beiden uC nicht Codekompatibel sind und 
klar könnte ich einfach mir ein AVR kaufen diesen fertigen Code 
einspielen...
und was hab ich davon lerntechnisch usw. ? Das macht doch kein spass 
einfach zu kopieren, da kann ich ja auch gleich im Laden gehen mir ein 
feritges Display kaufen (viel zu teuer)... toll :(
Ich find die Arbeit von Benedikt wirklich sehr bewundernswert aber ich 
möchte eigene Erfahrung sammeln und spass dabei haben.

War schon schwierig genug aus diesem und anderen Threads erstmal die 
Funktionsweise der Displayanschlüsse etc. rauszukriegen, bei so vielen 
Posts
und daher möchte ich dieses Wissen selbstständig in mein Projekt 
reinbringen!

Aber die Frage bleibt immer noch: Ist es mit dem Atmel "8051" (siehe 
oben)
möglich dieses zu machen und wenn ja woher krieg ich den her ?

von David .. (volatile)


Lesenswert?

Torkelchen schrieb:

> möchte eigene Erfahrung sammeln und spass dabei haben.
> und daher möchte ich dieses Wissen selbstständig in mein Projekt

> Aber die Frage bleibt immer noch: Ist es mit dem Atmel "8051" (siehe
> oben)
> möglich dieses zu machen und wenn ja woher krieg ich den her ?

DU willst doch selbststaendig - dann mach auch!
Aber nein, du liest nichtmal was im Forum steht. Gibts nichtmal Atmel 
8051 in eine Suchmaschine ein. Schaust dir nicht an, was der Quelltext 
macht, vergleichst nicht den verwendeten AVR und den 8051 deiner Wahl, 
usw...

von Torkelchen (Gast)


Lesenswert?

Wenn ich mir nicht diesen Thread und par andere durchgelesen hätte, 
wüsste ich bis heute nicht wie ich das Display anzusteuern hätte...
Und ja ich hab mir den Quelltext angeschaut aber halt nur den Teil der 
mir wichtig war -> die Displayansteuerung. Die serielle Geschichte, 
Kommandos etc. will ich selbst gestallten usw.

Es war schon Arbeit genug mich extra mit AVR zu beschäftigen extra für 
dieses Projekt, zu mal ich zuvor nichts mit AVR zutun gehabt hatte. Aber 
ich find die 8051 besser...

Und vom timing her müßte der AT89LP51ED2 doch passen oder lieg ich da 
falsch?

von bomba (Gast)


Lesenswert?

Hallo woodym,

ich probiere gerade dein Programm zu kompilieren. Es klappt aber nicht. 
Es wird mir folgendes Fehler angezeigt.

../lcd.c:478: error: expected identifier or '(' before '{' token

Am Sourcecode habe ich nichts verändert. Ich habe lediglich ein neues 
Projekt (Atmega168) erstellt und die Dateien eingefügt.
Ich verwende den WD-H3224V Display.

Über einen Antwort würde ich mich freuen.

MfG

von Chris (Gast)


Lesenswert?

Mini Float schrieb:

> FLM:
> _F_irst _L_ine _M_ark, wird vor der steigenden Flanke von
> CL1(Zeilentakt) in der ersten Zeile gesetzt und nach der fallenden
> Flanke von CL1(Zeilentakt) in der ersten Zeile gelöscht. Danach werden
> die 4- oder 8-Bit-Pixeldaten mit CL2 reingetaktet, wie in jeder
> folgenden Zeile.
>
> M:
> Signal, was die Polarität der Ansteuerung der LCD-Segmente invertiert.
> Soll bei der fallenden Flanke von FLM getoggelt werden. Flüssigkristalle
> nehmen langfristig Schaden, wenn sie nicht im Mittel mit AC angesteuert
> werden, hab ich mal irgendwo gehört.
>
> Load:
> Lädt jeweils 4 oder 8 Bit von der parallelen Schnittstelle ind den
> Displaytrieber. Entspricht dem CL2(4- oder 8-Pixel-Takt) im angehängten
> PDF des TG322Dingsda.
>
> CP:
> Ist das CL1(Zeilentakt)-Signal im angehängten PDF des TG322Dingsda.


Auch meinen Dank für die Erklärung....

nun zum verständnis, da ich aus dem Timing Diagram noch nicht ganz
schlau werde. Und die bisher gefundene Assambler Software nicht
verstehe... :(

Ich Takte also erst "CL1" bis ich eins vor der Gewünschten zeile bin
(springt der genau 1 Pixel oder 4, da ich im 4Bit Mode arbeite),setze
dann "FLM" (auch FRAME bei Wintek genannt), takte noch einmal mit "CL1"
und setze auch "FLM" wieder low und toggle "M". Jetzt Setze ich meine
Bits an D0..D3 und lade sie mit einem Takt an "CL2", dann wieder Daten
anlegen, "CL2" takten usw. bis das Display voll ist oder keine Daten
mehr kommen.

Im Wintek Datenblatt welches mir vorliegt steht für:

CL2(XCK) --> Clock Pulse for Segment shift register
CL1 (LP) --> Data latch

Stimmt das mit der obigen beschreibung überein?
Oder sind die Funktionen hier vertauscht?

Habe das Display übrigens heute in Betrieb genommen und alle Pixel waren
gesetzt (Controller ist noch ohne SW) ist das ein gutes Zeichen?
Ist das wie die Werkseitige Initialisierung der HD77480 Familien?

LG

Chris

von Achim M. (minifloat)


Lesenswert?

Chris schrieb:
> springt der genau 1 Pixel oder 4, da ich im 4Bit Mode arbeite

Der geht immer 4 Pixel im 4bit-Modus weiter, 8 Pixel im 8bit-Modus.

FLM hatte ich bei meinem Bastelcode vor Beginn der ersten Zeile 
gesetzt, nach Ende der ersten Zeile wieder gelöscht und mit dann M 
getoggelt.

mfg mf

von Christopher U. (quadratus)


Lesenswert?

Juhuuuu ich hab ne linie aufm display.

Danke.

von Chris (Gast)


Lesenswert?

Hallo allerseits,
gleich mal die nächste frage:

kann ich mit LOAD bzw. mit CP in Y/X-Richtung springen?

also erst n-mal LOAD und n-mal CP, dann FRAME_hi/LOAD_h/low/FRAME_low.

Oder muss ich immer das ganze Display neu beschreiben?

LG Chris.

von Chris (Gast)


Lesenswert?

Hallo allerseits,

Habe jetzt das Display zum laufen bekommen,
nachdem mir zwischendrinn die Festplatte verreckt war und dadurch auch 
alle Projektdaten flöten gegangen sind.
Habe mir jetzt alle nötigen funktionen zusammengeklimpert die ich für 
zwei Textgrößen incl. invertierung brauche.

Jetzt habe ich momentan die Funktion zum beschreiben des Display in:
1
int main(void)
2
{
3
4
    while(1)
5
    {
6
      WDH3224_LOAD_STACK(); //Von Dis.Stack --> auf Display
7
    }
8
}
9
10
ISR(TIMER0_OVF_vect)
11
{  
12
  WDH3224_CONTROL_PORT ^=(1<<WDH3224_M); //M-Pin toggle ca. 400Hz  
13
}
14
15
ISR(TIMER1_COMPA_vect)
16
{
17
  cli();
18
  //WDH3224_LOAD_STACK();
19
  TCNT1 = 0;
20
  OCR1A   = 32767;  //TimerCounter1 Compare Register laden 
21
                          //32767/(F_CPU(8MHz)/Prescaler(8)) = 0,032s
22
  sei();
23
}

Sobald ich jetzt WDH3224_LOAD_STACK() in eine ISR verschiebe 
funktioniert das ganze nicht mehr obwohl ich die ISR durch cli() und 
sei() verriegel,
so das diese nicht unterbrochen wird. Das die Interrupts abgeschaltet 
werden kann man an M gut erkennen, da dort immer wieder für 30ms 
unterbrechungen drin sind. Woran kann das liegen? Ich möchte ja nicht 
die while(1) Schleife komplett durchlaufen und dann erst das Display 
refreshen da das evtl schon zu lang sein kann wenn ich z.B. meine 
SD-Card auslese.

Vlt. hat ja jemand eine Idee an was es liegen kann.
hier noch mal die wichtigsten Funktionen fürs Display:
1
unsigned  char LCD_STACK[240][40]= {};
2
void WDH3224_INIT()  //alle nötigen Register für PORTs und Timer setzen
3
{
4
  WDH3224_CONTROL_DDR |= (1<<PC0) | (1<<PC1) 
5
                               |(1<<PC2)|(1<<PC3) | (1<<PC4);
6
  WDH3224_DATA_DDR  |= 0x0F;
7
  
8
  WDH3224_DISPOFF_SET_HIGH;
9
  WDH3224_FRAME_SET_LOW;
10
  WDH3224_M_SET_LOW;
11
  WDH3224_LOAD_SET_LOW;
12
  WDH3224_CLOCK_SET_HIGH;
13
  
14
  //Timer starten und Interrupt erlauben
15
  SREG   |= 0x80;    //Interrup global freigeben
16
  TCCR1B |= 0x02;    //Timer starte, Vorteiler auf 1
17
  TCCR0B |= 0x03;    //Timer starten, Vorteiler 64
18
  TIMSK0 |= 0x01;    //TimerCounter Interrupt Overflow Enable
19
  TIMSK1 |= 0x02;    //TimerCounter CompareA Interrupt Enable
20
  OCR1A   = 32760;  //TimerCounter1 Compare Register laden 32767/(F_CPU/Prescaler) = 0,032 S / 32mS
21
  
22
}
23
void WDH3224_LOAD_STACK()
24
{
25
  
26
  WDH3224_FRAME_SET_HIGH;
27
  
28
  WDH3224_LOAD_SET_HIGH;
29
  WDH3224_M_SET_HIGH;
30
  WDH3224_LOAD_SET_LOW;
31
  
32
  for(int i=0;i<40;i++)      //da das Array aus [240][40] besteht bis 40 zählen
33
  {
34
    WDH3224_CLOCK_SET_HIGH;
35
    WDH3224_DATA_PORT = LCD_STACK[0][i] >> 4;  //da 4 Bit Bus, Bit shift um MSB zu bekommen
36
    WDH3224_CLOCK_SET_LOW;            //Daten laden
37
    
38
    WDH3224_CLOCK_SET_HIGH;
39
    WDH3224_DATA_PORT = LCD_STACK[0][i];  // kein Bit shift für LSB
40
    WDH3224_CLOCK_SET_LOW;            //Daten laden
41
  }
42
  
43
  WDH3224_FRAME_SET_LOW;
44
  
45
  for (int n=1;n<240;n++)  //nun das ganze für die übrigen 239 Zeilen
46
  {
47
    WDH3224_LOAD_SET_HIGH;
48
    WDH3224_LOAD_SET_LOW;
49
    
50
    for (int i=0;i<40;i++)
51
    {
52
      WDH3224_CLOCK_SET_HIGH;
53
      WDH3224_DATA_PORT = LCD_STACK[n][i] >> 4;
54
      WDH3224_CLOCK_SET_LOW;
55
      
56
      WDH3224_CLOCK_SET_HIGH;
57
      WDH3224_DATA_PORT = LCD_STACK[n][i];
58
      WDH3224_CLOCK_SET_LOW;
59
    }
60
  }
61
  
62
  WDH3224_M_SET_LOW;
63
  
64
}

LG Chris

von Alessandro M. (alez)


Lesenswert?

Hallo!
About the WINTEK WD-H3224V, I suppose the 21V power supply must be 
current regulated at few milliamperes. Is that right?
If it is, I have baked my wintek. I want to WARN others who attempt to 
experiment with it.

von Sebastian E. (s-engel)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich habe nun die neuesten Sourcen genommen und das HEX File direkt in 
den Mega168 geflasht.
Das Display (SP14Q001-A1) lief auf Anhieb.

Vielen Dank dafür!

Nur bei einer Sache bin ich mir nicht ganz sicher:
Ich habe zum test den Controller mit dem PC gefüttert.
Einzelkommandos (z.B. "12") klappen auf sofort.
Aber wie genau müssen die Parameter übertragen werden?

Also z.B. Zeileninvertierung Rückgängig "31 1 0"
In welchem Format muss das übertragen werden?
Also "31" als Binärwert oder ASCII codiert?
" " als ASCII Leerzeichen?

Gruß!
 Sebastian

von Steffen H. (avrsteffen)


Lesenswert?

Sebastian Engel schrieb:
> Also "31" als Binärwert oder ASCII codiert?
Ich denke die 31 ist hier ein dezimal Wert. Also kannst du "31"decimal 
oder auch "1F"hex übertragen.

Steffen

von No Y. (noy)


Lesenswert?

Kann man mal die aktuellen Codes ins Wiki stellen?

Ich kann kein Assembler (AVR).

Benutze nur PIC und ARM.
Würde daher gerne den aktuellen Code haben, den ich auch benutzen kann.

Bzw. gibt es eine Codeversion mit reinem C-Code?
Den dürfte ich wohl dann auch selber Porten können.

von Bernhard S. (bernhard)


Lesenswert?

@alle

das Assemblerprogramm "lcdtext.asm" konnte ich an einem Display 
erfolgreich testen, alle Zeichen werden korrekt dargestellt.

Benedikt, großes Lob !

Kann es sein, dass bei den Display-Datenbytes immer zuerst das 
High-Nibble gesendet werden muss?

Bei der Darstellung eines Bitmusters ist mir diese Erscheinung 
aufgefallen.


------------------------------------
Falsches Bitmuster:

ldi tempi,0b10000101 ; BIT-MUSTER


out PORTB, clockH  ; PCLK H
out PORTC, tempi  ; Low Nibble ausgeben
.
.

------------------------------------
korrektes Bimuster:

ldi tempi,0b10000101 ; BIT-MUSTER
swap tempi           ;  NIBBLES-Tausch

out PORTB, clockH  ; PCLK H
out PORTC, tempi  ; HIGH Nibble ausgeben
.
.



Bernhard

von Birger Z. (nohelp)


Angehängte Dateien:

Lesenswert?

Bei Pollin gibt's mal wieder ein interessantes Display NAN YA 
LMCDBS078C. Hat das schon jemand zum Laufen bekommen? Ist die 
LCD-Spannung Vee wirklich positiv zu verstehen?

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.