Datum:
|
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.
Datum:
|
Hier noch ein Foto von dem Aufbau. Wie man sieht: Auf der Platine ist wirklich fast nichts drauf.
Datum:
|
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
Datum:
|
Kannst Du Bezugsquellen und Datenblätter für das Display nennen?
Datum:
|
Das sieht ja schon mal sehr vielversprechend aus. Der genaue Displaytyp würde mich auch interessieren.
Datum:
|
das sollten alles passende displays sein http://www.pollin.de/shop/detail.php?pg=OA==&a=NDM0OTc4OTk=&w=OTg4OTk4&ts=0 http://www.pollin.de/shop/detail.php?pg=OA==&a=ODI1OTc4OTk=&w=OTg4OTk4&ts=0 http://www.pollin.de/shop/detail.php?pg=OA==&a=OTM1OTc4OTk=&w=OTg4OTk4&ts=20 http://www.pollin.de/shop/detail.php?pg=OA==&a=MTg2OTc4OTk=&w=OTg4OTk4&ts=20 Gruss Numen
Datum:
|
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
Datum:
|
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.
Datum:
|
@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
Datum:
|
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
Datum:
|
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.
Datum:
|
nein, 4 K EEPROM haben die ATmega1280 oder 2560, damit sind dann aber wie gesagt 2 Bit pro Pixel möglich.
Datum:
|
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
Datum:
|
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.
Datum:
|
der speicher ist nicht das Problem kannst du mich mal in icq kontaktieren? 199567474 Gruss Florian
Datum:
|
würdest du die software entsprechend anpassen? könnte dir dafür ein display geben. Gruss
Datum:
|
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).
Datum:
|
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
Datum:
|
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!
Datum:
|
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
Datum:
|
@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
Datum:
|
und hier noch das datenblatt
Datum:
|
Hier noch als Bild, für die nicht eagle benutzer Gruss Numen
Datum:
|
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
Datum:
|
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.
Datum:
|
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.
Datum:
|
@benedikt würdest du die software an meinen schaltplan anpassen, wenn ich dir dafür ein farb lcd gebe? Gruss Numen
Datum:
|
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.
Datum:
|
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...
Datum:
|
display voraus und bei erhalt passt du das zeug an?
Datum:
|
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...
Datum:
|
Numen B. wrote:
> display voraus und bei erhalt passt du das zeug an?
Ja, OK.
Datum:
|
gut schick mir deine adresse in icq. thx
Datum:
|
gib mir deine adresse ;) sonst reichts heute nicht mehr gruss
Datum:
|
@kaib: Könntest du das Pollin testprogramm bitte einmal hochladen? MIch würde das Winstar Display auch interessieren. Wäre echt nett.
Datum:
|
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?
Datum:
|
In der zip ist der Schaltplan enthalten: lcdcon_txt.gif
Datum:
|
Danke! Bei der Datei hatte sich bei mir immer nur der Texteditor geöffnet.
Datum:
|
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
Datum:
|
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.
Datum:
|
Ihr könnt Euch auch mal den TDK CXA-L10A anschauen. Bei Nanya heisst das Ding ADL-10A Gruss Udo
Datum:
|
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 ?
Datum:
|
Hi, also wenn du das Blaue meinst ja, das Panel hat schon einen DCDC drauf für die Negative Spannung. MfG Kai
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
Beide sollten funktionieren. Falls es zu hell/dunkel ist, kann man notfalls noch die Betriebsspannung von dem Inverter variieren.
Datum:
|
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
Datum:
|
Welche denn? Die hier: Best.Nr. 530 858 Einzeln gibt es derzeit wohl keine.
Datum:
|
Ich denke er meint diese hier: 700 637
Datum:
|
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!
Datum:
|
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.
Datum:
|
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?
Datum:
|
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?
Datum:
|
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.
Datum:
|
Dachte jemand hat das vieleicht mal ausprobiert :)
Datum:
|
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
Datum:
|
@Kai, das wäre super wenn du es mal uploaden könntest.
Datum:
|
>> 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.
Datum:
|
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
Datum:
|
Ich habe mal noch ein paar weitere Bezeichnungen hinzugefügt.
Datum:
|
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
Datum:
|
Meinst du ein Setzen des Cursors ? Das geht mit 17,Spalte,Zeile
Datum:
|
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
Datum:
|
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 ?
Datum:
|
@ 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
Datum:
|
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.
Datum:
|
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 ?
Datum:
|
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.
Datum:
|
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?
Datum:
|
Ja, das geht. Es gibt dafür auch irgendwo in dem 640x480 Thread eine Software + angepasste Schaltung für das 320x240 LCD.
Datum:
|
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
Datum:
|
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 ?
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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
Datum:
|
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
Datum:
|
Benedikt, Du hast Post. Wigbert
Datum:
|
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.
Datum:
|
Das ganze sieht dann so aus.
Datum:
|
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
Datum:
|
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 ;)
Datum:
|
@hauke da steht auch *4 ;)
Datum:
|
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...
Datum:
|
Benedikt, den AQV257 wo gibt es den? Wigbert
Datum:
|
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.
Datum:
|
@ Benedikt K.: Mit welchen Programm machst du eine Fonts ?
Datum:
|
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 )"
Datum:
|
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).
Datum:
|
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.
Datum:
|
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?
Datum:
|
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.
Datum:
|
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
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
@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
Datum:
|
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.
Datum:
|
@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
Datum:
|
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, ???).
Datum:
|
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.
Datum:
|
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.
Datum:
|
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
Datum:
|
@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
Datum:
|
Danke. Ich glaube, nun weiß ich was ich kaufen muss.
Datum:
|
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 ?
Datum:
|
Das geht nur wenn das LCD angesteuert wird (die 44780 kompatiblen haben die Ansteuerung schon mit drauf, daher geht das bei denen).
Datum:
|
@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
Datum:
|
Ja, kann man weglassen. Die Software ist nicht speziell für das LTBE9T372G1K geschrieben, andere LCDs benötigen das Signal, daher ist es drin.
Datum:
|
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
Datum:
|
Hier der Befehlssatz für den mega8.
Datum:
|
Dank Dir Benedikt, schon die m8 Version ist beeindruckend. Toll. Wechsle demnächst auf m168 über... Wigbert
Datum:
|
@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
Datum:
|
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...
Datum:
|
Ist den der Code für Area, Textmodus (0x08) und Grafilmodus (0x09) der gleiche für dieses Display?
Datum:
|
Ich weiß jetzt nicht welches 640x480 Display mit Text/Grafikumschalung du meinst.
Datum:
|
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?
Datum:
|
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.
Datum:
|
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
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
@ 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
Datum:
|
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.
Datum:
|
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
Datum:
|
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
Datum:
|
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.
Datum:
|
Hi Benedikt, damit ich es verstehe: Clockh = r4 , wo wird denn register 4 mit 1 geladen. Wigbert
Datum:
|
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.
Datum:
|
unter:
>.org OC2addr ;Bildbeginn
wer lesen kann .....
Dank Dir Benedikt
Wigbert
Datum:
|
@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
Datum:
|
Das was im RAM ist wird angezeigt. Neue Daten kann man zwischen den einzelnen Zeilen laden.
Datum:
|
hallo, was für einen inverter benötigt das display von pollin, mfg kay
Datum:
|
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
Datum:
|
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.
Datum:
|
@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
Datum:
|
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.
Datum:
|
@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
Datum:
|
hallo, also würde der inverter 700 638 dafür auch passen?? kay
Datum:
|
>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
Datum:
|
danke, so jetz gehts ans bestellen kay
Datum:
|
@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 ?
Datum:
|
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.
Datum:
|
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)
Datum:
|
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.
Datum:
|
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.
Datum:
|
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
Datum:
|
@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
Datum:
|
Ja, Seite 11, 2tes Schaltbild, anstelle Seite 10, Sorry!
Datum:
|
@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
Datum:
|
Wigbert, meinste was das erst die Zeit drauf geht wenn du mit Grafik arbeitest und du mit deine Diagramme spielst. ;)
Datum:
|
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.
Datum:
|
@ 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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
und als Richtwert 1KV/mm oder wie geht das? Noch nie gemacht. Wigbert
Datum:
|
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).
Datum:
|
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
Datum:
|
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.
Datum:
|
>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
Datum:
|
Oder es einfach nicht gemerkt bzw. nicht gerochen...
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
Ja das verstehe ich ja, ich versuch in der Font mein "A" wiederzufinden, das gelingt mir nicht. müsste doch abzuzählen gehen. Wigbert
Datum:
|
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.
Datum:
|
>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
Datum:
|
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.
Datum:
|
>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
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
danke erstmal werds nacher ausprobieren
Datum:
|
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
Datum:
|
Mess mal die Spannung am VLCD Pin. Hier sollten etwa -18V anliegen.
Datum:
|
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
Datum:
|
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.
Datum:
|
@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 ?
Datum:
|
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
Datum:
|
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.
Datum:
|
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 ?
Datum:
|
Wo steht was mehrmals im Speicher ?
Datum:
|
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 ?
Datum:
|
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.
Datum:
|
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 ?
Datum:
|
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).
Datum:
|
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 ?
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
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€
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
@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?
Datum:
|
Z ist der Pointer auf die Zeichen im Flash. ZL beinhaltet den Buchstaben und ZH die Pixelzeile + Offset der Adresse.
Datum:
|
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.
Datum:
|
Der Zeichensatz liegt an Adresse 1024: ldi ZH, 4 ; 1024Bytes CGROM Offset
Datum:
|
Ist das Fest ? Wie machst du das das der Zeichensatz bei Adresse 1024 in Flash anfängt? Must das nicht ihrgenwo festgelegt worden sein ?
Datum:
|
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.
Datum:
|
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
Datum:
|
Nein. Die Hintergrundbeleuchtung ist im Schaltplan garnicht drin. Das unterhalb ist die Erzeugung der Displayspannung. Ohne die geht garnix.
Datum:
|
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
Datum:
|
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
Datum:
|
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
Datum:
|
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
Datum:
|
@benedikt sehr schönes projekt mal wieder. muß mir auch endlich mal so ein billig display bei pollin zum basteln bestellen :-) weiter so.
Datum:
|
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
Datum:
|
@ 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
Datum:
|
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
Datum:
|
>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
Datum:
|
@ 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
Datum:
|
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.
Datum:
|
Baudrate passt, Quarz passt auch zur Einstellung in der Software ? Fusebits auf den Quarz eingestellt ?
Datum:
|
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.
Datum:
|
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 ?
Datum:
|
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
Datum:
|
Der die Baudrate ist zu hoch bei 16 MHz.Es funktionieren max. 38,4Kbaud/s.
Datum:
|
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.
Datum:
|
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.
Datum:
|
Ich habe mal mit HTERM versucht und der Effekt tritt nicht mehr ein, komisch. Danke zusammen.
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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
Datum:
|
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
Datum:
|
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
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
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?
Datum:
|
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.
Datum:
|
> 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
Datum:
|
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.
Datum:
|
> 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?
Datum:
|
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.
Datum:
|
Heiko P. wrote:
> Was verwendet Ihr denn dann als Inverter?
Eben den erwähnten Inverter von der Kaltlichtkathode von Pollin 700 638.
Datum:
|
Okay, ich werd's versuchen! Vielen Dank nochmals!! Heiko
Datum:
|
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).
Datum:
|
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.
Datum:
|
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)...
Datum:
|
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.
Datum:
|
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
Datum:
|
So 5 Ohm und kleiner sollten eigentlich auf jedenfall funktionieren. Bis 10 Ohm kann es gehn, muss aber nicht.
Datum:
|
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
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
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
Datum:
|
Mein Display ist soeben eingetroffen, wie durch ein Wunder ist es trotz der lausigen Verpackung (voellig zermatschter Karton) ganz geblieben. Moegen die Spiele beginnen!
Datum:
|
:) Negative Spannung steht
Datum:
|
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.
Datum:
|
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?
Datum:
|
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
Datum:
|
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.
Datum:
|
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.
Datum:
|
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.
Datum:
|
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
Datum:
|
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.
Datum:
|
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 ;-))
Datum:
|
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
Datum:
|
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
Datum:
|
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.)