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.
Hier noch ein Foto von dem Aufbau. Wie man sieht: Auf der Platine ist wirklich fast nichts drauf.
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
Kannst Du Bezugsquellen und Datenblätter für das Display nennen?
Das sieht ja schon mal sehr vielversprechend aus. Der genaue Displaytyp würde mich auch interessieren.
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
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
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.
@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
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
und wie wird da usb angeschlossen? über nen ft245? gruss numen
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.
nein, 4 K EEPROM haben die ATmega1280 oder 2560, damit sind dann aber wie gesagt 2 Bit pro Pixel möglich.
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
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.
der speicher ist nicht das Problem kannst du mich mal in icq kontaktieren? 199567474 Gruss Florian
würdest du die software entsprechend anpassen? könnte dir dafür ein display geben. Gruss
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).
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
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!
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
@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
Hier noch als Bild, für die nicht eagle benutzer Gruss Numen
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
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.
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.
@benedikt würdest du die software an meinen schaltplan anpassen, wenn ich dir dafür ein farb lcd gebe? Gruss Numen
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.
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...
display voraus und bei erhalt passt du das zeug an?
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...
Numen B. wrote:
> display voraus und bei erhalt passt du das zeug an?
Ja, OK.
gut schick mir deine adresse in icq. thx
gib mir deine adresse ;) sonst reichts heute nicht mehr gruss
@kaib: Könntest du das Pollin testprogramm bitte einmal hochladen? MIch würde das Winstar Display auch interessieren. Wäre echt nett.
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?
In der zip ist der Schaltplan enthalten: lcdcon_txt.gif
Danke! Bei der Datei hatte sich bei mir immer nur der Texteditor geöffnet.
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
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.
Ihr könnt Euch auch mal den TDK CXA-L10A anschauen. Bei Nanya heisst das Ding ADL-10A Gruss Udo
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 ?
Hi, also wenn du das Blaue meinst ja, das Panel hat schon einen DCDC drauf für die Negative Spannung. MfG Kai
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
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.
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
Beide sollten funktionieren. Falls es zu hell/dunkel ist, kann man notfalls noch die Betriebsspannung von dem Inverter variieren.
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
Welche denn? Die hier: Best.Nr. 530 858 Einzeln gibt es derzeit wohl keine.
Ich denke er meint diese hier: 700 637
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!
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.
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?
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?
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.
Dachte jemand hat das vieleicht mal ausprobiert :)
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
@Kai, das wäre super wenn du es mal uploaden könntest.
>> 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.
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
Ich habe mal noch ein paar weitere Bezeichnungen hinzugefügt.
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
Meinst du ein Setzen des Cursors ? Das geht mit 17,Spalte,Zeile
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
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 ?
@ 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
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.
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 ?
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.
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?
Ja, das geht. Es gibt dafür auch irgendwo in dem 640x480 Thread eine Software + angepasste Schaltung für das 320x240 LCD.
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
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 ?
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
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.
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
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
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
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.
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
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 ;)
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...
Benedikt, den AQV257 wo gibt es den? Wigbert
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.
@ Benedikt K.: Mit welchen Programm machst du eine Fonts ?
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 )"
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).
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.
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?
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.
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
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
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.
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
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.
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
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.
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
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.
@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
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.
@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
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, ???).
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.
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.
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
@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
Danke. Ich glaube, nun weiß ich was ich kaufen muss.
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 ?
Das geht nur wenn das LCD angesteuert wird (die 44780 kompatiblen haben die Ansteuerung schon mit drauf, daher geht das bei denen).
@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
Ja, kann man weglassen. Die Software ist nicht speziell für das LTBE9T372G1K geschrieben, andere LCDs benötigen das Signal, daher ist es drin.
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
Hier der Befehlssatz für den mega8.
Dank Dir Benedikt, schon die m8 Version ist beeindruckend. Toll. Wechsle demnächst auf m168 über... Wigbert
@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
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...
Ist den der Code für Area, Textmodus (0x08) und Grafilmodus (0x09) der gleiche für dieses Display?
Ich weiß jetzt nicht welches 640x480 Display mit Text/Grafikumschalung du meinst.
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?
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.
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
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
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.
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
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.
@ 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
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.
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
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
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.
Hi Benedikt, damit ich es verstehe: Clockh = r4 , wo wird denn register 4 mit 1 geladen. Wigbert
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.
unter:
>.org OC2addr ;Bildbeginn
wer lesen kann .....
Dank Dir Benedikt
Wigbert
@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
Das was im RAM ist wird angezeigt. Neue Daten kann man zwischen den einzelnen Zeilen laden.
hallo, was für einen inverter benötigt das display von pollin, mfg kay
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
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.
@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
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.
@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
hallo, also würde der inverter 700 638 dafür auch passen?? kay
>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
danke, so jetz gehts ans bestellen kay
@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 ?
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.
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)
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.
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.
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
@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
Ja, Seite 11, 2tes Schaltbild, anstelle Seite 10, Sorry!
@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
Wigbert, meinste was das erst die Zeit drauf geht wenn du mit Grafik arbeitest und du mit deine Diagramme spielst. ;)
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.
@ 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
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.
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
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.
und als Richtwert 1KV/mm oder wie geht das? Noch nie gemacht. Wigbert
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).
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
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.
>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
Oder es einfach nicht gemerkt bzw. nicht gerochen...
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
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.
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
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.
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
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.
Ja das verstehe ich ja, ich versuch in der Font mein "A" wiederzufinden, das gelingt mir nicht. müsste doch abzuzählen gehen. Wigbert
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.
>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
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.
>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
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
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.
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
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.
danke erstmal werds nacher ausprobieren
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
Mess mal die Spannung am VLCD Pin. Hier sollten etwa -18V anliegen.
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
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.
@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 ?
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
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.
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 ?
Wo steht was mehrmals im Speicher ?
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 ?
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.
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 ?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.