Ein einfacher LCD Controller für ein 640x480 Dual Scan LCD. Ideal für alle die noch so ein LCD rumliegen haben, aber nicht 30 für ein S1D13704/5 ausgeben wollen.
Hier noch eine einfache Testversion um eine Schwarzweis 640x480 BMP zu laden. Einfach die .BMP Datei über RS232 mit 115200Baud senden.
Hi, das interessiert mich. Versteh ich das richtig (aus dem Schaltplan), das man noch ein bischen schneller werden könnte wenn man die Datenleitung auch noch an einen extra Port hängt und das Addresslatch wegläst? Gruesse Peter
Nein, das bringt nichts, denn der LD temp, X+ Befehl benötigt nur 4 Takte. Wenn man das per Hand macht, muss man zwei Bytes an den Ausgang legen (2 Takte), RD\ auf Low und wieder auf High bringen (nochmal 2 Takte) und anschließend die Adresse erhöhen (2 Takte). Da ist der ld Befehl schneller, und der liest sogar noch den Wert aus dem RAM.
Hi Benedikt, ist es richtig, das es dieses Display mal bei pollin für 9 Euro gab ? mfg Kay
Es waren glaube ich 9,95 wenn ich mich noch recht erinnere... Die Schaltung läuft aber auch so ziemlich mit jedem anderen SW 640x480 LCD, dessen Ansteuerung nicht total anderst ist.
hi ich finde es prima, das man dazu jetzt keinen extra epson controller braucht. kann man das ding auch mit nem AT90S8515 laufen lassen ? wäre es vielleicht auch möglich die eagle datei von dir zu erhalten ? mfg Kay
Es sollte auch mit einem normalen 8515 laufen, ich habe es zwar noch nicht ausprobiert, aber an sich verwende ich keine Spezialfunktionen des mega8515. Für was brauchst du da eine Eagle Datei ? Die Schaltung ist doch in 30Minuten auf einer Lochrasterplatine aufgebaut, vor allem da uC, Latch und SRAM direkt nebeneinander kommen und A0-7 jeweils direkt mit dem nächsten IC verlötet werden können.
Hi, da haste eigentlich recht. das werde ich auch machen. nur noch ne frage, am Display sind noch 2 Anschlüsse vorhanden. einer für die CFL Röhre denke ich und der andere ? im datenblatt steht was von -23 Volt ?? da blick ich nicht ganz durch. mfg Kay
Hier mal ein Foto von meinem Testaufbau. Beide Anschlüsse sind für die CCFLs, denn das LCD hat zwei davon. Der Stecker mit der Buchse ist der heiße Pol, der mit den Stiften der kalte. Die -23V beziehen sich auf die Spannung zwischen +5V und VLCD. Macht also etwa -18V gegen Masse. Da das LCD beschädigt wird, wenn nur VLCD aber keine +5V anliegen, wird diese Spannung vom uC geschaltet. An V- muss also eine stabilisierte Spannung mit etwa -17 bis -18V angeschlossen werden YSCL wird mit LP verbunden. Der 573 kann ein AC, AHC, ALS, F oder sonst ein schneller sein. Ich verwende einen ALS573 aus einem alten Mainboard. Ich sehe gerade, da ist ein Fehler im Plan. Es muss kein 74x32, sondern ein 74x02 sein, da das LCD die Daten an der fallenden Flanke haben möchte. Für den 74x2 reicht eigentlich ein HC. Einen 64k SRAM bekommt man etwas schlecht, aber es sollte auch mit einem 128k SRAM funktionieren. Meiner hat 20ns. Ob der 55ns 128k SRAM von Reichelt auch schnell genug ist habe ich noch nicht getestet, es sollte aber funktioniern, auchn wenn das Timing ziemlich knapp ist.
Man koennte doch die negative spannung mit spule und fet+diode gleich mit genererieren? sollte mit dem pwm ausgang relativ einfach sein. neben bei, koennte man kontrast per software steuern. gruss roman
Allerdings ist die erzeugte Spannung nicht konstant, sondern ändert sich mit der Last (=Bildinhalt). Da nehm ich lieber einen MC34063 für 35Cent und habe dann eine konstante Spannung.
ich habe auch mal noch ne kurze frage. es geht momentan ja nur SW ! wäre es denn möglich und auch machbar, das ganze mit 16 Graustufen ? mfg Kay
Um Graustufen zu erzeugen, muss eine zeitliche Modulation erfolgen, für drei unterschiedliche Helligkeitsstufen müsste der Bildinhalt zweimal nacheinander ausgegeben werden. Die Helligkeitsstufen sind dann: 0 - Pixel bleibt bei beiden Durchläufen aus 1 - Pixel wird nur bei einem Durchlauf angesteuert 2 - Pixel wird bei beiden Durchläufen angesteuert Sowas reduziert die Bildqualität noch weiter (IMHO sind TN-SW-Displays eh' nicht das weiße vom Ei) und steigert den Speicherbedarf. Gut, so ein 32K-SRAM kost' nicht die Welt, und man müsste die alle nur parallelschalten und könnte derzeit unbenutzte Portleitungen mit den /CS-Eingängen der SRAMs verbinden. Die Software müsste nach jedem Frame auf ein anderes SRAM umschalten, was nicht schwer sein dürfte. Übrigens ein dickes Lob an Benedikt. Mit welcher Framerate arbeitet diese Schaltung eigentlich?
Die Framerate beträgt etwa 65Hz. Bis 80Hz sind möglich, aber dann geht ab und zu mal ein Datenbyte verloren. Daher habe ich es soweit reduziert, dass man ein Vollbild am Stück senden kann, ohne dass irgendwas verloren geht. 65Hz ist noch im erträglichen Bereich: Vor allem bei den alten LCDs sieht man dann noch kein Flimmern. Das mit der schlechteren Bildqualität stimmt nur bedingt: Um 16 Graustufen darzustellen, braucht man 15 Bilder und somit auch die 15 fache Geschwindigkeit (zumindest in der Theorie). LCD Controller wie der S1D13704 machen das aber irgendwie anderst, aber echt gut. Selbst wenn die (theoretische) Displayfrequenz nur 70Hz/15=4,67Hz beträgt, sieht man da kein Flackern. Graustufen wären bei dieser Schaltung zwar möglich, aber dadurch würde die Displayfrequenz auf etwa 30Hz sinken, was auf jedenfall gut sichbar flackert. Bei 640x480 kann man auch ganz gut mit SW leben. Auf alten PC System (Atari) konnte die Grafikkarte auch nur 640x400 und 2 Farben (also Schwarzweiß) mit dem Standardmonitor. Um trozdem Graustufen darstellen zu können, kann man ja immer noch Streuraster verwenden. Siehe Bild im Anhang.
Hallo, @Bendedikt: Für die negative Spannung ( - 17V ) benutzt du also einen MC34063 ? Für die CFL´s brauche ich doch noch einen Inverter oder ? würde mir die teile gerne bei reichelt bestellen, will aber erst warten, bis ich alles zusammen habe. deswegen frage ich mfg Kay
Der MC34063 schafft gerade so die -18V bei 5V Eingangsspannung. Der Wirkungsgrad ist miserabel (ca. 50%), aber es geht. Ich habe das ganze mal durchgerechnet, in der Theorie lassen sich maximal 55% Wirkungsgrad und max. -20V erreichen, was gerade so reicht. Die CCFLs brauchen auch noch 2 Inverter, da das Pollin LCD 2 Röhren hat !
Hi Benedikt! Wie überträgst du dann die Daten zum Display und von wo aus? Hast du das am PC angeschlossen oder wie darf ich mir das vorstellen? Ich habe auch ein 640x480-monochrom-LCD und würde das gerne an meinen PC an den LPT anschliessen und mit LCDInfo betreiben. Denkst du es wäre möglich deine Schaltung in diese Richtung zu modifizieren? Beim MC34063 kann man durch ändern der Spule und der Arbeitsfrequenz noch ein bisschen rausholen. Sowohl bei der Ausgangspannung als auch beim Wirkungsgrad. Ich weiß nicht wie du den betreibst, aber evtl. könntest du noch ein bisschen raushloen...
Ds LCD bekommt die Grafikdaten seriell. Ich sende einfach ein SW BMP mit 115,2kbaud an den AVR, der es dann auf dem LCD darstellt. Leider dauert der Aufbau eines Bildes 3s, es ist also nichts für schnelle Grafiken. Außerdem ist es zu keinem vorhandene LCD Controller Standart kompatibel. Gibt es irgendwelche seriellen Grafik LCDs ? Wenn ja, dann könnte ich dieses nachbilden, so dass man es mit irgendeiner Standartsoftware ansteuern kann. An sich wäre zwar auch eine Ansteuerung über den LPT möglich, aber dieser ist warscheinlich zu schnell für den AVR, der hauptsächlich mit der LCD Ansteuerung beschäftigt ist.
Von seriellen GLCDs weiß ich nichts, sorry! An das Handling hatte ich nicht gedacht, stimmt... Der AVR hätte vermutlich keine Chance mit der Geschwindigkeit des LPT mitzuhalten, selbst wenn sich am Bildinhalt kaum was ändert... In dem Fall hat sich das schon wieder ziemlich erledigt und werde mir doch einen S1D1.... holen und eine Platine und Treiber dazu machen müssen... Trotzdem recht vielen Dank!
benutz doch die software LCDHype (www.lcdhype.de.vu) dafür kann man sehr einfach treiber entwickeln (das meißte is open source) und nen treiber der nur n bmp sendet is ja nich wirklich schwer zu schreiben
@Hauke das mit lcdhype wäre schon toll. nur bringt es mir ja auch nix, wenn das aufbauen einens Bildes 3s dauert. mfg Kay
Den Bildaufbau könnte ich beschleunigen, wenn ich anstelle der seriellen Verbindung eine parallele verwendet. Allerdings muss diese von der Geschwindigkeiz her begrenzt werden, bzw. vor jedem Datentransfer bzw. Befehl das Busy Flag abgefragt werden. Die LCD Ausgabe benötigt rund 12MIPs (für 60fps) bzw. 14MIPs für 70fps. Der mega8515 verkraftet problemlos 20MHz, was also 6MIPs nur für den Datentransfer zur Verfügung stellen würde. Pro Byte werden rund 70 Takte benötigt. Somit würde eine Aktualisierung rund 0,5s dauern, wenn alles optimal läuft ! Falls also jemand ein Plugin schreiben kann (und möchte), ich erweitere meine Software gerne um einen schnelleren Datentransfer zu ermöglichen. Ein 640x480 LCD am LPT wäre schon super, vor allem da der mega8515 und die paar ICs kaum was kosten...
hi benedikt, wenn Du so ne parallele Ansteuerung machen könntest, könnte ich probieren, ne Software für die Parallele des PC´s zu schreiben !! mfg Kay
wenns weiter geht, ich hätte auch interesse! PS: der programmierer dieser Software ist sehr offen in sachen vorschlägen ... der hilft euch auch gerne weiter!
Ich werde dann in den nächsten Wochen mal meine Schaltung auf parallel umbauen und testen. Sobald die erste Version läuft, melde ich mich wieder.
Hallo Benedikt, Ich hab zuhause ein 640x480 von einem alten Olivetti Notebook - jedoch keine Steckerbelegung. Könntest du mir dabei vielleicht weiterhelfen wenn ich ein paar Fotos davon mache? Danke. lg leo
ein paar fotos reichen meißt nicht! man bräuchte schon ein Datenblat oder ähnliches!
wenn ichs hätte... die chip-bezeichnungen hab ich gegooglet, jedoch nichts gefunden. vielleicht hat jemand mit solchen dingern mehr erfahrung als ich und kann mir dabei helfen, die chips zu identifizieren. danke
Um ein Datenblatt oder sonstige Infos zu finden, gehe ich immer so vor: Nach der Bezeichnung googlen. Mit etwas Glück findet man ein paar Notebook Manuals, in denen die Anschlussbelegung steht. Der Rest ist dann eine Kleinigkeit.
hi benedikt, was mich auch noch interessieren würde : Ich suche noch nach einer möglichkeit, das LCD als Kontrollmonitor zu benutzen. also ich will keine kompletten bilder anzeigen, nur Texte an einer bestimmten Stelle anzeigen. Könnte ich das auch über die serielle lösen ? wäre das möglich ? mfg Kay
@Hauke Radtki Ob Text oder Bild ist egal, das ist ein Grafik LCD ! Ein weiterer AVR als Character Generator, mit schneller paralleler Anbindung oder mit SPI und dann sollte es eigentlich ganz gut funktionieren, Text anzuzeigen.
ne damit meinte ich nur, dass die übertragung über die serielle schnittstelle nicht lange braucht, wenn man nur zeichen schickt ;-P
hi, möchte das LCD also als Home Automation Kontroll LCD verwenden. Dazu möchte ich mit einem AVR Texte ( evtl. auch bilder ) über die serielle oder Parallele an das LCD senden. Nur fehlt mir halt das Wissen, den AVR für das LCD zu programmieren. Naja, vielleicht habe ich ja glück, und Benedikt hilft da ein wenig :-) mfg Kay
parallel wirkt sich auf jeden fall gut auf die geschwindigkeit aus!
malindenraumwerf Es gibt doch ein App-Note von Atmel das die Datenübertragung zwischen AVR und PC-Parallelport mit Datenraten von bis zu 400kBytes/s zeigt... könnte vielleicht interessant sein?
Die ganzen App Notes sind zwar an sich OK, aber bei der LCD Ansteuerung muss die Datenübertragung quasi im Hintergrund laufen. Da kann man dann mit 100kB/s schon sehr zufrieden sein...
wichtig ist mir halt nur, das ich auch mit nem anderen AVR auf den Controller für das LCD zugreifen kann. Mein Problem ist nur, das ich Basic'er bin und mit C oder ASM nicht viel weiter komm.
Hi Benedikt, ich hab hier gerade entdeckt, dass du die gleiche Idee hattest BMP Files seriell zum AVR zu übertragen. Ich hab da ein kleines Problem. Und zwar läuft das ganze bei mir mit einem 8515 an 8MHz, mehr als 34800 Baud funktioniert bei mir nicht, aber das genügt ja auch. Das Problem ist, dass im externen SRAM das 320x240 Pixel Bild auf etwa 320*40 Pixel zusammengestaucht ist, d.h. es wird von der seriellen Übertragung nur etwa jedes 6. Datenbyte in den Speicher geschrieben (mal mehr mal weniger, sehr variabel) im internen SRAM funktioniert dieses Verfahren einwandfrei, es scheint also gerade so, als ob der externe Speicher für die Übertragung zu langsam ist. Aber selbst wenn ich die Baudrate extrem reduziere so auf 1200 und das ist schon echt unangenehm langsam, hat er das selbe Problem. Ich glaube das ist ein Hardwareproblem, muss man da vielleicht Pulldowns oder Cs oder irgendwas an den Bus hängen ich weiss echt nicht, bei dir funktionierts ja offenbar mit 115kBaud. Also ich hab noch Zeit bis Fr, würde mich freuen, wenn mir jemand einen Tip geben könnte
Ohne Code und Schaltung kann ich dir leiter nicht weiterhelfen. Funktioniert denn die Ausgabe der Daten aus dem RAM auf dem LCD fehlerfrei ? Wenn ja, dann wird es eher nicht an einem Timingproblem beim SRAM liegen.
Ja die Ausgabe funktioniert einwandfrei. Was ich hier benutze ist ein Evaluation Board, hab also kein Schematic davon und das Speicherinterface sieht genauso aus, wie auf dem lcd.gif in einem der vorangehenden Beiträge. Ich hab den UART empfang schon mit und ohne Interruptsteuerung ausprobiert, ist immer das gleiche Problem. Ich glaube auch nicht, dass es ein Softwareproblem ist, beim UART Empfang kann man ja nicht viel falsch machen. Aber vielleicht eine Frage noch, mit welchem Programm sendest du denn die Bildschirmmaske an den AVR. Ich hab bisher immer eine Textdatei mit dem Hyperterminal geschickt, aber ich habe das Gefühl, der sendet das File viel schneller als die eingestellte Baudrate. Gibts da vielleicht was eleganteres?
Ich verwende das Bray Terminal oder HTerm http://www.mikrocontroller.net/forum/read-8-155472.html#new
Das ist genau das, was ich schon beim letzten Projekt gebraucht hätte Die Übertragung funktioniert jetzt auch, musste nur ne Zeichenverzögerung einstellen Thanx
Hi Benedikt, haste deine Schaltung schon auf Parallel umgebaut ? mfg Kay
Hi Benedikt, haste deine Schaltung schon auf Parallel umgebaut ? mfg Kay
Hab schon angefangen, bin aber noch nicht ganz fertig.
hab dazu noch ne kurze frage. wäre es denn auch möglich, die serielle zu verwenden und nur teile des Displays zu beschreiben, also z.B. Locate 10,10 "Hallo". Also das von oben der 10 Pixel und von links der 10 Pixel usw. Ich hoffe du verstehst mich ein wenig. wäre das möglich ?
Ja, das ist möglich. Dafür gibt des den SetCursor Befehl. Text lässt sich allerdings nicht direkt darstellen, da das Display nur einzelne Pixel anzeigen kann. Der Text muss also als Bild geliefert werden.
wie kann ich das aber mit einem Terminalprogramm machen ? unterstützt deine Schaltung das ganze ? mfg Kay
Leider nein, da 9bit an Daten übertragen werden müssen, um zwischen Daten/Befehl unterscheiden zu können. In etwa 1 Monat habe ich etwas Zeit, dann schreibe ich das ganze auf ein 8bit Parallelinterface um, ähnlich T6963 und Co. Dann kann man ein 640x480 LCD an den LPT anschließen...
das wäre ja prima. dann werde ich noch gerne warten. dankeschön
Hallo Benedikt, suche nach der Anschlussbelegung von LCD Display (640*480 BW) kannst Du, wenn möglich, Anschlussbelegungen zu Deinem Projekt veröffentlichen oder hast Du ne Webseite auf der Details zum Projekt sind?
Das Datenblatt zu dem LCD (EG9006) findet man irgendwo hier im Forum (es hieß glaue ich Pollin LCD blau)
Hallo , ich habe mehrere dieser Displays. Leider keine Unterlagen dazu. Haben Sie die Schaltpläne oder andere Unterlagen zu diesen Displays. Wie wäre es mit einem Tausch ? :-) Display gegen Unterlagen . Porto übernehme ich. uk
Sucht du Daten zum EG9006 oder zu einem anderen LCD ?
Die zum EG9006 sucht er bestimmt nicht, sonst hätte er sie ja hier im Forum schon längst gefunden...
Hmmmm ???? Das ist nicht so einfach. Es geht um 640 X 480 SW LCD von Pollin. Hab ich schon fast acht Jahre rumliegen. Leider habe ich nie die Unterlagen bekommen. Ich muss wohl mal die Kiste rauskramen und ein Bild einstellen. bis denn
Hallo ich habe noch ein 640 x 480 Display hier liegen. Folgendes steht drauf : H6480L-FT (oben) / H6485L-FF (hinten). Das Datenblatt ist auf : http://pingos.i7c.org/stuff/display/Datenblatt.pdf Funktioniert eure Schaltung/Software auch mit diesem Display ? danke Markus
Theoretisch kann man das Display auch damit betrieben, aber man müsste die Software etwas umschreiben, denn im Gegensatz zu den meisten LCDs ist deines kein Dual Scan Display (Bei einem Dualscan Display wird die obere und untere Displayhälfte gleichzeitig dargestellt, bei dire nacheinander).
Mir sind ein paar LCDs zugeflogen SP10Q003. Ich frage mich, ob ich mit dieser Loesung diese auch ansteuern kann? @Benedikt: Koenntest Du mal draufschauen? Danke! Alex
Ähnliche Antwort wie zuvor: Ist möglich, aber die Software muss angepasst werden.
Hallo zusammen, da bin ich wieder. Hab zwar noch keine Fotos aber die Bezeichnungen. Auf der Rückseite sind zwei Bezeichnungen angegeben. "LM641542" und "92C02935Y" Beim ersten gibt mir Google nur Bestellnummern für den Chip. Am Rand steht noch die Bezeichnung "Sharp", "X1075CP" und "MM V" Wie gesagt, ich habe zehn von den Dingern und geb auch gern das ein oder andere ab. Danke bis denn
Könntest du mal ein Foto davon machen, vor allem von dem Anschluss ? Wieviele Pins hat der Anschuss ?
Ist das Flachbandkabel der Anschluss, oder der 15 polige ? Dem 15 poligen nach könnte es dem LM64194 ähnlich sein, die Position der dicken Leitbahnen auf 6 und 7 passt zumindest schonmal (Vss und Vee). Wenn jetzt auch noch die Pins 11-15 am Flachbandkabel zum unteren Displayrand und Pins 7-10 am Kabel zum oberen Rand zu finden sind, könnte das durchaus sein.
Wenn das 14 polige Kabel 1:1 mit dem 15 poligen verbunden ist (außer Pin 4 beim 15 poligen, der bei 14 poligen fehlt), dann passt die Belegung sehr warscheinlich.
Hi Benedikt, du hast ja vor, das Display mit einem pseudo "T6963C" ansteuerbar zu machen. Wie siehts da eigentlich mit der Auflösung aus ? unterstützt der T6963C eigentlich ne Auflösung von 640*480 ??? Die Software die ich kenne unterstützen normalerweise nur 320*240 !! mfg Kay
Der 6963 kann an sich keine so hohen Auflösungen, aber das ist auch kein Problem, denn eine Initialisierung benötgt der 640x480 Controller nicht. Das Adressregister ist 16bit breit, reicht also für 512k Pixel. 640x480 sind nur 300k Pixel.
Das Display kenne ich. Ich meine auch, ein Datenblatt davon zu haben; das werde ich, wenn ich mich denn nicht total irre, hier heute abend posten. Nur soviel: Das Flachbandkabel ist der Anschluss, und das Display ist, wie üblich, in eine obere und untere Hälfte geteilt, die mit je 4 Bit angesteuert werden. Es müsste daher hervorragend zu Benedikts Ansteuerng passen. Mehr heute abend.
Meine Vermutung zur Anschlussbelegung (von 1-14): FLM, LP, XSCL, 5V, GND, -15-18V, UD0-UD3, LD0-LD3 Mal schauen ob ich richtig geraten haben...
Anbei Scans meiner leider recht schlechten Kopie des Datenblatts des LM641541, das wohl dem x42 entspricht. Die Teile gabs vor ziemlich langer Zeit (15 Jahre her?) mal bei einem Elektronikrestpostenhändler namens Bühler zum Spottpreis. Habe damals davon eines an einer ISA-Graphikkarte von Dr.Berghaus (ein anderer Name für eine Apotheke) in Betrieb genommen - funktioniert. Heutzutage sind solche Displays zwar verhältnismäßig uninteressant, aber man könnte, Benedikts Projektvorlage aufgreifend, daraus ja beispielsweise eine schicke Funkuhr bauen. Oder ähnlich nützliches ...
Hier die erste Testversion für den LCD Controller mit parallelem Anschluss (z.B. an einen anderen uC oder an einen PC über den LPT.) Für den Anschluss an den LPT, kommt Busy an Pin 11 (Busy), WR\ an Pin 1 (Strobe\) und C/D\ an Pin 14 (Autofeed). GND kommt an Pin 18-25 Das Kabel sollte sehr kurz sein (max. 1m), ansonsten muss man 74LS245 o.ä. dazwischen schalten, die Kabelreflektionen dämpfen usw. Im Paket ist auch ein einfaches QBasic Programm zur Ansteuerung enthalten. Damit lässt sich ein BMP mit 640x480 und 2 Farben laden. Die Ladezeit beträgt < 1s, bei meinem 900MHz PC unter Win98SE waren im Durchschnitt etwa 45kByte/s Datenrate möglich. Unter DOS über 50kByte/s. Immerhin das 5 fache gegenüber der RS232 Variante. Falls es jemand getestet hat, dann bitte ich um eine kleinen Kommantar, ob die Software funktioniert oder nicht. In den nächsten Tagen/Wochen werde ich hoffentlich eine fehlerfreie Version mit allen Features fertig bekommen.
hi, könntet ihr euch mal diesen thread angucken und mir sagen, ob man die hier genannte schaltung für mein problem benutzen kann? http://www.mikrocontroller.net/forum/read-1-206511.html
Die Antwort lautet (wie fast immer): Theoretisch ja, aber die Software muss entsprechend an das LCD angepasst werden. Wenn man die Ausgabe etwas optimieren möchte, dann ist in diesem Fall noch ein Schieberegister notwendig, da dein LCD zwei Bit benötigt, meine Software aber 8bit ausgibt. Mit einem HD61830 oder einem T6963 wäre das ganze warscheinlich einfacher.
Baust du dann auch nen charter generator wie beim t6963c ein? das wäre dann nämlcih extrem praktisch!
Ich kanns mal versuchen, allerdings wird dieser ziemlich langsam, denn immerhin muss ich für ein 8x8 Zeichen 16Bytes schreiben und 16Bytes lesen (da die Daten als 4bit Werte gespeichert werden). Außerdem hat man keine getrennten Bereiche für Text und Grafik, sondern der Text überschreibt stur die Grafik (eventuell könnte man auch OR, AND, XOR einbauen).
Hier die neue Version mit Character Generator (der erstaunlich schnell ist). Insgesamt gibt es ein paar Änderungen/Verbesserungen: - 8x8 Character Generator, damit ist eine schnelle Textdarstellung möglich - leicht überarbeitete Ansteuerung (mit hoffentlich weniger Störungen, ich hasse den LPT !!!) - verbessertes Display Timing. Das leichte Flimmern während einer Datenübertragung ist jetzt weg. Außerdem nimmt sich der Controller etwas mehr Zeit indem er Busy setzt, während er mit dem LCD beschäftigt ist. - PWM Ausgang (OC1B auf PortE2) z.B. für Kontrastreglung per Software einstellbar. Damit hat der mega8515 jetzt keine freien Pins mehr.
Respekt! Du warst ja sehr schnell! Ich glaube ich werde mir die schaltung jetzt auch einmal aufbauen!
Jetzt muss sich nur noch jemand finden, der eine geeignete Windows Software (z.B. als Plugin für eines von den vielen LCD Progs) dafür schreibt. Meine Fähigkeiten hören beim normalen C auf... Unter Win98/DOS habe ich mir auf dem LCD schon einen (etwas ruckelnden) Film in 320x180 angeschaut. Das lief ganz gut.
Also ich find die Software LCDHype sehr passend dafür, das einzige problem ist, dass die software intern auf 320x240 beschränkt ist aber vielleicht lässt sich das irgendwie aufbohren ... mal fragen
Ich habe gerade mal einen kompletten Film über den LPT auf dem LCD angeschaut, und hatte keinen einzigen Übertragungsfehler, kein Flimmern, nichts. Es waren durchschnittlich rund 50kByte/s, was bei 320x180 rund 6fps macht. Das sollte eigentlich reichen. Viel schneller sind auch die meisten normalen LCDs mit Controller am LPT nicht. Schreibt jetzt irgendjemand dafür eine Windowssoftware, um das LCD sinnvoll nutzen zu können ? Und noch ein Tip: Vergesst nie bei >8MHz CKOPT zu setzen ! Anfangs hatte ich gewaltige Probleme, immer wenn ich das Windows Logo aufs LCD übertragen habe, kam nur Mist raus. Nach weiteren Tests (insgesamt rund 10 Stunden !) habe ich gemerkt, dass der Fehler immer auftrat, wenn ich helle Bildinhalte übertragen habe. Jetzt habe ich ein StartLogo eingebaut. War diese an Zeile 10 positioniert lief alles. Bei Zeile 50 dauerte das Laden des Logos 5-30s. Bei Zeile 100 unendlich lange. Und die ganzen, äußerst merkwürdigen Fehler, lagen alle nur an der nicht gesetzen CKOPT Fuse !
Morgen, erstmal Respekt. Son geiles Projekt. Und nun ne Frage hat mal einer von euch son display über ???
Soeben habe ich die 100kB/s Marke geknackt ! Die Begrenzung liegt nicht am AVR, sondern am PC. Dieser muss 5 IO Zugriffe für jeden Schreibvrogang ausführen, was sehr viel Zeit kostet. Eventuell könnte man den ECP Modus verwenden, da der Write Impuls bei diesem automatisch erzeugt wird. Ebenso wird selbständig Busy abgefragt. Hier mal ein paar aktuelle Daten: Dauer eines Schreibvorgangs: ca 2,3us Maximale (von mir) erreichte Datenrate: konstant 100kByte/s 100kByte/s entsprechen 2,6fps mit vollen 640x480 Pixeln Auflösung oder 0,8 MegaPixel pro Sekunde ! Das übertrifft so ziemlich die meisten LCDs die ich bisher je am LPT gesehen habe... Der LCD Controller benötigt ca. 50% der CPU Leistung (bei 60Hz LCD Frequenz und 18,432MHz CPU Takt.) Es sind also noch rund 50% frei. 50%*1s/2,3us= ca. ~200kB/s (zumindest theoretisch) Bei 100kB/s ist also noch eine ausreichende Reserve frei. Im Anhang eine leicht überarbeitete Version des LCD Controllers (besseres Busy Timing, dadurch schneller) und ein C Programm (Programm + Source) zur Ansteuerung. Damit lässt sich eine beliebige SW BMP Datei laden. Leider läuft dieses Programm nur unter Win95/98. WinXP und ähnlicher auf NT basierender Schrott verweigern leider den direkten Hardware Zugriff.
Sry will E-Mail-benachrichtigung. Is kein Doppelpost.
Hallo zusammen, vielen Dank für die Hilfe. das Datenblatt von Rufus scheint zu passen. Gratuliere ein Display wäre damit für Rufus reserviert. Benedikt bekommt sowieso eins. (Wenn er will) @Rufus & Bennedikt: Wenn ihr eins möchtet. Kurze email reicht. Drei hätte ich dann noch über. Wer zuerst kommt mal zuerst. bis denn
Also wenn Dieter sich nich meldet dann möcht ich zwei aber ABWARTEN.
@Udo So ein Display suche ich schon seit längerem. Die Hintergrundbeleuchtung bei meinem stört nämlich (sowohl vom Aufwand her, als auch elektrisch gesehen). Die HF der CCFL Röhren stört manchmal dermaßen, dass der AVR instabil läuft wenn der Metallrahmen nicht gut geerdet ist. PS: Falls du irgendwelche Wünsche/Ideen für die Controllersoftware hast, nur raus damit...
Wie sieht es eigentlich mit 320x240 LCDs aus ? Besteht Bedarf an einem Low Cost Controller für LCDs mit 4bit Anschluss ? Dann würde ich den 640x480 Controller ein wenig anpassen, so dass er 4bit LCDs ansteuern kann.
Hallo Benedict, würde mich brennend interessieren. Gruss, Ralf
@Udo K.: Das freut mich, daß mit meinem Datenblatt was anzufangen war. Hoffe, daß es wenigstens halbwegs lesbar ist. Danke für das angebotene Display ... ich verzichte dankend. Komme derzeit zu keinen Bastelorgien und habe außerdem bereits ein zum Datenblatt passendes Display 'rumliegen. Von mir aus sei es Benedikt gespendet, denn der hat es mit seinem Projekt hier wirklich verdient.
Hallo, @Benedikt Dann bekommst du zwei :-) Dann sind álle fünf weg. Nochmals Danke bis denn uk
Für alle diejenigen, die WinXP oder ähnliches haben, und nicht zu einfach auf den LPT zugreifen können, hier die Lösung: http://darkface.pp.se/~spleen/lsd/awkiawki/index.cgi/UserPort Damit läuft auch mein kleines Beispielprogramm, das ich vor kurzem gepostet habe. Auf meinem 2,2GHz Rechner sind es jetzt 140kByte/s... Ich habe auch noch ein kleines Video (in leider miserabler Qualität) angehängt, das ein 640x400 Video auf dem LCD zeigt.
Hier gibt es schon wieder eine neue Version. Diesmal habe ich horizontales Scrolling eingebaut: Bisher wurden von den 256 Bytes die für eine Zeile reserviert waren nur 160Bytes verwendet. Die restlichen wurden nie geschrieben oder gelesen. Jetzt kann man 250Bytes (=1000Pixel) davon beschreiben, und die Ausgabeposition in 4 Pixel Schritten um 0-89 Werte (=0-356Pixel)verschieben. Das 640x480 LCD lässt sich jetzt frei in einem virtuellen 1000x480 Raum positionieren. Vorsicht beim Austausch durch die neue Software: Eine Zeile im Speicher ist jetzt nicht mehr 160Bytes, sondern 250Bytes groß, daher funktionieren einige der alten Ansteuerprogramme nicht mehr richtig. Schön wäre auch ein vertikales Scrolling gewesen, aber dazu reicht der Speicher nicht: Von den 256 Zeilen werden 4 durch das interne RAM des AVRs ausgeblendet. 2 weitere gehen duch den Overscan verloren, so dass noch 250 bleiben. Wegen 10 Zeilen ein Scrolling einbauen bringt nichts. Außerdem ist alles aufgrund der DualScan Ausgabe nicht so einfach.
Ich habe mal ein uraltes Winamp Plugin ausgegraben und auf das 640x480 LCD angepasst. Was herauskam sind einige nette Visualisations, die teilweise ziemlich ruckeln, aber trotzdem ganz nett sind. Auch ein paar (eigentlich total nutzlose), aber trotzdem gut aussehende (z.B. in 3D) kamen dabei heraus. Immerhin hat man ein VGA Display nur als Winamp Plugin laufen... Die Datei einfach ins Winamp/Plugins Verzeichnis kopieren. Es ist zwar noch eine absolute Alpha Version, weshalb Winamp mit Sicherheit ab und zu mal abstürzen wird, aber für den Anfang ist es ganz OK. Hat eigentlich überhaupt schonmal jemand den Controller nachgebaut ?
Benedikt, ich will. Muss aber erst meine ersten AVRs bestellen. Übernächste Woche gehts los. Und eine kloine Frage. Kann man das ganze USB fähig machen. Linuxtreiber könnt ich dann versuchen zu progen. Als Monitorersatz an servern wäre es schon Klasse. Oder meine Idee. Das ganze in einen (Plexiglas-)Bilderrahmen auf dem Mann auf Lans die Gamestates anzeigen kann. mfg Lukes Vader
Ich hab jetzt Ferien, und will den auch nachbauen! USB fähig könnte man das ganze machen, indem man einen USB -> Seriell wandler nutzt (also rs232) und dann mit nem controller (ein weiterer) das ganze auf parallel wandelt (also nich nur parallel, sondern parallel + steuerleitungen) der FTDI chip schafft glaub 3 mega Baud, also sollte das reichen Sowas hab ich schon mal für nen 240x128 t6963c LCD überdacht, und ich bin bei einer framerate von ca 20 fps gelandet.
Wiso so kompliziert ? Am Anfang hatte ich anstelle des Parallelports den UART verwendet. Wenn man den auf das maximale einstellt was der AVR schafft, dann sollte das eigentlich reichen. Allerdings müsste man dann einen 16MHz Quarz nehmen wegen den FT232 Baudraten, aber 100kBytes/s sind immer noch ganz OK. Unterstützt der FT232 hardwaremäßig CTS ? Dann wäre das Busy Problem schonmal gelöst... Allerdings bleibt ein Problem, weswegen ich überhaupt auf Parallel umgestiegen bin: Wie unterscheidet man Befehle/Daten ?
Befehl/Daten könnte man entweder mit einer der weiteren leitungen bewältigen, die man bei rs232 hat. oder man müsste 9 bits senden, wobei z.b. das erste bit angibt, obs befehl oder daten ist (9 bits in einem frame senden geht ja mit rs232)
Mit RS232 ja, mit FT232 nein. Ich hatte es anfangs mit UART und 9bits gemacht, nur ein PC kann einfach keine 9bits, so wie der uC. Ich habs dann auf Low Level ebene gemacht: UART Register eingelesen, geschaut ob der Puffer leer ist, dann das Parity Bit auf Mark/Space eingestellt (je nachdem ob Befehl oder Daten) und dann das Byte ins UART Register geschrieben. Vor/nach jedem Befehl war dann eine mehrere ms lange Pause angesagt. Wenn man das mit einer zusätzlichen Leitung macht, hat man genau dasselbe Problem, da man nie weiß wann noch Daten im UART FIFO sind. Der FT232 unterstützt schonmal den 9bit Modus garnicht. Zumindest dekodiert er das Parity Bit, und überträgt es garnicht erst vom/zum PC. Man müsste hier auch vor/nach jedem Befehl Mark/Space umschalten, aber das ist vermutlich extrem langsam. UART wäre mir auch viel lieber als LPT, aber es einfach sehr viel komplizierter. Ich bin für alle Vorschläge offen, wie man das LCD sonst noch möglichst einfach an den PC hängen kann.
Hallo. Ich werde den Controller demhaechst nachbauen. Die Sachen sind schon bestellt. Allerdings moechte ich das SP10Q003 von Hitachi ansteuern. Habe auch noch ein paar davon. Alex
Ich fürchte das mit dem SP10Q003 wird nicht so einfach gehen. Ein 320x240 LCD könnte man noch so ohne weiteres am Controller betreiben (auch wenn die Software nicht optimal dafür ist), aber SP10Q003 ist ein 240x320 LCD (also 240 Pixel breit, 320 Pixel hoch). Es wird zwar was auf dem LCD erkennbar sein, aber wirklich zu gebrauchen ist das warscheinlich nicht.
ja, das ist mir klar. Ich werde natuerlich auch die Software dementsprechend anpassen muessen. Eine Sache ist mir noch nicht ganz klar: Wie erzeuge ich die CL1 und CL2 Signale, aber das wird auch schon. Alex
Hi Leute, endlich hab ich mal eine Seite gefunden, die auch meine, bei eBay ersteigerten, Displays nennt. Ich bestitze die SHARP LM641541 Dinger. Jetzt überleg ich mir, die Displays als Anzeige für Uhrzeit, Anrufe, Netzwerkverbindungen etc. unter Linux oder Windows einzusetzen. Meine Überlegung war, das man die Displays in jedem Raum der Wohnung hat. Dazu wollte ich den, von C'Ts entwickelten ETHERNET 2 SERIELL Adapter verwenden, weil ich einfach net so viele serielle Ports zur Verfügung hab, auch denke ich, das die Letungslänge mit teilweise über 10 Metern nicht unbedingtperfekt ist. Jetzt wollte ich fragen, ob jemand schon für das SHarp Display ne Ansteuerung gemacht hat, bzw. Ansteuerung seriell, mit Texteingaben und Grafik. Meine Rechner haben leider keine Parallelen Port mehr und die Serielle ist wegen eines Bastelfehlers meinerseits defekt. Ich habe 7 Displays, wovon ich für meine Zwecke 4-5 bräuchte. Wer eines zu Testzwecken haben möchte, der kann sich bei mir via eMail melden. Dummerweise bin ich nict unbedingt der Basteltyp, habs mehr mit Basic, würde aber versuchen, irgedetwas an Programm zu schreiben, mit dem ich was auf dem Display ausgeben kann. Danke für Eure Anteilnahme... Gruß Björn
CL1 = LP CL2 = XSCL Das Datenblatt vom SP10Q003 ist schon lustig: Bei der Anschlussbelegung heißen die Dinger CL1 und CL2, im Timing Diagramm CP und Load Ich habe mal eine kleine Schaltung angehängt, wie man die 8bit Daten des SRAMs bei 4bit LCDs effektiver nutzen kann. Die Software muss allerdings ziemlich stark geändert werden.
Im Moment bin ich gerade dabei die Software wieder auf serielle Schnittstelle über den UART umzuschreiben. Die Datenrate lege ich erstmal auf 1MBit fest, was best case 100kB/s liefern sollte. Das ganz wird dann über einen FT232 laufen, was die Ansteuerung per PC warscheinlich ziemlich vereinfachen wird. Der Busy Ausgang wird Hardwaremäßig vom FT232 über CTS ausgewertet, was für eine effektivere Datenübertragung sorgen sollte, da die Response Zeit gegen Null geht.
Hier nun die erste Testversion des LCD Controllers mit USB Anschluss über einen FT232. Der mega8515 läuft nun mit 16MHz, um eine Baudrate von 1MBaud = 100kB/s zu erreichen. Das ist zwar nicht ganz so schnell wie die parallele Version, aber der Anschluss und die Ansteuerung sind einfacher, die CPU Auslastung viel geringer und die Übertragung sicherer. Im Anhang die Software, Schaltbild und ein kleines Windows Programm + Source um ein BMP zu laden.
Was bring ein LCD ohne passende Sofware, die was sinnvolles darauf anzeigt? Nichts ! Aus diesem Grund habe ich mit Hilfe der Programmiers von LCDHype (ViRuSTriNiTy) einen Treiber geschrieben, der das 640x480 LCD ansteuern kann, obwohl LCDHype (http://www.lcdhype.de.vu/) eigentlich nur 320x240 unterstützt. Mit einigen Tricks geht das auch ganz gut. Leider läuft das ganze noch recht langsam und instabil, aber das werde ich hoffentlich bald behoben haben.
Hier mal die aktuellste USB Version mit Treiber und Beispiel für LCDHype.
Hallo, danke benedikt für diese Infos. Sehr geil. werde jetzt die restlichen teile bestellen und dann gehts los. danke Kay
Hallo.... @Benedikt: Ich habe jetzt meine Hardware soweit zusammengeloetet. Mein Problem ist jetzt die lcdconpar.asm zu uebersetzen. Ich habe auch schon mal versucht die .hex datei in meinen 8515 herunterzuladen, aber ich bekommen den Fehler: "Address: 0x0000, Expected: 0xc020, Received: 0xffff" Jetzt meine Fragen: 1. Gibt es einen besonderen Trick um die .asm zu uebersetzen? 2. Was bedeuted diese Fehlermeldung? Alex
Hi Leute, es hat sich erledigt -> habe den Fehler gefunden. ;-)) Alex
@Kay, Alex1 und die anderen die den Controller nachbauen: Gebt mal bitte einen Kommentar dazu ob, ob die Schaltung bei euch problemlos läuft. Ich habe jetzt 2x die USB Version und eine parallele bei mir am Laufen und hatte eigentlich keine größeren Probleme. Zumindest hängte sich der Controller nie auf (wenn doch wäre es auch nicht schlimm, da der Watchdog eine Beschädigung des LCDs verhindert). Bei der parallelen Version muss man nur etwas mit dem Ansteuertiming aufpassen.
hi, wenn ich den controller nachgebaut habe, werde ich auf jedenfall meine Erfahrungen dazu schreiben.
Hallo... @Benedikt: Ich habe immer noch den Fehler beim Programmieren. Das "ding" (AVRProg) meldet immer den selben Fehler!? Hmmm..... "Address: 0x0000, Expected: 0xc020, Received: 0xffff" Koennt ihr mir auf die spruenge helfen? Danke Alex
Ich würd mal sagen dein Programmer programmiert nicht... Es sollte der Wert 0xx020 drin stehen, es steht aber 0xffff = gelöscht drin.
Ja, klar. So weit ich weiss werden die neuen Sachen mit FF geliefert. Wie bekommen ich das Ding zum Programmieren? Ich habe grad mal meinen JTAG noch mal neu Programmiert. Der Progger geht. Alex
Hi wollte fragen ob noch jemand ein lcd zu verkaufen hat ... gruss flo
Ich habe 2 LCD, eins kann ich abgeben. Brauche aber jemanden, der mir die Schaltung aufbaut und den Controller proggt.
hi würde als gegenleistung die schaltung für dich aufbauen und den Controller proggen
Hi, wie ich schon oben geschrieben habe, hab ich auch noch mehrere von den Displays... wenn mir jemand die schaltung aufbaut (aber bitte seriell) dann kann er eins von diesen Displays haben... Natürlich nur mit einer Kostenverrechnung... Ich sag nur, die Displays waren sehr billig... und somit bekommt der Löter von mir das Geld zurück... bis denne Björn
@Björn Was sind das für Displays ? Die von Pollin ? Hintergrundbeleuchtung ?
Ich bestitze die SHARP LM641541 Dinger. leider sind es nur die displays, ohne hintergrundbeleuchtung, etc. also die reinen displays wie auch noch weiter oben abgebildet sind (einfahc mal nach LM641514 suchen) da sind sie abgebildet... bis denne Björn
@Florian Bratschi Ich habe die Sharp LM641542, also auch ohne Beleuchtung. Wäre damit einverstanden. Kannst du USB-Bauen ?
Also, ich bräuchte eine funktionierende serielle ansteuerung für die 641541er... wer mir so ein ding bauen kann, der kann von mir auch ein display haben... bzw. ich kann auch welche verkaufen, wenn jemand interesse daran hat. ich selber bin, obwohl prozeßleitelektroniker gelernt, nicht in der lage, das bauen zu übernehmen, programmieren leider auch net, hab halt net das zeug dazu. interesse??? info@r-byte.de bis denne Björn
Ist denn das LM641541 kompatibel zu der Schaltung? Wenn ja wäre ich bereit die Schaltung aufzubauen.
Das LM641541 funktioniert mit der Schaltung, (hier auf dem Bild sieht man es http://www.mikrocontroller.net/attachment.php/216186/lcdhype.jpg ) Demnächst werde ich mal den FT232 durch den FT245 ersetzen. Damit sollte eine höhere Datenrate mglich sein (theoretisch bis zu 200kByte/s.)
sobald hier jemand eine fertige Platine oder ein fertiges Modul verkauft, möchte ich schon mal bedarf anmelden für mich. Gruss, Ralf
Hi, Benedikt: Sehe ich das richtig, dass man das LCD Zeilenweise direkt und Spaltenweise alle 8 Pixel mit dem Cursor ansprechen kann? Gruss Tobias
Ja, theoretisch wäre es sogar möglich Spaltenweise alle 4 Pixel zu adressieren, aber dazu sehe ich keinen Bedarf.
Hi, jo das waere wohl auch bissel unoetig :) Nochwas: Write: in regsave, sreg sbrc NextOp, CD ;Befehl oder Daten ? (Bit gesetzt für Com, d.h. vorhergehendes Byte war Escape) rjmp Comm cpi temp, Escape ;Akteller Wert = Escape ? brne Daten ;Wenn nein, dann Bilddaten sbr NextOp, 1<<CD ;Wenn ja, dann ist nächster Wert ein Befehl -> NextOp.Escape setzen. out sreg, regsave reti Daten: cpi NextOp, 0 ;Paramter oder Daten ? brne Next Wenn man den Check auf Parameter vor die Erkennung eines Escapes setzten wuerde, dann muesste man doch auch bei den Paramtetern nicht staendig ein doppletes Escape schicken, wenn der Paramter eins ist. Waere zwar nur ne kleine Verbesserung, aber das ist mir gerade aufgefallen. Gruss Tobias
Ich bins nochmal :) Wei sjemdn was das LM641541 fuer einen Stecker benoetigt, und wo man den organisieren kann? Ich eis, dass es ein 15 poliger Folienstecker ist, mehr aber auch nicht. Gruss Tobias
Das mit dem Kabel bei den LCDs löse ich ganz einfach: Meist ist es ein Folienkabel mit 1,27mm Raster. Das einfach auslöten und stattdesse ein normales Flachbandkabel dran, das auf der anderen Seite einen 14 oder 16 poligen Stecker aufgequetscht bekommt. Das mit dem Escape bei den Parametern verstehe ich nicht so ganz... Escape -> nächstes Byte ein Befehl Escape, Escape -> Datenwert/Parameter mit dem Wert Escape Doppeltes Escape wird nur gesendet, wenn der Datenwert den Wert Escape hat.
Hi, jo das mit dem Flachband ist ne gute Idee. Zu dem Escape: Wenn der Paramter den Wert Escape hat wird ja zuerst in die Comm Routine und dann in die Datenroutine gesprungen. Danach wird dann nochmal ueberprueft, ob es sich um einen Paramter handelt. Wenn man einfach gleich, noch vor der Escape abfrage, ueebrpruft, ob es sich um einen Paramter handelt kann mal ja gleich in die next Routine springen und erspaart sich die zwei anderen Spruenge und Vergliche. Praktisch also das: Write: in regsave, sreg sbrc NextOp, CD ;Befehl oder Daten ? (Bit gesetzt für Com, d.h. vorhergehendes Byte war Escape) rjmp Comm cpi NextOp, 0 ;Paramter oder Daten ? brne Next cpi temp, Escape ;Akteller Wert = Escape ? brne Daten ;Wenn nein, dann Bilddaten sbr NextOp, 1<<CD ;Wenn ja, dann ist nächster Wert ein Befehl -> NextOp.Escape setzen. out sreg, regsave reti ;*** Bearbeitung der Daten *** Daten: sbi portd, XSCL ;Datenverbindung zum LCD unterbrechen Jezt kann man einen Paramter, der den Wert Escape hat auch direkt als Escape senden. Bitte sag mir, wenn ich einen Denkfehler hab :) Gruss Tobias
OK, jetzt habe ich das verstanden. Wäre machbar, würde vermutlich so ca. 1us sparen, aber das würde insgesamt nicht viel beschleunigen, denn es bringt nur was wenn der Wert Escape als Parameter gesendet wird, und das passiert im Vergleich zu den Daten relativ selten. Ich könnte es ändern, aber es würde eben nicht viel bringen. So gilt für alles (ohne Ausnahme): Escape=Beginn eines Befehls, 2x Escape=Wert Escape. Viel mehr Geschwindigkeit könnte man über eine ordentliche Windows USB Programmierung rausholen. Da im parallelen Modus über 150kByte/s möglich sind, über USB aber nur etwa 60-70kByte, liegt es nicht am AVR, dass die Daten so langsam übertragen werden. Ich habe das ganze mal von seriell mittels FT232 auf FT245 umgeschrieben. Dies hat den Vorteil, dass der uC selbst bestimmen kann wann er Daten bekommen möchte. Deshalb ist das ganze etwas schneller, verursacht weniger Fehler und liefert absolut kein Flimmern mehr auf dem LCD, da nun keine Interrupts mehr verwendet werden. Von der Windows Softwar her ist das ganze kompatibel zur seriellen FT232 Version.
Hi, Benedikt: Interpretiere ich deine Schaltung so korrekt: D7 = LD0 ... D4 = LD3 D3 = UD0 ... D0 = UD3 Wie werden denn S,CP1 und CP2 des LM641541 auf XSCL,FLM und LP deiner Schaltung abgebildet? Kann man als Diode D1 am MC34063 eine Standarddiode einsetzen? Schonmal vielen Dank :) Gruss Tobias
PA0=LD0 PA1=LD1 PA2=LD2 PA3=LD3 PA4=UD0 PA5=UD1 PA6=UD2 PA7=UD3 Wenn eine dieser Leitungen verdreht ist, sieht das Bild etwas zerstückelt aus... XSCL=CP2 LP=CP1 FLM=S Die Diode D1 sollte schnell sein, also keine 1N400x usw. sondern eine Fast/Ultra Fast Switching Diode oder nahezu jede beliebige (kleine) Schottky Diode wie BATxx
Hi, @Benedikt: Ich habe jetzt alles so weit laufen (ich meine meine Hardware). Ein Problem habe ich trotzdem noch: Das Display SP10Q003 hat ein Signal M (Switch signal to convert liquid). Ist das das invertierte FLM? Ich habe die Hardware erstmal ohne die Optimierung von 8 Bits auf 4 Bits, d.h. ich habe den 7474 und 74157 nicht in die Schaltung genommen, sondern nur die oberen 4 Datenbits angeschlossen. Momentan versuche ich durch Deinen Code zu steigen (ueber die parallele Schnittstelle). Ganz so ist mit das nicht klar ;-(( Alex
M oder auch AC Drive genannt ist einfach eine Rechteckspannung im Bereich von 50-500Hz (hier am besten so um die 100Hz nehmen) mit exakt (und ich meine wirklich exakt) 50% Tastverhältnis. Entweder schreibst du den PWM Ausgang für die Kontrastregelung auf den CTC Modus mit Toogle Pin at TC um, damit an dem Pin eine entsprechende Frequenz ausgegeben wird, oder du nimmt einem 4060 und benutzt einen der Teilerausgänge, denn hier hat man immer genau 50% Tastverhältnis. Die Software ist ziemlich stark kaputt optimiert, vor allem da von UART mit 9bit auf parallel mit 9bit (LPT), von parallel auf UART mit 8bit (FT232) und von UART mit 8bit auf parallel mit 8bit (FT245) umgestellt wurde... Wenn du den Code nicht verstehst, beschreib mal genau die Stelle an der es hängt.
@Benedikt: Danke fuer die Infos. Es ist lange her, dass ich Assembler gemacht habe, d.h. ich brauche auch etwas laenger um wieder reinzukommen. Ich werde mich dann melden. Danke. Alex
@Benedikt: Zuerst Gratualtion zu diesem Projekt und der Umsetzung!!! Und hier schon meine Fragen: ist es möglich den Source von lcdcon_ft245.asm so zu ändern um damit ein 640*400 Pixel Display ansteuern zu können? Und kann man lcdhype auch an 640*400 anpassen? mfg Michi
Zu beiden Fragen: Ja. Beim uC Code braucht man ganz am Anfang bei den Definitionen nur die Zeilenanzahl von 240 auf 200 zu reduzieren.
Endlich kam ich mal dazu, das zu machen, was ich schon von Anfang an vor hatte: Ein 640x480 Farb LCD anzusteuern. Die Schaltung ist etwas aufwendiger (insgesamt 2x 64kB SRAM notwendig), und die Ladezeiten für die Bilder sind etwas höher, aber es funktioniert...
hehe cool Aber ich werd jetzt erst mal die OLEDs testen, mal schaun, was die so draufhaben :)
Hi, kennt jemand eine website, wo mal displays güstigst erstehen kann??? mich persönlich interessieren die farbdisplays extrem, sieht halt besser aus, wenn man die lastanzeige des servers farbig gestallten kann... und welche displays funzen allgemein an der ansteuerung??? gruß Björn
Hallo, ich wollte mal fragen wo man schnelle RAM-Bausteine für die Schaltung herbekommt. Reichelt hat nur 70ns Bausteine im Programm und Benedikt schrieb am 3.3. dass es mit 55ns schon eng würde. Hat jemand eine Bezugsquelle oder klappt es auch mit den 70ns-Bausteinen. Und wenn möglich sollte es nur ein Baustein sein, also >=64kB. Für eine Info wäre ich dankbar. mfg. Joachim
@Hauke Radtki Falls wir die OLEDs jemals bekommen... Verdammt billig sind die auf jedenfall. Ich kenne Preise von anderen OLEDs, und die liegen deutlich über den normalen Ladenpreisen von LCDs (und ich meine nicht jetzt die von Ebay und Co). Ich bin gerade mal am Anfragen, ob LCDHype auch Farbdisplays unterstützt. @Björn Cremer Alte (486er, P1) Notebooks oder Ebay. Aber erst Datenblatt suchen, dann kaufen... @Joachim Reiter Getestet habe ich den Controller mit 25ns RAMs und HCMOS ICs. Verwendet man ACMOS fürs Latch und den HC02, dann kann das RAM etwas langsamer sein. Wenn man Waitstates einfügt, dann sollte auch ein 70ns RAM funktionieren. Ich werde das alles nochmal genau durchrechnen, aber sollte gehen.
So, hab das SRAM Timing mal durchgerechnet: Bei 18,432MHz ohne Waitstate muss das SRAM eine Zugriffszeit von maximal 35ns haben. Die Zeit zwischen OE\ auf Low bis zu den gültigen Daten muss bei 0ns liegen (aber auch wenn das SRAM 10ns hat, funktioniert es normalerweise noch, die Angaben sind eben alle Worst Case und theoretisch). Wenn die Leitungskapazitäten der RD\ und WR\ Leitungen klein sein, dann sollte es keine Probleme geben. Mit einem Waitstate muss das SRAM schneller als 90ns sein, die OE\ Low bis gültige Daten Zeit muss bei <55ns liegen. Das sollte eigentlich jedes normale 70ns SRAM schaffen.
Hmmm, das heisst, wenn ich ohne Waitstates arbeiten will, muss ich sehen dass ich alte PC-Boards mit Cache-RAM finde und ausschlachte. Oder gibts die irgendwo noch zu humanen Preisen zu kaufen? Ansonsten werde ich mir wohl bei Segor ein 128k 55ns-RAM besorgen. Dann bin ich auch für die Farbversion gerüstet. Bei meinen guten Verbindungen zu Murphy wird das bei 70ns bei mir eh nix :-). Danke schonmal für die Info, wenns dann nicht klappt hab ich wenigstens jemandem über den ich fluchen kann bis ich meinen Fehler gefunden habe ;-). mfg. Joachim
>Ansonsten werde ich mir wohl bei Segor ein 128k 55ns-RAM besorgen. >Dann bin ich auch für die Farbversion gerüstet. Leider nein. Die Schaltung der Farbversion ist leicht anderst aufgebaut, da ein Farb LCD mit 640x480 nicht 2x 4bit sondern 2x8bit braucht. Das müsste dann schon ein 64kx16bit SRAM sein. Falls nur 32kB SRAMs vorhanden sind, kann man zwei Stück aufeinander löten, nur der CE\ Pin wird bei beiden getrennt angeschlossen. Das erspart viele Lötarbeiten. Bis die Farb Version fertig ist, wird es noch eine Weile dauern. Auch die Ladezeiten sind etwas höher als bei der SW Version, da immerhin die 3 fache Datenmenge benötigt wird. Außerdem ist der Controller stärker ausgelastet, da mehr Daten zum LCD übertragen werden müssen (rund 7MByte/s) In meinem Testaufbau befinden sich im Moment 512kByte RAM, damit sind theoretisch 4096 Farben möglich, aber das schafft ein AVR nicht, daher lasse ich das Display im nur mit 64 Farben laufen. Ist aber nur eine Spielerei und nicht praxistauglich. Die fertige Version wird nur 8 Farben haben.
@Benedikt: Was für ein Farbdisplay ist das genau, das Du angesteuert hast und wo hast Du das gekauft? Gruß Michael
Das LCD ist ein LM-CA22-NSK "Gekauft" habe ich es aus einem 486er Notebook... Theoretisch sind aber alle passiven (kein TFT) Farb LCDs mit 640x480 kompatibel. Ein Datenblatt zu dem Ding habe ich nicht, nur die Anschlussbelegung und die Spannunsgwandlerplatine, aber das reicht auch aus.
Gestern Abend habe ich mir Zeit genommen und meinen ersten Entwurf des Farb LCD Controllers (mit 4x32kB SRAM) aufgebaut. So kurz nach Mitternach war ich dann endlich fertig. Ein 16bit SRAM würde eine Menge Adressleitungen sparen. Bisher erste Messergebnisse: Bei 60Hz Displayfrequenz benötigt die Ausgabe etwa 75% Rechenleistung (im Vergleich dazu waren es etwa 55% bei dem SW LCD). Die Schaltung ist noch nicht entgültig, und soll nur zeigen, dass die Ansteuerung um einiges aufwendiger ist als bei einem SW LCD.
Also nur mal als tip. Bei Conrad haben die 15ms SRAMs.
Der Farb LCD Controller funktioniert besser als ich gedacht hätte (ich hatte nur einen kleinen Fehler im Schaltplan). In den nächsten Tagen werde ich dann die erste Testversion des Schaltplans und der Software fertig haben. PS: Hat jemand ein komplettes Datenblatt eines 640x480 passiven Farb LCDs (kein TFT) ? Vor allem das Ansteuertiming ist wichtig. Mein LCD scheint ein ziemlich langsames Timing zu benötigen, damit es läuft. Leider habe ich kein einziges wirklich brauchbares Datenblatt zu einem 640x480 Farb LCD.
Ich hab auch noch nen Display aus nem alten laptop ... nur leider find ich wirklich nichts mehr als irgendwelche Firmen, die die dinger verscheuern (second hand) und ich hab auch keine belegung dazu :( aber ich bin mir nich ma sihcer obs passiv ist.
> PS: Hat jemand ein komplettes Datenblatt eines 640x480 passiven Farb > LCDs (kein TFT) ? Vor allem das Ansteuertiming ist wichtig. Hier gibt's ein Datenblatt des LM64C12 von Sharp, 640x480 passiv RGB: http://www.woe.onlinehome.de/lcddata.htm Gruß Michael
@ Michael Danke. Da finden sich ja einige Daten. Mein LCD scheint also wirklich ein Exot zu sein: Das LP (=CP1) Signal muss bei diesem mindestens 1000ns breit sein damit überhaupt ein Bild kommt, bei allen anderen die ich kenne reichen 100-300ns.
Hat einer von euch mal einen Tipp welches Ebay Schläpptop sich eignet.
@Benedikt, danke für deine Info bezüglich 640x400!! Ich habe mir mal ein Print gefräst und bestückt(passend zu lcdcon_ft245.asm) und dein Assemblerfile kompiliert und hinein gespielt. Dabei ist mir aufgefallen dass .equ YScan= YMin+YSize+YOScan zu einem Zeitpunkt definiert wird an dem Ymin noch nicht bekannt ist. Meine Tool Chain hat das gar nicht gerne!! Nun gut das habe ich umgestellt damit es passt. Danach stimmt aber die Framerate nicht mehr. Zumindestens flackert das Display und das sollte bei 60HZ nicht mehr sein. - Als SRAM verwende ich ein W24512AK-15 leider habe ich aber kein 74AC02 sondern nur ein 74LS02 bekommen, kann es sein das es zu langasm ist denn am Display tauchen hin und wieder einzelen Punkte auf? - Hättest du die Möglichkeit den LCD Hype Treiber auch auf 640x400 anzupassen oder ist der Aufwand zu hoch? - kannst du bitte ein Bild von dem Startup Logo posten (beim mir sieht das (c) by Benedikt verstümmelt aus als ob Teile davon um 1 Pixel nach oben verschoben sind) lg Michi
Das mit dem YScan ist mir auch aufgefallen, als ich die Software aufs Farb LCD umgeschrieben habe. Komisch, dass der Assembler da nicht gemeckert hat. Hier die Werte für 640x400: .equ XSize =160 ;Bildgröße in X Richtung in Nibbles .equ YSize =200 ;Bildgröße in Y Richtung pro Halbbild .equ XOScan =0 ;Anzahl der zusätzlich auszugebenden Nibbles in X Richtung .equ YOScan =2 ;Anzahl der zusätzlich auszugebenden Zielen in Y Richtung (muss >=2 sein, sonst geht z.B. das Pollin LCD kaputt !) .equ XMax =250 ;Maximale Speicheradresse in XRichtung .equ YMin =4 ;Minimale Speicheradresse in Y Richtung .equ YMax =YMin+YSize ;Maximale Speicheradresse in Y Richtung .equ YScan =YMin+YSize+YOScan ;Endadresse bei der Bildausgabe in Y Richtung Den W24512 benutze ich auch, zusammen mit 74HC02 und 74HC573. Läuft problemlos. Wenn das Logo zerstückelt ist, Teile doppelt sind oder fehlen, dann sind Daten/Adressleitungen vertauscht oder kurzgeschlossen. Den LCDHype Treiber werde ich umschreiben.
@Michi Was brauchst du für eine Version des LCDHype Treibers ? FT232 oder FT245 ?
@Benedikt danke für deine rasche Antwort ich habs mit dem FT245 aufgebaut. Mir ist soeben aufgefallen dass das Startuplogo in der zweite Hälfte also 201-400 nichts abbildet (wenn YPos=190 sehe ich nur den obersten Tei der Grafik bei YPos=90 sehe ich alles). 1-200 geht Problemlos (Pins LD0-LD3 auf +5V gehängt untere Displayhälfte wird angesteuert also am Display liegt es mal nicht) Beim SRAm habe ich CS1/ auf Masse und CS2 auf +5V gehängt das sollte doch laut Datenblatt ok sein. mfg Michi
Hier der LCDHype Treiber für 640x480. Es ist merkwürdig, wenn die obere Displayhälfte funktioniert, nicht aber die untere, da ja beide Daten aus demselben Speicher kommen. Ich habe das Programm nochmal durchgeschaut, aber eigentlich nichts gefunden das für ein 640x400 LCD außer dem YSize geändert werden müsste.
@Benedikt Danke für den LCDHype Treiber!!!!!!!! Ich habe mir mal den code von lcdcon_ft245.asm durchgesehen und wenn ich alles richtig verstanden habe ist es gar nicht möglich das Startuplogo in der unteren Bildschirmhälfte anzuzeigen oder habe ich etwas nicht korrekt verstanden!!! Den Fehler warum das Logo bei mir verstümmelt war habe ich gefunden! Da ich den Print Doppelseitig gefräst habe mußte ich Durchkontaktierungen machen dummer weise habe ich eine bei A8 vom SRAM übersehen (na ja kann mal passieren, sollte aber nicht). Nun sieht alles perfekt aus. Leider habe ich das mit LCDHype noch nicht hinbekommen. welche Windowsporteinstellungen benötigt die Serielle (bei mir COM5). Das Skript habe ich auf 640x200 angepasst. mfg Michi
>wenn ich alles richtig verstanden habe ist es gar nicht möglich das
Startuplogo in der unteren Bildschirmhälfte anzuzeigen
Wiso sollte das nicht möglich sein ?
(Es kann auch gut sein, dass ich meine eigene Software nicht mehr
verstehe, daher beschreib das bitte mal.)
Eigentlich braucht man in Windows nichts zu verstellen.
Passiert den irgendwas auf dem LCD, wenn LCDHype läuft ?
Erscheint das Bild korrekt in der Vorschau von LCD Hype (in der
Titelleiste das Symbol rechts neben dem Fragezeichen) ?
Öffne mal den COM Port mit irgendeinem anderen Programm. Das sollte
gehen. Schließe ihn dann, starte LCDHype und öffne den COM Port erneut.
Jetzt sollte ein Fehler kommen.
Hallo Tolle Beiträge!! Ev. kann mir jemand helfen?? Habe ein Sharp lm64p701 finde aber keine Pinbelegung im WEB und dabei war eine Beschreibung vom lm64p70( hier ist nur von 14 Pin's die Rede ich habe am LCD aber 20 Pin's) Danke Mario
Einige werden beim nachbauen der Schaltung warscheinlich auf das Problem stoßen, dass der Spannungswandler nicht die gewünschten -20V liefert, bzw. das nur mit einem sehr schlechten Wirkungsgrad macht. Der Fehler liegt fast immer in der Wahl der Spule. Leider gibt es bei Reichelt, Conrad usw. keine passenden Spulen. Wenn man die Werte für den MC34063 nachrechnet (und auch die ganzen Verluste am Schalttransistor, Spule, Diode usw. berücksichtigt), dann kommt man schnell auf ein ton/(ton + toff) Verhältnis von >0,8. Laut Datenblatt darf der Wert bei max. 0,857 liegen. Um -20V aus 5V zu erzeugen, muss das IC daher ziemlich an der Grenze des möglichen arbeiten, weshalb die Bauteile nicht unkritisch sind. Der Wert der Spule sollte zwischen 330uH und 1mH liegen, der Widerstand sollte nicht größer als 1 Ohm sein. Damit fallen schonmal die meisten Spulen weg, und es bleiben nur wenige übrig. Der Aufdruck für 330uH lautet 331, der für 1mH 102. Hier mal ein paar Spulen: 1 und 4: Meist als LC Tiefpass Filter einem Schaltnetzteil nachgeschaltet. Wenn entsprechende Induktivitätswerte verfügbar sind, können diese geeignet sein. 2: Meist in Schwingkreisen oder auch als Filter für Schaltnetzteile verwendet. Wenn die Induktivität und der Widerstand passen, ist das eine gute Wahl. 3 "Stehende Festinduktivität" von Reichelt. Getestet habe ich 330uH, 470uH und 1mH. Der Wirkungsgrad ist schlechter als bei Spule 4 mit 330uH. Die 1mH Version hat einen viel zu hohen Widerstand, weshalb nur die 330uH Spule übrig bleibt. Diese Spule nur zur Not verwenden, wenn sonst wirklich nichts da ist. 5: Miniatur Festinduktivitäten: Vergesst die Idee sofort wieder. Die Spulen sind zwar klein und billig, aber das waren auch schon die Vorteile. Für Spannungswandler höchsten bis -5V (z.B. 128x64 LCDs) einsetzbar.
@Benedikt sorry!!!!! ich wollte dir nicht zu nahe treten. Leider habe ich nicht viel Erfahrung mit dem ATMega Befehlssatz: Ich schreibe mal wie ich das verstehe: ;**************Hier wird das Logo geladen ldi ZL, low(2*BMP) ldi ZH, high(2*BMP) clr Flags ldi r22, 48 ;Logo laden (Größe 240*48 = 30*48Bytes) ldi XH, ZStart+YPos-1 ;**************und ab hier in einer Schleife ins SRAM geschrieben YLoop: ldi r23, 30 ldi XL, XPos/4 inc XH XLoop: lpm temp, Z+ ;**************Writebyte übernimmt das schreiben ins SRAM und ob die Pixel oben oder unten stehen entscheidet doch das Flag ZeileH das bleibt hier aber immer gelöscht rcall Writebyte dec r23 brne XLoop dec r22 brne YLoop Füge ich vor rcall Writebyte, sbr Flags, (1<<ZeileH) ein wird das Bild wie erwartet in der unteren Bildschirmhälfte angezeigt. LCDHype bringt leider nur wirre Muster auf das Display die sich ca. alle Sekunden von oben nach unten etwas anders aufbauen. Dürfte ich dir mein Projekt zusenden eventuell habe ich einen Fehler im Schaltplan mfG Michi
>sorry!!!!! ich wollte dir nicht zu nahe treten.
Bist du auch nicht, daher schrieb ich ja, du sollst das etwas genauer
erklären, denn mein Code ist mittlerweile so unübersichtlich geworden,
dass ich selbst auf meine Kommentare angewiesen bin.
Und natürlich hast du auch gleich noch einen Fehler in meinem Programm
gefunden. Mist.
Die Routine zum Logo laden ist leicht vereinfacht, und berücksichtigt
nicht den Übergang von oberer auf untere Bildhälfte.
Daher sollte man das Logo so platzieren, dass es nicht genau in der
Mitte ist.
>Daher sollte man das Logo so platzieren, dass es nicht genau in der
Mitte ist.
besser nur in der oberen Hälfte (YPos<=Ysize-LYSize) ;-)
So da die Displayansteuerung jetzt zu funktionieren scheint muß ich nur
noch den Fehler beim FT245 finden. Wenn ich das richtig verstehe muß ich
über die serielle nur dezimal 14 und dezimal 11 senden dann sollte dein
Program das Display löschen. Oder habe ich das Protokoll falsch
verstanden?
mfG
Michi
Mit 14, 11 sollte das LCD gelöscht werden: 14 ist der Escape Code der den Beginn eines Befehls einleitet, und 11 löscht das LCD dann.
So nun geht bei mir auch alles. War ein timing Problem mit dem FT245BM nach dem ich noch ein NOP in die Write Funktion eingefügt habe funktionierte alles auf anhieb :-) Write: cbi portd, RD ;Byte lesen nop nop ;zusätliches warten danke für deine Unterstützung und Geduld!!!!!!! mfG Michi
Es freud mich, dass es geht. Das ist die erste Rückmeldung, von jemandem der die Schaltung nachgebaut hat. Das zusätzliche nop werde ich gleich mal einfügen. Ich habe leider noch keinen FT245, sondern habe es nur mit einem FT232 + AVR der einen FT245 emuliert ausprobiert. Laut Datenblatt hätte vom Timing her ein nop ausreichen müssen, aber ein zusätzliches nop beeinflusst die Geschwindigkeit kaum, daher stört ein weiterer Takt auch nicht, solange es hilft die Stabilität derr Software zu verbessern.
ich werde mein eagle file noch etwas nachfeilen und dann morgen posten mfg michi
Hier mal die bereinigte Version für FT245: - Ein weiteres nop wurde eingefügt, damit es keine Timingprobleme mit dem FT245 mehr gibt. - Beim Laden des Logos wurde ein Überlauf über die Bildhälfte berücksichtigt. Das Logo kann jetzt überall positioniert werden und wird korrekt dargestellt. Demnächst stelle ich hier noch ein Programm rein, das aus einer BMP Datei die Hex Daten für das Logo erzeugt, damit jeder sein eigenes Startlogo einbauen kann.
Wie versprochen hier die Eaglefiles und Datenblätter. Nochmals Danke an Benedikt!!!! mfG Michi
hoppala.. Dateianhang war größer als 1MB aber jetzt sollte es funktionieren
mir ist ein kleines hoppala passiert. Die Spule L1 muß 470µH haben sonst wird der TL497 ausserhalb seiner Spec betrieben 100µH hatte ich da und deshalb habe ich den Wert dummer weise in die Eaglefiles eingetragen und dann auch noch falsch im Textfile erklärt. panik :-( Also bitte berücksichtigen 470µH für L1 oder hier AVR_LCDv2.zip runterladen. mfg michi
Eine kleine Frage hätte ich mal wegen der Erzeugung der negativen Hilfsspannung. Ich habe hier noch DC/DC-Wandler von Reichelt mit 5V bzw. 12V auf 24V liegen. Da die Ausgänge imho galvanisch getrennt sind, müssten sich die doch einsetzen lassen und würden das Layout erheblich vereinfachen mit Ihren 4 Pins. Und mit 5,10Euronen sind die ja nicht allzu teuer. mfg. Joachim
Das sollte funktionieren. Ich habe ein LCD-Display mit T6963C Controller, welches ca. -15V Kontrastspannung braucht. Dafür hab ich 2 DC-Wandler 5V -> 9V, welche auf alten BNC-Netzwerkkarten zu finden sind in reihe geschaltet. So hab ich 18V, + an Masse geklemmt und fertig waren -18V Gruß David
wenn man nur 100µH für L1 hat, kann man den C13 820pF groß machen dann passt wieder alles. Natürlich kann man alle benötigten Spannungen mit galvanisch getrennten Reglern realisieren. (hatte ich nur leider nicht! wodurch das Layout wirklich nicht vereinfacht wurde). mfG Gerald
Hallo... @Benedikt: Jetzt bin ich so weit, und brauche Hilfe. Ich habe jetzt ein bischen rumgebastelt und komme nicht zum Ziehl. Angehaengt habe ich meine Datei. Geaendert habe ich nur im Prinzip die DataOut-"Routine". Koenntest Du Dir das mal anschauen? Alle anderen natuerlich auch. Mein Display ist das SP10Q003. Das Datenblatt ist weiter oben angehaengt. Ich habe die oberen 4 Datenbits des RAMs an die DatenLeitung des Displays angeschlossen, deswegen wird "nur" 60* gelesen. Danke Alex
Hallo zusammen, ich habe ein echtes Problem die richtigen Spulen zu bekommen. Wer liefert den sowas ? Reichelt hat nur die Spulen mit 1,2 Ohm Widerstand. Danke uk PS. Ist der Tl947 die bessere Wahl ?
>Ist der Tl947 die bessere Wahl ?
Vermutlich ja, der soll nicht so kritisch bei der Wahl der Spule sein
(kleiner Spulen möglich -> niedrigerer Widerstand)
>Ist der Tl947 die bessere Wahl ? ich schließe mich Benedikts Meinung absolut an der TL497 ist wirklich nur eine Notlösung da ich nichts anderes hatte. Das Ding hat auch, in dieser Konfiguration, einen sehr bescheidenen Wirkungsgrad und dient hier schon fast als Heizung. Die Idee von Granate2000 (etwas weiter oben) ist wohl die beste wenn man zwei alte Netzwerkkarten hat. Mein Display benötigt zwar laut Datenblatt -22.5V aber es geht auch mit -18V wenn man die Kontrastspannung anpasst. mfg Michi
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.