Hallo, Die beiden Programme im Anhang dienen dazu ein Controllerloses 230x340-STN-Display, wie es z.B: Pollin unter den Bestellnummern 120 460 und 120 471 verkauft, zu testen. Die Programme sind für einen Tiny26 geschrieben. Mit einem etwas ressourcenstärkeren AVR ließe sich auch durchaus ein "richtiger" Display-Controller realisieren (In Arbeit). Die beiden Programme dienten aber wirklich nur zum Test+Zeitvertreib, bevor die Displays im Lager auf ihre eigentliche Bestimmung warten. Das erste Programm (stn-display-test-extended.asm) erzeugt nacheinander verschiedene Muster, die "Abspielgeschwindigkeit" ist im Quelltext einstellbar. Das zweite Programm (stn-display-test-grafik.asm) gibt ein im Flash gespeichertes Bild wieder, aus Faulheit ist dieses "Bild" momentan eine Text- und Musterzeile, welche 8 Pixelzeilen einnimmt, und dann Programmseitig 30 mal widerholt wird. Ein BilddatenByte enthält 8 Bildpunkte. Die beiden Eingangs erwähnten Displays wurden gemäß folgendem Datenblatt angeschlossen: http://www.mark-products.com/pdf/g320x240/159/159%20spec.pdf Die Belegung des AVR befindet sich im Quelltextkopf Vielleicht kann ja jemand was damit anfangen...
Welchen Inverter hast Du für die Hintergrundbeleuchtung benutzt? Kann Pollin den auch liefern?
Jo, den Inverter hatte Pollin auch im Programm: 120 290 Aber der ist wohl mittlerweile ausverkauft. Naja, die kann man ja auch sonstwo kaufen, oder aus alten Laptops ausschlachten.
Danke für den Tipp, laut Datenblatt braucht die CCFL 280V Spannung bei 5mA. Wie ich bei Pollin gesehen hab, ist Dein Display weisse Pixel auf schwarzem Grund. Dann müsste theoretisch Dein Code auch bei dem anderen Display mit schwarz auf weiss funzen. Ein Test wäre es wert. Werde mal so ein Display bestellen und ein wenig experimentieren.
Ich habe beide Displays, und der Code funktioniert auch mit beiden. Ich hatte mir zuerst das billigere gekauft, und dann, als der Preis runter ging noch das teurere. Mir gefällt das Billigere (weiß auf schwarz) aber ein bissel besser für das angedachte Projekt. Mal sehen, was am Schluss wirklich besser ist.
Das weiß auf schwarz Display hat meiner Meinung nach einen recht guten Kontrast (für ein passives STN). Es ist aber recht glänzend, d.h. man spiegelt sich schön darin. Wie ist eigentlich das andere ? Kann man dieses auch ohne backlight gut erkennen ?
schnelltest Aber Hallo! Extrem viel sogar... Hätte ich nicht gedacht... Ist wie bei den "normalen" Handy- und Uhrendisplays. PS: mein Dank geht natürlich auch an Benedikt, ohne den ich die Belegung nicht kennen würde...
Könntet Ihr mal ein paar Bilder posten, damit man mal einen kleinen Eindruck bekommt. Danke
Biddeschön Die spiegeln echt brutal, das war mir bisher nicht aufgefallen, weil ich die Folie noch draufhatte...
Ja genau... Kommt halt auf den Verwendungszweck an, welches von beiden besser ist Das Weiße sieht ja ohne Hintergrundbeleuchtung fast besser aus als mit...
Also mir gefällt das schwarz auf weiss irgendwie besser, ist aber Geschmackssache. Jetzt könnte man den Code von Assembler auf C umstricken (mag ich lieber) und mit kompletter Grafikbibliothek in z.B. einen Mega128 packen. Dem schickt man per UART was er darstellen soll und den Rest macht er dann selbst. So hat man den "Hauptcontroller" frei und kosten tut der Mega128 auch nicht die Welt. Gefällt mir, ist mal was anderes als nur Charakterdisplays oder kleine GLCDs. thnx für die Bilder
Das Problem ist dabei nur der SRAM. Im Grafikmodus: 320x240=76800bits=9600Byte Im Textmodus (8x8): 40x30=1200Zeichen Im Textmodus würde ein mega16 aufwärts ausreichen. Für den Grafikmodus benötigt man ein externes RAM, und kann dann direkt die Schaltung von meinem 640x480 Controller nehmen (der kann dieses Display auch ansteuern.)
Deswegen wird der richtige Controller auf einem AT32UC3A0512 entstehen :), der hat genug RAM an Bord, und wenn mir das nicht reicht habe ich genug SDRAMS zum dranhängen.Und weil der so schön schnell ist bleibt auch noch genug Zeit für die eigentliche Aufgabe. Verstehe ich das eigentlich richtig, dass du im Textmodus nur immer jeweils eine Zeile berechnest, oder machst du das nur, wenn du zu wenig Arbeitsspeicher hast? Zum Thema Code in C umstricken: Ich denke bei diesem kurzen Code ist man schneller fertig, wenn man nochmal von Null anfängt... Zumindest ist das im Nachhinein mein Eindruck, denn die Basis dieser Programme war ein VGA-Testbildgenerator, den ich mal geschrieben hatte.
Tobias L. wrote: > Verstehe ich das eigentlich richtig, dass du im Textmodus nur immer > jeweils eine Zeile berechnest, oder machst du das nur, wenn du zu wenig > Arbeitsspeicher hast? Ich mache das unterschiedlich, je nach Bedarf: Wenn ich genügend RAM habe (bei kleineren LCDs oder beim 640x480 Controller), dann rechne ich den Text in Grafik um, und schreibe diese Daten ins RAM, wo es dann direkt vom Display ausgegeben wird. Bei dem TV Controller (40x25 Zeichen Text auf TV) habe ich den Zeichensatz entsprechend im Flash angeordnet, dass zuerst die 256Byte der ersten Pixelzeile gespeichert sind, dann die zweite Pixelzeile usw. Die Daten werden dann in Echtzeit (d.h. während der Ausgabe) entsprechend der ASCII Codes aus dem TextRAM gelesen und ausgegeben. Spart 1/8 vom Speicher, dafür ist aber eben nur Text notwendig.
Best.Nr. 530 858 Sollte als Inverter passen... die Röhren kann man ja wegwerfen...
Läubi Mail@laeubi.de wrote: > Best.Nr. 530 858 > Sollte als Inverter passen... die Röhren kann man ja wegwerfen... Würde ich nicht wegwerfen: Die Röhre ist verdammt hell, für so wenig Leistung.
Coole Sache das! Werde mir wahrscheinlich auch eins bestellen, wenn mir jemand verraten kann, wie man den Folienverbinder angeschlossen bekommt :) (Leider kann ich nicht bei Farnell bestellen)
Woher kommen eigentlich die pixelfehler auf dem weiß auf schwarz display? Ansonsten: Sehr gutes Projekt, bei ner entwicklung zu nem richtigen LCD Controller wär ich direkt dabei ;)
Die Pixelfehler liegen entweder an ner kalten Lötstelle an der CP-Leitung, oder daran, dass der CP-Eingang mal die Kontrastspannung genascht hat... Waren am Anfang net... und sind auch weiterhin beim Mustertest nicht da. Durch "Handauflegen" wird es besser... @Nik Folienleiter kann man entweder löten (Flachbandkabel dran), oder man schlachtet die Verbinder aus alten Platinen aus. Bei Pollin kann man die auch bestellen... sind halt zu "vielpolig", aber das ist nicht weiter tragisch.
Man kann das Folienkabel auch auslöten und stattdessen ein normales Flachbandkabel anlöten. Es wird zwar ein bischen eng, da es glaube ich 1mm Raster sind und keine 1,27mm, aber es geht. Es werden ja nur 11 Pins benötigt, die letzten 3 kann man weglassen.
Danke euch beiden! Habe den Verbinder nun gefunden und bestelle dann morgen, hoffentlich sind dann noch ein paar verfügbar... Eine Frage habe ich aber noch: Wie kommt ihr auf die Kontrastspannung von ~21Volt? Ich nehme an, die wird nicht schon vom Display selbst erzeugt.(?)
Ich habe ein Netzteil, das 8,5V Gleichspannung, und 12V Wechselspannung ausgibt. Aus den 8,5VDC erzeuge ich +5VDC, und versorge den Inverter, und aus den 12VDC erzeuge ich mittels Spannungsverdoppler, Zenerdiode, Dioden, PNP-Transistor und einigen Widerständen meine Kontrastspannung. Nen Selbstbau-Spannungsregler halt..
Hier noch ein kleines Java-Programm, das S/W-Pixmaps (*.xpm) zu Assemblercode verarbeitet und wenn gewünscht die Zeilen gleich durchnummeriert und/oder das Bild invertiert. Größeninformationen werden aus dem Dateiheader gewonnen.
So, nach über 4 Wochen sind meine Displays nun auch endlich angekommen :-) Hab' natürlich gleich mal eine Testschaltung aufgebaut und den Code von Tobias rübergebrannt - funktioniert! :-) Vielen Dank! Ich habe noch einige Pixelfehler, die verschwinden aber per, wie oben schon gesagt, Hand auflegen. Zudem habe ich noch so ein komisches Flimmern über das Display, als ob der Kontrast sich andauernd ändern würde. Meine -23V kommen aus einem MC34063 mit genügend grossem Kondensator am Ende also eigentlich sollten da keine Störungen drauf sein...überprüfen kann ichs aber auch nicht da ich kein Oszi besitze. Kann das Flimmern des Kontrastes (nicht Hintergrundhelligkeit) irgendwie von meinem 'losen' Aufbau (siehe Anhang :-)) kommen? Morgen werde ich dann mal eine sauber(-ere) Schaltung aufbauen mit Sram usw..
Hallo Nik, Welche Taktfrequenz hast du deinem Mega16 gegönnt? Bei mir sind es 14.318180Hz, ich hatte auch die ganzen internen Frequenzen duchprobiert, die sind alle zu niedrig für ein flimmerfreies Bild. Hier kommt es aber auch auf den Blickwinkel an, Frontal kann das Bild perfekt sein, und ab nem bestimmten Winkel sieht man dann die Streifen laufen... Gruß Tobias
Auf der Unterseite der Platine ist noch ein 16Mhz Quarz versteckt :-) ... Ich glaube aber meinen Übeltäter gefunden zu haben und zwar ist es wohl meine Schaltung für die Kontrastspannung. Irgendwie scheint die nicht soo stabil zu sein, denn je nachdem welches Muster gerade angezeigt wird gibt meine Wandlerschaltung eine andere Spannung aus, ich dachte eigentlich für den Kontrast benötige man nur einige mA, ich schau dann lieber nochmal im Datenblatt.. ;)
Du kannst ja mal parallel zu dem "großen Kondensator" noch nen kleinen Kerko mit einigen 10nF (bei mir sind es 33nF) schalten. Eine Grundlast von wenigen mA habe ich meiner Kontrastspannung auch noch gegönnt, so wirken sich Änderungen der Nutzlast prozentual nicht ganz so stark auf den Regelkreis aus. Mein Kontrast geht beim Mustertest aber auch zeitweise in die Knie, und zwar bei den einzeiligen Horizontalstreifen.
Ich würde mal drauf tippen, dass die Dimensionierung vom 34063 ein wenig daneben ist. Versuch mal folgendes: Betreiben den nicht mit 5V sondern mit 7-10V. Dann sollten die Probleme nahezu weg sein. Das Problem am 34063 ist, dass dessen maximales Tastverhältnis begrenzt ist. Daher ist dieser bei 5V -> -20V sehr an der Grenze, vor allem da dieser einen NPN Darlingtontransistor hat. D.h. von den 5V kommen nur noch etwa 3,5V wirklich an der Spule an.
Der STN Tester läuft auch mit einem LCD was mal vor längerer Zeit bei Pollin verkauft wurde. Dem Wintek WD-G32249. Hatte mir ein paar davon besorgt. Die LCDs haben einen Touch Digitizer + Blauer EL und brauchen nur 5V + EL Spannung. Die Anschlussbelegung (ohne Garantie!)
1 | 1 VCC5V |
2 | 2 GND |
3 | 3 Contrast IN (bei mir 920k R nach Contrast OUT) |
4 | 4 Contrast OUT |
5 | 5 /DISOFF |
6 | 6 D0 |
7 | 7 D1 |
8 | 8 D2 |
9 | 9 D3 |
10 | 10 GND |
11 | 11 Pixel Clock |
12 | 12 GND |
13 | 13 LP |
14 | 14 Frame |
15 | 17 + 20 EL |
16 | Rest NC |
Wow, der kleine Kondensator hat echt noch einiges gebracht! (Habe gleich einige Werte paralell gehängt, mitlerweilen sinds so an die 5 Kondensatoren + den dicken Elko... :-) Mitlerweilen habe ich mir ein Programm in C(!) geschrieben das den Inhalt eines 1200 Byte (40x30 Zeichen) Arrays auf das Display ausgibt. Der Schriftsatz dazu liegt im Flash eines ATmega32. Hinzu kommen soll noch eine Empfansroutine für die UART, dann kann ich das Display für diverse Debugzwecke an anderen Projekten verwenden... Am Frame Ausgang messe ich jetzt noch 44 Hz, falls ich das richtig interpretiere bedeutet dies doch, dass ich 44 Bilder / Sekunde habe, oder? ;-) Interessant ist noch, dass der Kontrast stabiler wird, wenn man die Daten noch schneller ausgibt... Obwohls im Moment nicht flimmert, wird der Kontrast besser, wenn ich zum Beispiel ein zufälliges Zeichen aus dem Ram ausgebe. (über 60Bilder/sek) @Benedikt: Versuchsweise habe ich die Spannung am 34063 mal auf 10V hochgeschraubt, ohne sichtbare Verbesserung. Wie oben schon geschrieben liegt es aber wahrscheinlich an der zu langsamen Refresh Rate, aber mehr als meine ~45Hz liegen mit C wahrscheinlich nicht drin.(?)
Nik Bamert wrote: > Wie oben schon geschrieben liegt es aber > wahrscheinlich an der zu langsamen Refresh Rate, aber mehr als meine > ~45Hz liegen mit C wahrscheinlich nicht drin.(?) 45Hz ist relativ gering, das kann (je nach Reaktionszeit des Displays) schon etwas flimmern. Üblicherweise verwendet man etwa 70-80Hz, damit es einerseits flimmerfrei ist, andererseits man auch weit genug von 50/60Hz weg ist, um Interferenzen mit Netzbetriebenen Leuchtstofflampen zu vermeiden. Ich hätte hier Assemblerprogramm für einen mega8, das auf diesem LCD 40x20 Zeichen Text anzeigt. Ansteuerung via UART, aber auch beliebig auf SPI oder I2C umänderbar. Ich brauche rund 640 Takte pro Bildzeile. Das sollte theoretisch 100Hz ermöglichen. Falls interesse besteht, kann ich die komplette Software mal posten.
kann man das display auch so anschliessen, damit man es mit LCDHype o.ä. verwenden kann? gruss Numen
Ja, die Uhrezit/Datum auf dem Foto kam glaube ich sogar über LCDHype oder ein ähnliches Programm.
Hallo Benedikt, Hätte interesse an deinem Programm. Habe mir auch solche Displays bestellt und mit dem Display Tester läuft momentan nur das mit weissem Hintergrund richtig. Auf dem Schwarzen bekommt man zumindest mit dem Testprogramm welches Text ausgibt nur Wirres Zeug dragestellt. Bei deinem Bild sieht das ja soweit ok aus. Naja ich muss mal mein kleines Testboard für den S1D13700 fertig layouten, um dann mit dem Divesen "Dummen" Displays rumspielen zu können :-) MfG Kai
kannst du mir erklären wie das genau funktioniert? grafik anzeigen wäre auch nicht schlecht. So dass ich das display wie ein normales Grafikdisplay mit kontroller verwenden kann am besten einfach mit usb Gruss Numen
Ich habe das Programm hier reingestellt: Beitrag "Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus" Alle Fragen dazu bitte in dem andren Thread posten, ich will diesen hier nicht komplett übrnehmen...
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.