Abblockkondensatoren wirklich nicht vergessen? Der Schaltregler stört wirklich extrem! Mit freundlichen Grüßen, Valentin Buck
Hallo Zusammen, nochmal vielen Dank für die vielen Tipps, ich hab wirklich den Wald vor lauter Bäumen nicht gesehen. Bin wohl beruflich zu verwöhnt vom Schaltungsdesign, dass ich zu Hause zu schlampig werde :-) Es geht jetzt auch mit eigeschalteter BOD. Schuld für die Sache war weder ein fehlender Abblock-C noch der Schaltregler. Das Problem war ein DC-DC-Wandler im Rest der Schaltung, der von der selben Quelle gespeist wird. SO einen Ripple auf der Versorgung hatte ich vorher noch nie gesehen. Anscheinend hat das die BOD massiv gestört. Vorerst hab ich den DCDC getauscht, das scheint zu reichen, wenn ich ein Re-Design mache muss das anders gelöst werden. Nochmal vielen Dank Gruß Markus
Mahlzeit, hab gelesen das es auch einen Thread zu grfischen Darstellungen geben soll, könnte den Link jemand posten, entschuldigt falls ich den überlesen habe, aber der Thread hier ist sehr lang :) und hat jemand schon eine Musterlösung zum LCD TG322450 parat, mit Schaltplan, oder sogar Layout? MfG Florian
Momentan grad mal ein paar Zeilen weiter unten Beitrag "Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen"
Hallo Florian. Ich hab dir mal im Anhang meinen Schaltplan für die Kontrastspannung gepostet, damit klappts bei mir ohne Probs mit dem TG. Für die Ansteuerung hab ich keinen Plan, hab einfach vom Nanya auf das TG umgestrickt. Das schwierigste war für mich die Kontrastspannung hinzukriegen, aber dank der Jungs hier im Forum, war das dann auch kein grosses Problem mehr, nochmal Herzlichen Dank dafür. CU Bernd
Hallo, Ich hab dieses Projekt schon vor einiger Zeit mit Begeisterung gelesen, und wollte es sofort nachbauen, hab alle Teile besorgt bin dann aber nicht mehr dazugekommen. Jetzt über Weihnachten, hab ich es endlich geschafft und es aufgebaut. Leider stellten sich auf dem Display lauter vertikale Linien ein. Hat jemand eine Idee was der Grund ist ? Danke u Gruß david
Sieht nach einem Kurzschluß bzw. vielmehr einer dauerhaften Verbindung zu +5V auf einer der Datenleitungen aus. Überprüfe das doch mal. Gruß Meik
hallo, danke für den Tipp. Hab mal alle Datenleitungen abgemacht. Es stellen sich dann die gleichen Streifen ein. Nachdem der Text ja eig. ordentlich kommt, denk ich dass das Display einen Schaden vom herumbasteln genommen hat. Leider gibts das Display beim Pollin nicht mehr. Hat jemand noch ein LCD-Modul NAN YA LTBE9T372G1K ??? Wenn ja ich würde eines abkaufen. Viele Grüße David
Das Fehlerbild deutet stark darauf hin, dass du zwischen Pin 10 und 11, oder vielleicht zwischen Pin 6 und 7 der Displayleitungen einen Kurzschluss hast (kann aber auch wo anders sein). Vor allem wenn du am Display selbst rumgelötet hast solltest du dir die Lötstellen nochmal anschaun. Da hab ich auch schon ein paar Brücken produziert. Das Display ist höchstwahrscheinlich vollkommen in Ordnung. Schau dir die Lötstellen nochmal an bevor du in ein neues investierst. Sebastian
hi, ich hab schon alle Leitungen auf Kurzschluss überprüft, ist alles in Ordnung. Und wie gesagt selbst wenn ich die Datenleitungen nicht anschließe bekomm ich ein Bild mit lauter weißen vertikalen Linien. Wenn jamand noch ein Display hat, wäre es super wenn er sich unter david_stecher@web.de melden könnte. Da ich mir für die anderen Displays beim Pollin eine neue Schaltung bauen müsste. Danke. u. Gruß
Kontrolliere mal die Datenleitungen direkt auf dem Display. Nicht nur die Lötstellen, sondern auch die Leiterbahnen bis zu dem IC direkt auf der Displayplatine (Lupe erforderlich!). Gruß Meik
danke für die Tipps, hab das Display aufgemacht und alles genau nach Kurzschlüssen o. sonstiges durchgeschaut, ist alles in Ordnung. Es ist auch keine der Datenleitungen auf Dauer5V . Macht es sinn den Spaltentreiber zu tauschen ?
Der Spaltentreiber. Hmmm... Daß der defekt ist kann schon sein, ist aber eher nicht so wahrscheinlich. Hast du mal einen anderen Controller versucht oder kannst du die Signale auf den Datenleitungen mit einem Oszi beobachten?
jo, controller hab ich schon mal nen anderen probiert, oszi hab ich auch, aber ich bekomm demnächst ein neues display, (dank des marktes hier im forum) dann kann ich meine schaltung nochmals überprüfen.
Hallo zusammen, hab mir nun auch 2 Pollin WD-H3224V zugelegt aber ich komme nicht zum Erfolg. Ich habe das Projekt von woodym versucht aufzubauen und zwar ohne SMD-Prozessor sondern in DIP. Nur beim Atmega 8 bekomme ich beim kompilieren ständig eine Fehlermeldung (Speicher überlappt) und beim Atmega 168p funktioniert das kompilieren aber ich habe keinen atmega168p sondern nur den Atmega 168 in DIP wenn ich die Software auf den speichere ist das Display schwarz und der Prozessor wird heiß ??? Hat jemand einen Lösungsansatz, ich würde dieses Display gerne im einfachen Textmode mit dem Touchpad benutzen. Gruß Walter
wollt nur kurz mitteilen, das tatsächlich das Display defekt war, danke für die Hilfe grüße david
Hallo nochmal, hab jetzt mal die Schaltung von Benedik aufgebaut aber beide WD-3224V lassen sich nicht dazu bewegen irgendwas außer einem schwarzen Bild anzuzeigen. Die Kontrastspannung lässt sich nachdem ich einfach mal ein Poti eingebaut habe von 0-32 V einstellen, trotzdem bekomme ich nur ein schwarzes Bild. Die Schaltung funktioniert für das E8504CZZ von Pollin tadellos sobald ich aber das WD-H3224V anschließe habe ich keine Anzeige mehr. Es können doch nicht beide WD-H3224V defekt sein. Was mache ich falsch ??? Gruß Walter
Ich denke, der Fehler wird im ATmega liegen. "Wird heiß" ist schlecht. Vielleicht mit der Kontrastspannung in Berührung gekommen? Verpolt? Layout richtig? Manche Dinge, die man als Anfängerfehler abtut, passieren auch den Profis hin und wieder noch.
Nachtrag: Habe erst überlesen, daß es mit dem anderen Display geht. Vielleicht ist die Steckerbelegung für das WD-3224V nicht ganz richtig, und es wird eine Leitung kurzgeschlossen, oder Kontrastspannung in den ATmega verschleppt.
Hallo, bin jetzt ein Stück weiter hab einfach nochmal alles neu aufgebaut und die Kontrastspannung extern eingespeist. Ich hab den Eindruck das Problem liegt an dem Display off/on Pin denn laut Schaltplan (Bendikt) wird der Pin ja direkt aus dem Atmel angesteuert wenn ich den Pin aber wie bei der Schaltung für das E8504CZZ mit ca 21 Volt versorge bekomme ich ab und zu eine Anzeige auf dem WD-H3224V, es kann eigentlich nicht mehr viel falsch sein. Siehe Foto:
Kai B. schrieb: > Zum einen nochmal 2 Bilder vom großen Optrex das lässt sich echt klasse > auch mit invertiertem Bildinhalt nutzen. An welchem Controller hängt denn das Optrex da? Nach Textmodus sieht es ja nicht aus.
Hallo Alekzander Ich habe das Display damals mit einem Epson S1D3700 Controller betrieben welchen ich für die Testzwecke an einem LPT Port meines Computer mit Freebasic angesteuert habe. Gruß, Kai
Hi, ich hab mal die Schaltung von Benedikt zusammengebaut, doch leider zeigt das Display nichts an. Ich verwende das schwarze Nanya LTBE9T372G1K, das laut Datenblatt eine Spannung von ca. 23V benötigt. Die Spannung liegt auch an, solage das Display nicht angeschlossen ist. Wenn das Display ageschlossen ist, wird der pnp Transistor BC327 ziemlich heiß und die Spannung fällt ab auf ca. die Hälfte. Den ATmega 8 hab ich definitiv richtig programmiert und auch die richtigen fusebits gesetzt, was ich auch schon 2 mal geprüft hab. Desweiteren habe ich mehrfach die Schaltung mit dem Schaltplan verglichen und bis auf einen verpolten Elko (den 22µF) hab ich nichts gefunden. Trotz Korrektur läuft nichts. Ich bin echt ratlos.. Könnte es vllt. an einem defekten Bauteil liegen? Den MC34063 hab ich schon gewechselt ohne Erfolg... Oder liegt es daran, dass ich ein Schaltnetzteil (so ein kleines wie bei Handy un co. üblich) von Pollin verwende, welches die Schaltung durch unsaubre Glättung oder ähnliches stört? Schon mal vielen Dank für eure Hilfe!
wenn du das schwarze Nanya hast, dann musst du auch die Hintergrundbeleuchtung (INVERTER) anschliessen sonst siehst du nix mfg
hab ich gemacht zeigt aber trotzdem nix an...
Ich hatte es mal, dass die Spannungsversorgung für den Kontrast nicht anlief, weil die versorgungsspannung zu langsam gestiegen ist. Wenn du erst das netzteil einsteckst und dann auf der niederspannungsseite erst einschlatest sollte das aber kein problem sein. Wenns nichts hilft ist wohl doch ein Fehler in der Schaltung ;) Sebastian
Mhh hat leider auch nix gebracht, hab sogar auch mal mein Labornetzteil probiert. Da muss ich wohl die Schaltung noch mal von Grund auf neulöten.
Okay war ein Fehler in der Schaltung jetzt läufts endlich! Nur ist mir noch aufgefallen das im Quelltext verison 1.2 ein Zahlendreher drin ist. Hab nämlich ne Baudrate von 38400 eingestellt und das Display hat nur Müll angezeigt. Dann is mir aufgefallen, dass das Display 34800 Baud anzeigt und nicht 38400. Nach dem korrigieren lief dann alles einwandfrei!!!
Hallo noch mal an alle, also hab mir jetzt noch mal 2 neue WD-H3224V bei Pollin gekauft, aber es funktioniert bei mir einfach nicht mit der Anzeige hab mit dem Pin :Display ON/OFF so ziemlich alles versucht aber alle 4 Displays wollen nicht hab nach wie vor die Schaltung von Benedikt mit der entsprechenden Software könnte es vielleicht irgend ein anderes Timingproblem sein vielleicht ist das M Signal nicht optimal für dieses Display hoffe weiterhin auf eure Hilfe. Walter10
Alessandro Mauro schrieb: > Hallo. I am testing the textmodus controller in the spare time... > ...but for now I obtain only vertical lines like a barcode... > I think it could be a wiring error. Did you ever experienced something > like this? > Danke, > Alez Did you find the answer? I have the same problem!
schubs Gabi Mihai schrieb: > lines like a barcode Maybe you confused something with the clock lines or the 8bit/4bit selection pin? Ich versuche gerade, mir selbst einen Controller in C zu stricken. Nach Konvertierung des Zeichensatzes etc.pp. Hab ich eine Hardeware-Frage: Habe hier ein TG322450 FMCWA-10. Kann man das mit Logik-Spannung 5V betreiben? Im TG322450 FNCWA-10 Datenblatt steht folgendes: Electrical absloute maximum ratings: Logic Supply Voltage VDD-VSS | Min. -0.3V | max. 6.0V [...] Electrical Characteristics: Logic Supply Voltage VDD-VSS | Min. 3.0V | Typ. 3.3V | max. 5.5V [...] Pin connections: No. 1 | VDD | Logic Power input, 3.3V [...] Datenblatt TG322450 FNCWA-10 ist angehängt. Ich denke, es sollten zwischen Transmissive- und Negative-Panel(Kennbuchstabe M/N) keine schaltungstechnischen Unterschiede in der Ansteuerung auftreten. mfg/regards mf
Hallo, ich verfolge schon lange und mit großem Interesse diesen thread. Bin aber beim Nachbau etwas ins Stocken geraten mit einem Problem. Ich verwende das Pollin-Display WD-H3224V und bekomme Zeichen angezeigt in denen sehr häufig eine Pixelspalte fehlt. Auch bewegt sich PC3(D3) nicht, er liegt dauernd auf 0. Kann mir jemand sagen ob das richtig ist? Wenn ja dann hat wohl das Display ein Problem. Kennt jemand dieses Problem auch ? mfG Joachim
Hallo Joachim, wenn ich mal vermuten darf hast du wahrscheinlich das Flachbandkabel abgelötet und dünne Leitungen am Display angeschlossen so wie ich und mir ist erst unter einer starken Lupe aufgefallen das meine Lötverbindungen auf der Platine fehlerhaft waren. Bei dir könnte ich mir vorstellen du hast D3 mit GND kurzgeschlossen, sitzen ja beide direkt neben einander, was auch deine ständige null erklären würde. Nachdem ich meine Displays alle mit noch dünnerem Draht und noch weniger Lötzinn neu angelötet habe laufen alle Displays tadellos. mfg walter10
Hallo Walter10, vielen Dank für den Tip, ich werde mir die Verschaltung daraufhin noch mal anschauen. Allerdings kann ich das Flachbandkabel vom Display über eine Steckverbindung trennen und bis dorthin ist die Verdrahtung nicht so defiziel. Im Abgesteckten Zustand habe ich auch keine Bewegung an D3. Aber schau ma mal. m.f.G. Joachim
hallo walter, sorry das ich erst jetzt antworte... im augenblick bin ich etwas im stress :-). der Prozessor darf nicht heiß werden. Das was ich als mögliche Fehlerquelle sehen würde ist gemnau das was du gefunden hast. Die Schaltung ist wirklich relativ unproblematisch, ein kurzschluss am display kann dir das Display und den Prozessor kosten (weiß ich aus erfahrung!). Auf der Dip sollte ausreichend sein. Ram ist genauso viel da, und Flash auch. Es kann sein das du eventuell im Makefile die Speicheradressen für den Dip anpassen mußt. Was mir ein bischen komisch vorkommt... das display on/off hat kein 21V. das ist nur ein logic-Signal. es gibt nur zwei Spannungen die merh als 5V haben. das ist zum einen die 21V (Laut pollinbeschreibung 32V) und die Spannung für die LED's die ich in reihe geschaltet habe um nicht aus einer hohen Spannung (12V) mit einem Linearregler 5V erzeugen muß um die dann für die LED's zu verwenden ... dann reicht kein 78L05 mehr weil zu viel verlustleistung verbruzelt werden muß. @heiko der Font ist wie folgt ausgebaut: 1. Zeile Char 1-n 2. Zeile Char 1-n usw bei 128 Zeichen bedeutet dies das zuerst immer 8 pixel der ersten Zeil des Char kommen. dann die ersten 8 pixel des 2. char der ersten zeile. bis 128 mal die erste zeile definiert wurde. dann kommt das ganze mit der 2. zeile usw. vielleicht wird es auch klarer wenn man sich ansieht wie das ganze aus dem speicher geholt wird (alle syncs unberücksichtigt; 40x24 zeichen; fontbreite 8 pix, fonthöhe 12 zeilen). for(charzeile=0; charzeile<24; charzeile++) { for(charzeichen=0; charzeichen<40; charzeichen++) { for(zeichenzeile=0; zeichenzeile<12; zeichenzeile++) { portD0-D3= *( (flash_font_basis + ((zeichenzeile<<8) | charram[(charzeile*24) + charzeichen]))>>4) portD0-D3= *( flash_font_basis + ((zeichenzeile<<8) | charram[(charzeile*24) + charzeichen])) } } } die ganze berechnung des pointers wird durch das getrennnte setzen von LByte und Hbyte sehr viel schneller. bye woodym
Hallo woodym, schön das du wieder da bist. Also mein drittes Pollin Display funktioniert tadellos im Textmode mit Touchscreen nach Benedikts Schaltung und der Touchscreen Applikation AN#148 von Bascom. Auch im Grafikmodus mit 8 Graustufen (nach Sebastian und Benedikt) funktioniert das Display tadellos. Aber auf die Idee das Display von Pollin zu benutzen hat mich dein Posting mit dem Anhang "lcd_text" gebracht, weil du alles in einem Prozessor machst, den Textmode und den Touchscreen. Aber leider habe ich dieses Projekt nie zum laufen bekommen: 1. Wenn ich den Sourcecode für den Atmega8 kompiliere bekomme ich eine Fehlermeldung das der Ram Speicher nicht reicht bzw. sich mit einer anderen Sache überlappt. (Meine C-Erfahrungen sind leider noch nicht ausreichend um den Fehler zu beheben). 2. Wenn ich den Sourcecode auf den Atmega168 kompiliere bekomme ich zwar einen Hexfile aber es tut sich nichts auf dem Display als Anmerkung ich benutzte keine SMD Bausteine sondern nur dir DIL-Typen. Ich habe die Schaltung so aufgebaut wie in deinem Schaltplan angegeben, allerdings nur mit den DIL-Prozessoren. Hast du vielleicht einen Tip für mich oder eine Lösung für den Atmega8 im DIL Gehäuse mfg walter10
Eine Frage an die Profis. Ich habe hier ein LCD TLX-1241 (480x128 4_Datenbits). Dieses würde ich gerne mit meinem kleinen Computer Z86 clone (UB8830 8MHz) bedienen. Wäre das möglich? Gibt es eventuell fertige routinen für den Prozessor?
Hi, ich würde gern, den hier vorgestellten Controller nachbaun um damit ein wenig zu experimentieren. Welchen Display könnte ich dafür nehmen, die meisten von Pollin sind ja nicht mehr lieferbar und für das Sharp bräuchte ich ja den passenden Steckverbinder, der mich ersten fast soviel wie das Display selbst kostet und mich beim Löten wohl noch etwas überfordert (SMD). Kennt da jemand ein passendes aktuell zubestellendes Display? Gruß Sebastian
Hallo Sebastian eventuell könnte das 120 506 von Pollin noch interessant sein. Hier könntest du eventuell das Folienkabel durch feines Flachbandkabel oder Drähte ersetzten http://www.mikrocontroller.net/attachment/63617/wd_h3224V_bl.jpg MfG Kai
Hallo Kai, beim Überschauen der Beiträge habe ich gesehen, dass Du das Display (letzter Beitrag) erfolgreich zum Laufen bekommen hast. Da es ein langer Beitrag ist, könntest Du noch einmal zu diesem Beitrag den aktuellsten laufenden Code zu dem von Dir vorgeschlagenden Display posten? Wie funktioniert eigentlich dann die Datenübergabe, ich weiß über RS232, mir geht es um die Befehle. Also wie kann ich in eine bestimmte Zeile einen bestimmten Text schreiben. Vielen Dank MAT
Hallo Matthias mit einem Aktuellen Code kann ich dir leider nicht weiter helfen da ich diese Schaltung bisher nur einmal aufgebaut habe und das war mal ganz am Anfang. Ich nutze bisher den s1d13700. Aber soviel ich weiß müssen die Steuerbefehle (unterer Teil der ASCII Zeichen) direkt gesendet werden also nicht als Zahlen gesendet werden. Die Befehlsliste http://www.mikrocontroller.net/attachment/34192/lcdcon_320240_mega8.pdf Hier steht zum Positionieren muss das Zeichen 17 und als Zeichen dann die Position geschickt werden. Aber in wie weit das noch aktuell ist kann ich leider nicht sagen. Bei so Monster Threads geht ein scheinbar aktueller SW Stand schnell unter.
1 | putchar(17); |
2 | putchar(5); |
3 | putchar(10); |
4 | |
5 | void putchar(uint8_t c) |
6 | {
|
7 | ... Byte auf Schnittstelle ausgeben ... |
8 | }
|
MfG Kai
Hallo, seit kurzer Zeit bin ich in dem Besitz von zwei WINTEK HD-H3224V die ich gerne ansteuern möchte. Die letzten Wochenenden suchte ich nach einer Dokumentation für die korrekte Ansteuerung der Steuersignale und ihrer zeitlichen Abfolge. Auf meiner Suche konnte ich nur diese beiden Dokumentationen finden(Link: http://www.glyn.de/data/glyn/media/doc/APP44_DOTMATRIX_LCD_ONM16C.pdf und Anhang). Ich habe versucht das Display nach der Dokumentation (Link) für einen Testbetrieb zum laufen zu bekommen (siehe main.c als Anhang), leider erfolgt nur ab und zu ein volles beschreiben des Displays, egal wie viele Zeilen/ Spalten ich beschreiben möchte, welches nach ca. 5 Sekunden wieder verblast. Ich kann mir nicht erklären woran es genau liegt, weshalb ich für jede Dokumentation/ Hilfe, die die Steuersignalabfolge beschreibt dankbar wäre. Ich habe auch schon versucht das ganze testweise über das Projekt von WOODYM zum laufen zu bekommen, leider wie bereits weiter oben schon beschrieben wurde meldet der Compiler für den Atmega8, das der Speicher nicht ausreicht. Vielen Dank, Rolf.
Ahoy, ich habe mich auch mal daran gemacht, für das LCD-Modul WINTEK WD-H3224V, welches noch bei Pollin erhältlich war, Benedikts Platine aufzubauen. Da die Kontrastspannung für dieses Display abweicht, habe ich den entsprechenden Wandler nach Matthias Reichelts Schaltung aufgebaut. (siehe hier: Beitrag "Re: Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus" ) Als ich dann vor der kompletten Bestückung der Sockel noch einmal zur Sicherheit alles durchgemessen habe, fiel mir jedoch auf, dass der MC34063 nur die 5V Eingangsstrom an Vout liefert und nicht die erwünschten 21V. Daraufhin habe ich die entsprechende Bestückung noch einmal genau kontrolliert und durchgemessen, konnte aber keinen (Bestücktungs-)Fehler entdecken. Was mich jedoch in Matthias' Schaltung (s.o.) stutzig machte, war, dass er für R1 und R2 gleich grosse Widerstände (jeweils 4.7k) verwendet hat. Kann das überhaupt sein ? Ich habe mir das entsprechende Design-Tool für den Aufbau eines MC34063 auch noch einmal angesehen und dort ein paar Werte durchgespielt -- es kamen in jeder Konfiguration stets Werte heraus, bei denen sich R1 und R2 deutlich unterschieden, was, so weit es mir mein laienhaftes Verständnis der Materie erlaubt (ich bin nicht vom Fach) auch sinniger erschien. Mag sich vielleicht einer der erfahreneren User hier Matthias' Schaltplan für den MC34063 noch einmal genau ansehen und mich durch einen entsprechenden Hinweis erleuchten, wo der Fehler liegen mag ? Gruss, der Nachbauer --- Hinweis: Den in Matthias' Schaltplan nicht näher angegebenen C0 habe ich mit 470µF bestückt, ausserdem zwischen Vin und Vcc des MC34063 einen C mit 100µF vor die Masse geschaltet. Für den Ct habe ich einen Kerko mit 1.2 nF verwendet.
Hallo Nachbauer, im Anhang mal 2 Versionen welche bei mir tatellos laufen. Eine mit, eine ohne eigene Stromversorgung. mfg Grelli
Hallo zusammen, ich habe eine Frage des bezüglich des Assembler Codes für die Display Ansteuerung. Und zwar geht es um folgenden Auszug aus dem irq zur Ausgabe einer Zeile:
1 | sbis PORTB, M |
2 | sbi PORTB, M |
3 | sbic PINB, M |
4 | cbi PORTB, M |
Müsste das nicht so aussehen:
1 | sbis PINB, M |
2 | sbi PORTB, M |
3 | sbic PINB, M |
4 | cbi PORTB, M |
Wenn nicht würde ich mich freuen wenn es mir jemand begründen könnte. Vielen Dank Felix
Hey Grelli, lieben Dank für die beiden Schaltpläne. Als ich mir das angesehen habe, war meine Welt wieder in Ordnung. Ich bin zwar noch nicht dazu gekommen, meinen Schaltungsaufbau dementsprechend zu ändern, aber Deine Schaltung ist dann auch für mich wieder verständlich. Ich habe keine Ahnung, was Matthias Reichelt da bei seinem Schaltungsaufbau gemacht hat, aber lt. Datenblatt zum MC34063 würden da im Idealfalle dann 2.5V heraus kommen ... (Was aber nicht passieren wird, da der MC durch den gigantischen Rsc sowieso nicht mehr anständig schalten dürfte.) Herzlichen Dank noch einmal für die Hilfe, Euer Nachbauer
Ich habe hier ein Display. 480x128 TLX-1241. Was muß ich am code verändern um es korrekt anzusteuern?
kurze Frage. Das Display WG320240A-TML-V müsste auch funktionieren oder?
Ja das Display müsste eigentlich auch mit der Schaltung funktionieren. Die nötigen Pins sind ja alle vorhanden. MfG Kai
da brauch ich nen inverter für die hintergrundbeleuchtung oder? wo krieg ich günstig einen?
Ähm ja wenn wirklich dein angegebener Typ ist dann hast du da LEDs als Hintergrundbeleuchtung drin. Und die Negative Versorgung erzeugt das Ding auch schon.
Hat schon jemand den ASM-Code für den Mega8 von Benedikt in C übersetzt, und ist so freundlich den hier zu Posten. Olli
Hallo Benedikt,
Minimaler Bauteileaufwand bei maximalem Erfolg! DAs nenn ich mal ein
gelungenes Projekt. Aber so kennt man dich eben.
Dafür ein großes Danke!
Ich hab mal noch den TWI mit eigebaut um auch per I2C Daten an das
Display zu senden. Dafür ist die Baudrateneinstellung für 1200 Baud
weggefallen. Also bei "000" -> TWI enable.
Hab den Code und das Hex mal mit angehangen. Alles im Orginal + TWI ohne
meine geänderte Pinbelegung.
-> geänderte Pinbelegung???
>>Was mir aufgefallen ist:
Der mega8 lässt sich in deiner Orginalbeschaltung nicht im Betrieb per
ISP proggen. Ist das so gewollt? Ich persönlich habe die Pins für CP,
LOAD, FRAME, M alle auf PORTD verlegt. ON/OFF auf PB0, und schon ist die
ISP Schnittstelle frei.
Gruß
Steffen
Hallo, Ich mir mal so überlegt, ob man mit einem ATmega1284P-PU (gibt es bei Pollin) nicht sogar den LCD-8Graustufen_Grafikcontroller implementieren könnte. Der ATmega1284P-PU hat intern 16kByte RAM !!! Damit könnte einiges an Hardware des LCD-8Graustufen_Grafikcontroller wegfallen und der Aufbau sich ähnlich einfach gestalten wie hier dieser LCD-Text_Controller. Was meint ihr??
Steffen H. schrieb: > Ich mir mal so überlegt, ob man mit einem ATmega1284P-PU (gibt es bei > Pollin) nicht sogar den LCD-8Graustufen_Grafikcontroller implementieren > könnte. > > Der ATmega1284P-PU hat intern 16kByte RAM !!! > > Damit könnte einiges an Hardware des LCD-8Graustufen_Grafikcontroller > wegfallen und der Aufbau sich ähnlich einfach gestalten wie hier dieser > LCD-Text_Controller. Hallo Steffen, bist Du mit Deinen Überlegungen zum ATMega1284P-PU schon weitergekommen? Dieser hat zwar 16kByte RAM, aber ist meines Wissens auch nicht für externen Speicher konzipiert. Mich würde im Augenblick eine aufwandsarme (Hardware) Textversion interessieren, allerdings wenn möglich mit VT100 kompatiblem Protokoll. Ich bekomme morgen meine 1284'er und werden dann mal starten. Gruss Edgar
Hallo Edgar Als Textcontroller schon viel zu Groß aber wenn man bedenkt, dass es bei ATMEL nichts zwischen 4k RAM und 16k RAM gibt! Ich betreibe ja den hiesigen Textcontroller (ATmega8) mit TWI Schnittstelle. Und ich muss leider feststellen, dass der FIFO Buffer schnell voll ist. Deswegen wäre ein größerer RAM schon sehr von Vorteil. Ich habe übrigens nicht weiter an der Idee gearbeitet. War ja auch nur so ein Gedanke den mir Sebastian schnell wieder ausgeredet hat. Siehe: Beitrag "Re: Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen" Gruß Steffen
Hallo, ich beobachte diesen Thread schon seit langem, und genauso lange wollte ich diesen bzw. einen seiner "Geschwister-Controller" hier im Forum nachbauen. Da ich wohl nicht dazu kommen werde verkauf ich nun meine LC-Displays mit Touchpanel. Vielleicht kann sie ja jemand von euch ehernvoll in Betrieb nehmen. Hab sie im Markt eingestellt (Beitrag "Verschenke/Verkaufe Touch LC-Displays, Textoolsockel, div. USB und Audio IC´s"). Philipp @Moderator: ich hoffe diese "Werbung" ist erlaubt, sonst bitte löschen.
Hallo allerseits, weiß der ein oder andere von euch vlt welche FFC Buchse die Passende für das WD-H3224 von Pollin ist? Und am besten noch ob es die in einer Eagle- *.lib schon gibt. Schätzen würde ich jetzt einen 0,3mm Pitch aber ich kenn mich mit den Dingern gar nicht aus und da die nicht gerade billig sind wie ich schon rausgefunden habe wäre es schon gut die passende zu bestellen. LG Chris
Hallo Chris, im Anhang, so hoffe ich, auf die Schnelle die Buchse. Grelli
Hallo Grelli, danke für die schnelle Antwort. Habe die Buchse gefunden. Sind es also doch 0.5mm... ist aber auch echt doof nach zu messen. Da bin ich ja froh das ich nicht die 0.3er bestellt habe wie erst angenommen. LG Chris
Hallo! Und zwar ich möchte für mein Projekt das Wintek WD-3224V Display (Pollin) nutzen und hätte da mal par Fragen: 1.) Wäre es auch möglich statt des Atmega Controllers ein 8051-Derivat wie den AT89LP51ED2 ( http://www.atmel.com/devices/AT89LP51ED2.aspx ) zu nehmen, da ich bis jetzt nur mit 8051 Kompatible gewerkelt habe ? 2.) Wo krieg ich den AT89LP51ED2 überhaupt noch her, weil bei Conrad,Polli, oder Farnel ist er nicht gelistet 3.) Gibt es sonst alternativen zu Atmel 8051-Core single cycle Controller von anderen Firmen evtl. ? Danke, das wär erstma alles!
Ganz ehrlich... solche Fragen sind ermüdend. Noch im allerersten Absatz des ersten Postings dieses Threads heißt es: Benedikt K. schrieb: > Für eine hohe Geschwindigkeit ist die > Software in Assembler geschrieben. Also nein, die Software läuft nicht auf einem 8051, egal ob von Atmel oder nicht. Die haben einen anderen Befehlssatz. Natürlich könnte man das alles portieren und vermutlich findet sich auch ein 8051 dessen Hardware ausreicht. Da ich aber von 8051 keine ahnung hab kann ich das nicht weiter beurteilen. Der Controller lässt sich doch wunderbar über UART ansteuern. Es reicht also, wenn du einmalig das hex in den AVR flashen kannst. Danach musst du dich nie wieder mit AVRs beschäftigen. Gruß, Sebastian
Ja ist mir schon klar das die beiden uC nicht Codekompatibel sind und klar könnte ich einfach mir ein AVR kaufen diesen fertigen Code einspielen... und was hab ich davon lerntechnisch usw. ? Das macht doch kein spass einfach zu kopieren, da kann ich ja auch gleich im Laden gehen mir ein feritges Display kaufen (viel zu teuer)... toll :( Ich find die Arbeit von Benedikt wirklich sehr bewundernswert aber ich möchte eigene Erfahrung sammeln und spass dabei haben. War schon schwierig genug aus diesem und anderen Threads erstmal die Funktionsweise der Displayanschlüsse etc. rauszukriegen, bei so vielen Posts und daher möchte ich dieses Wissen selbstständig in mein Projekt reinbringen! Aber die Frage bleibt immer noch: Ist es mit dem Atmel "8051" (siehe oben) möglich dieses zu machen und wenn ja woher krieg ich den her ?
Torkelchen schrieb: > möchte eigene Erfahrung sammeln und spass dabei haben. > und daher möchte ich dieses Wissen selbstständig in mein Projekt > Aber die Frage bleibt immer noch: Ist es mit dem Atmel "8051" (siehe > oben) > möglich dieses zu machen und wenn ja woher krieg ich den her ? DU willst doch selbststaendig - dann mach auch! Aber nein, du liest nichtmal was im Forum steht. Gibts nichtmal Atmel 8051 in eine Suchmaschine ein. Schaust dir nicht an, was der Quelltext macht, vergleichst nicht den verwendeten AVR und den 8051 deiner Wahl, usw...
Wenn ich mir nicht diesen Thread und par andere durchgelesen hätte, wüsste ich bis heute nicht wie ich das Display anzusteuern hätte... Und ja ich hab mir den Quelltext angeschaut aber halt nur den Teil der mir wichtig war -> die Displayansteuerung. Die serielle Geschichte, Kommandos etc. will ich selbst gestallten usw. Es war schon Arbeit genug mich extra mit AVR zu beschäftigen extra für dieses Projekt, zu mal ich zuvor nichts mit AVR zutun gehabt hatte. Aber ich find die 8051 besser... Und vom timing her müßte der AT89LP51ED2 doch passen oder lieg ich da falsch?
Hallo woodym, ich probiere gerade dein Programm zu kompilieren. Es klappt aber nicht. Es wird mir folgendes Fehler angezeigt. ../lcd.c:478: error: expected identifier or '(' before '{' token Am Sourcecode habe ich nichts verändert. Ich habe lediglich ein neues Projekt (Atmega168) erstellt und die Dateien eingefügt. Ich verwende den WD-H3224V Display. Über einen Antwort würde ich mich freuen. MfG
Mini Float schrieb: > FLM: > _F_irst _L_ine _M_ark, wird vor der steigenden Flanke von > CL1(Zeilentakt) in der ersten Zeile gesetzt und nach der fallenden > Flanke von CL1(Zeilentakt) in der ersten Zeile gelöscht. Danach werden > die 4- oder 8-Bit-Pixeldaten mit CL2 reingetaktet, wie in jeder > folgenden Zeile. > > M: > Signal, was die Polarität der Ansteuerung der LCD-Segmente invertiert. > Soll bei der fallenden Flanke von FLM getoggelt werden. Flüssigkristalle > nehmen langfristig Schaden, wenn sie nicht im Mittel mit AC angesteuert > werden, hab ich mal irgendwo gehört. > > Load: > Lädt jeweils 4 oder 8 Bit von der parallelen Schnittstelle ind den > Displaytrieber. Entspricht dem CL2(4- oder 8-Pixel-Takt) im angehängten > PDF des TG322Dingsda. > > CP: > Ist das CL1(Zeilentakt)-Signal im angehängten PDF des TG322Dingsda. Auch meinen Dank für die Erklärung.... nun zum verständnis, da ich aus dem Timing Diagram noch nicht ganz schlau werde. Und die bisher gefundene Assambler Software nicht verstehe... :( Ich Takte also erst "CL1" bis ich eins vor der Gewünschten zeile bin (springt der genau 1 Pixel oder 4, da ich im 4Bit Mode arbeite),setze dann "FLM" (auch FRAME bei Wintek genannt), takte noch einmal mit "CL1" und setze auch "FLM" wieder low und toggle "M". Jetzt Setze ich meine Bits an D0..D3 und lade sie mit einem Takt an "CL2", dann wieder Daten anlegen, "CL2" takten usw. bis das Display voll ist oder keine Daten mehr kommen. Im Wintek Datenblatt welches mir vorliegt steht für: CL2(XCK) --> Clock Pulse for Segment shift register CL1 (LP) --> Data latch Stimmt das mit der obigen beschreibung überein? Oder sind die Funktionen hier vertauscht? Habe das Display übrigens heute in Betrieb genommen und alle Pixel waren gesetzt (Controller ist noch ohne SW) ist das ein gutes Zeichen? Ist das wie die Werkseitige Initialisierung der HD77480 Familien? LG Chris
Chris schrieb: > springt der genau 1 Pixel oder 4, da ich im 4Bit Mode arbeite Der geht immer 4 Pixel im 4bit-Modus weiter, 8 Pixel im 8bit-Modus. FLM hatte ich bei meinem Bastelcode vor Beginn der ersten Zeile gesetzt, nach Ende der ersten Zeile wieder gelöscht und mit dann M getoggelt. mfg mf
Juhuuuu ich hab ne linie aufm display. Danke.
Hallo allerseits, gleich mal die nächste frage: kann ich mit LOAD bzw. mit CP in Y/X-Richtung springen? also erst n-mal LOAD und n-mal CP, dann FRAME_hi/LOAD_h/low/FRAME_low. Oder muss ich immer das ganze Display neu beschreiben? LG Chris.
Hallo allerseits, Habe jetzt das Display zum laufen bekommen, nachdem mir zwischendrinn die Festplatte verreckt war und dadurch auch alle Projektdaten flöten gegangen sind. Habe mir jetzt alle nötigen funktionen zusammengeklimpert die ich für zwei Textgrößen incl. invertierung brauche. Jetzt habe ich momentan die Funktion zum beschreiben des Display in:
1 | int main(void) |
2 | {
|
3 | |
4 | while(1) |
5 | {
|
6 | WDH3224_LOAD_STACK(); //Von Dis.Stack --> auf Display |
7 | }
|
8 | }
|
9 | |
10 | ISR(TIMER0_OVF_vect) |
11 | {
|
12 | WDH3224_CONTROL_PORT ^=(1<<WDH3224_M); //M-Pin toggle ca. 400Hz |
13 | }
|
14 | |
15 | ISR(TIMER1_COMPA_vect) |
16 | {
|
17 | cli(); |
18 | //WDH3224_LOAD_STACK();
|
19 | TCNT1 = 0; |
20 | OCR1A = 32767; //TimerCounter1 Compare Register laden |
21 | //32767/(F_CPU(8MHz)/Prescaler(8)) = 0,032s
|
22 | sei(); |
23 | }
|
Sobald ich jetzt WDH3224_LOAD_STACK() in eine ISR verschiebe funktioniert das ganze nicht mehr obwohl ich die ISR durch cli() und sei() verriegel, so das diese nicht unterbrochen wird. Das die Interrupts abgeschaltet werden kann man an M gut erkennen, da dort immer wieder für 30ms unterbrechungen drin sind. Woran kann das liegen? Ich möchte ja nicht die while(1) Schleife komplett durchlaufen und dann erst das Display refreshen da das evtl schon zu lang sein kann wenn ich z.B. meine SD-Card auslese. Vlt. hat ja jemand eine Idee an was es liegen kann. hier noch mal die wichtigsten Funktionen fürs Display:
1 | unsigned char LCD_STACK[240][40]= {}; |
2 | void WDH3224_INIT() //alle nötigen Register für PORTs und Timer setzen |
3 | {
|
4 | WDH3224_CONTROL_DDR |= (1<<PC0) | (1<<PC1) |
5 | |(1<<PC2)|(1<<PC3) | (1<<PC4); |
6 | WDH3224_DATA_DDR |= 0x0F; |
7 | |
8 | WDH3224_DISPOFF_SET_HIGH; |
9 | WDH3224_FRAME_SET_LOW; |
10 | WDH3224_M_SET_LOW; |
11 | WDH3224_LOAD_SET_LOW; |
12 | WDH3224_CLOCK_SET_HIGH; |
13 | |
14 | //Timer starten und Interrupt erlauben
|
15 | SREG |= 0x80; //Interrup global freigeben |
16 | TCCR1B |= 0x02; //Timer starte, Vorteiler auf 1 |
17 | TCCR0B |= 0x03; //Timer starten, Vorteiler 64 |
18 | TIMSK0 |= 0x01; //TimerCounter Interrupt Overflow Enable |
19 | TIMSK1 |= 0x02; //TimerCounter CompareA Interrupt Enable |
20 | OCR1A = 32760; //TimerCounter1 Compare Register laden 32767/(F_CPU/Prescaler) = 0,032 S / 32mS |
21 | |
22 | }
|
23 | void WDH3224_LOAD_STACK() |
24 | {
|
25 | |
26 | WDH3224_FRAME_SET_HIGH; |
27 | |
28 | WDH3224_LOAD_SET_HIGH; |
29 | WDH3224_M_SET_HIGH; |
30 | WDH3224_LOAD_SET_LOW; |
31 | |
32 | for(int i=0;i<40;i++) //da das Array aus [240][40] besteht bis 40 zählen |
33 | {
|
34 | WDH3224_CLOCK_SET_HIGH; |
35 | WDH3224_DATA_PORT = LCD_STACK[0][i] >> 4; //da 4 Bit Bus, Bit shift um MSB zu bekommen |
36 | WDH3224_CLOCK_SET_LOW; //Daten laden |
37 | |
38 | WDH3224_CLOCK_SET_HIGH; |
39 | WDH3224_DATA_PORT = LCD_STACK[0][i]; // kein Bit shift für LSB |
40 | WDH3224_CLOCK_SET_LOW; //Daten laden |
41 | }
|
42 | |
43 | WDH3224_FRAME_SET_LOW; |
44 | |
45 | for (int n=1;n<240;n++) //nun das ganze für die übrigen 239 Zeilen |
46 | {
|
47 | WDH3224_LOAD_SET_HIGH; |
48 | WDH3224_LOAD_SET_LOW; |
49 | |
50 | for (int i=0;i<40;i++) |
51 | {
|
52 | WDH3224_CLOCK_SET_HIGH; |
53 | WDH3224_DATA_PORT = LCD_STACK[n][i] >> 4; |
54 | WDH3224_CLOCK_SET_LOW; |
55 | |
56 | WDH3224_CLOCK_SET_HIGH; |
57 | WDH3224_DATA_PORT = LCD_STACK[n][i]; |
58 | WDH3224_CLOCK_SET_LOW; |
59 | }
|
60 | }
|
61 | |
62 | WDH3224_M_SET_LOW; |
63 | |
64 | }
|
LG Chris
Hallo! About the WINTEK WD-H3224V, I suppose the 21V power supply must be current regulated at few milliamperes. Is that right? If it is, I have baked my wintek. I want to WARN others who attempt to experiment with it.
Hallo! Ich habe nun die neuesten Sourcen genommen und das HEX File direkt in den Mega168 geflasht. Das Display (SP14Q001-A1) lief auf Anhieb. Vielen Dank dafür! Nur bei einer Sache bin ich mir nicht ganz sicher: Ich habe zum test den Controller mit dem PC gefüttert. Einzelkommandos (z.B. "12") klappen auf sofort. Aber wie genau müssen die Parameter übertragen werden? Also z.B. Zeileninvertierung Rückgängig "31 1 0" In welchem Format muss das übertragen werden? Also "31" als Binärwert oder ASCII codiert? " " als ASCII Leerzeichen? Gruß! Sebastian
Sebastian Engel schrieb: > Also "31" als Binärwert oder ASCII codiert? Ich denke die 31 ist hier ein dezimal Wert. Also kannst du "31"decimal oder auch "1F"hex übertragen. Steffen
Kann man mal die aktuellen Codes ins Wiki stellen? Ich kann kein Assembler (AVR). Benutze nur PIC und ARM. Würde daher gerne den aktuellen Code haben, den ich auch benutzen kann. Bzw. gibt es eine Codeversion mit reinem C-Code? Den dürfte ich wohl dann auch selber Porten können.
@alle das Assemblerprogramm "lcdtext.asm" konnte ich an einem Display erfolgreich testen, alle Zeichen werden korrekt dargestellt. Benedikt, großes Lob ! Kann es sein, dass bei den Display-Datenbytes immer zuerst das High-Nibble gesendet werden muss? Bei der Darstellung eines Bitmusters ist mir diese Erscheinung aufgefallen. ------------------------------------ Falsches Bitmuster: ldi tempi,0b10000101 ; BIT-MUSTER out PORTB, clockH ; PCLK H out PORTC, tempi ; Low Nibble ausgeben . . ------------------------------------ korrektes Bimuster: ldi tempi,0b10000101 ; BIT-MUSTER swap tempi ; NIBBLES-Tausch out PORTB, clockH ; PCLK H out PORTC, tempi ; HIGH Nibble ausgeben . . Bernhard
Bei Pollin gibt's mal wieder ein interessantes Display NAN YA LMCDBS078C. Hat das schon jemand zum Laufen bekommen? Ist die LCD-Spannung Vee wirklich positiv zu verstehen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.