USB-LCD-Display HD44780

Antworten
abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

USB-LCD-Display HD44780

Beitrag von abacom » Dienstag 14. Oktober 2008, 13:37

ExpertProfi



Anmeldungsdatum: 02.09.2008
Beiträge: 2


Verfasst am: 02 Sep 2008 11:04 Titel: USB-LCD-Display HD44780

--------------------------------------------------------------------------------

....gibt die möglichkeit HD44780 LCD`s am USB via PL anzusteuern?

würde mir viel helfen....

ExpertProfi
Verfasst am: 23.06.2008 20:50 Titel:
Na so ein Zufall! Ich hab´s gerade fertig: USB LCD Display mit CH341A.

Bild

Dazu hab´ich ´ne DLL gemacht:
4 String-Eingängen (für Displays mit max. 4 Zeilen, weniger Zeilen geht natürlich auch.) Hab´s noch nicht veröffentlicht, weil ich den Schaltplan noch zeichnen wollte. Die Beschaltung ist aber so wie in dem Beispiel zum CH341A von Abacom.

http://www.electronic-software-shop.com ... 41a-c-2_24

Code:

Code:
// LCD pin CH341A pin comment
// ---------------------------------------------------------------
// D0...D7 D0..D7 8 bit interface
// E /WR clock inverted; no problem!
// RS A0 0=control reg. 1=data reg.
// R/W Ground always write; never read
//


Aber hier schon einmal der Downloadlink für die DLL:

http://www.expertprofi.ag.vu/CH341A_USB_LCD.zip


thcweb
Verfasst am: 24.06.2008 07:58 Titel:
Hallo Expert Profi,
das sieht gut aus. Hab mir gleich mal den ch341A bestellt.
siehst du ne chance das lcd modul von PL zu verwenden? Da sind viele gute funktionen mit dabei die über die strings sehr umständlich zu programieren sind.
gruß thomas

ExpertProfi
Verfasst am: 24.06.2008 09:44 Titel:
Hier noch der Schaltplan...
@Thomas:
Für meine Zwecke reichen die vier String-Eingänge. Die Strings mit PL zu formatieren ist doch kein Problem. Um die Länge der Strings braucht man sich nicht zu kümmern. Das "regelt" meine DLL. Bei Displays mit weniger Zeilen, die überflüssigen Eingänge einfach unbeschaltet lassen. Die Source der DLL ist dabei. Wer möchte kann das Projekt ja weiter ausbauen.

thcweb
Verfasst am: 24.06.2008 11:10 Titel:
Hallo Abacom,
besteht die möglichkeit die dll von Expertprofi als Schnittstelle in das lcd modul zu intigirieren?
mfg thomas

ExpertProfi
Verfasst am: 24.06.2008 14:09 Titel:


Mike D
Verfasst am: 24.06.2008 21:37 Titel:
ohne das CH341A im Detail zu kennen möchte ich mal behaupten, dass man es in Kombination mit dem PL-LCD-Bauteil bereits benutzen kann.
Das LCD-Bauteil hat die Datenausgänge zur Ansteuerung anderer Hardware, diese müssten auf geignete Weise (D/A-Wandler wie in den CH341A Beispielen ?) mit dem in PL vorhandenen CH341A-Bauteil verbunden werden.

ExpertProfi
Verfasst am: 25.06.2008 08:25 Titel:
Danke Mike für die Antwort. Jetzt wird mir erst so richtig klar was Thomas meint. Ich hatte völlig übersehen, dass die LCD-Komponente die Steuersignale für den Display-Controller aufbereitet und bereitstellt. Damit lässt sich vielleicht wirklich was anfangen. Das schau ich mir heute abend mal genauer an.

Mike D
Verfasst am: 25.06.2008 09:47 Titel:
kann mal jemand die Ein- und Ausgänge des CH341-Bauteils in PL erklähren? Ich habe bisher nirgendes etwas darüber finden können.

ExpertProfi
Verfasst am: 25.06.2008 17:32 Titel:
Hallo Mike, Hallo Thomas, es funktioniert tatsächlich auch ohne DLL und mit der PL-LCD-Komponente... und sogar recht einfach:
http://www.expertprofi.ag.vu/CH341A_USB_LCD_V2.prj
So halbwegs kapiert hab´ ich die Pins auch erst nachdem ich den Chip etwas länger befummelt und bei Abacom nachgefragt habe.
Angesteuert wird der Chip mit API-Funktionen, die in der Treber-DLL enthalten sind. Von diesen Funktionen gibt es allerdings ´ne ganze Menge und ich háb´ auch erst einen Teil ausprobiert bzw. nachvollzogen.
Bei dem LCD-Display benutzt man z.B. die beiden Funktionen CH341MemWriteAddr0 und CH341MemWriteAddr1. Das findet man in dem LCD-Beispiel, das Abacom mit dem Chip liefert (Link siehe oben).

Die PL-Komponente macht anscheinend auch nichts anderes, als die API´s aufzurufen. Wenn man dann einmal die PL-Beispiele durschaut, findet man die Lösung des Rätsels: Die Pins haben immer eine andere Funktion, je nach API die man im Dialog einstellt. Dabei bilden die Pins dann anscheinend die Parameter des API-Aufruf.

Bei 'CH341MemWritAddr' muss z.B. die Anzahl der Zeichen (Pin 'wa') und ein Datenstring mit den zu übertragenden Zeichen (Pin '$w') übergeben werden.

Ich meine auch, dass Abacom das noch besser beschreiben müsste. Sonst muss man immer wieder in die Beispiele reinschauen und das nervt etwas. Ansonsten gefällt mir der Chip ganz gut. Einfach anschliessen und fertig.

Hier noch die Zusammenfassung des Projekts:
http://www.expertprofi.ag.vu/usb-lcd-display.html

ExpertProfi
Verfasst am: 08.07.2008 23:44 Titel:
Ich hab´ auch noch einen Treiber für LCD-Hype hinbekommen. Link siehe oben. (Ja, ja ich weiss hier geht´s um ProfiLab.)

thcweb
Verfasst am: 11.08.2008 17:49 Titel:
Ein großes LOB an EXPERTPROFI!!!
Mit dem CH341A hat die Displayansteuerung auf Anhieb funktioniert.
Nach dem Versuchsaufbau auf dem Schreibtisch hängt das Display seit etwa 2 Stunden bei mir in der Küche an der Wand und zeigt Temparaturen und wenns welche gibt, die Störung der Haussteuerung an.
Der Chip sitzt direkt in der Unterputzdose und die USB Anbindung erfolgt über 2x2x0,6 Fernmeldekabel (15 meter !!!) und auch das klappt wunderbar.
Jetzt die große Frage an ExpertProfi, bekommst man (du?) es hin, über I2C noch die Temparatur zu erfassen? (Temp Chip DS1621)
Würde mich freuen. Danke noch mal an ExpertProfi.

ExpertProfi
Verfasst am: 13.08.2008 19:52 Titel:
Freut mich zu hören! Soll der Temp.-Sensor mit an denselben CH341A, der auch das LCD-Display steuert, oder willst Du dafür einen eigenen USB-Chip verwenden? Beide Funktionen mit EINEM Chip könnte schwierig werden. Man kann evtl. nicht alle Chip-Funktionen "Querbeet" aufrufen. Da ich für das LCD bereits die parallele Ausgabe nutze, weiss ich nicht ob I²C gleichzeitig geht. Müsste man mal probieren... Ausserdem müsstes Du dann die obige Schaltung modifizieren, da ja SDA für die korrekte Initialisierung auf Masse liegt.

thcweb
Verfasst am: 13.08.2008 20:28 Titel:
Hallo Expert Profi,
es soll der gleiche CH341A genutzt werden. Ich habe deshalb nicht den Pin 23 gegen Masse gezogen, sondern über einen 2 KOhm Widerstand den PIN 1 gegen Masse gezogen.
Somit ist SDA und SCL frei für den I2C Bus.
Für Vorschläge oder Testschaltung bin ich gern interessiert.
Gruß Thomas

ExpertProfi
Verfasst am: 16.08.2008 21:12 Titel:
LCD-Display und I²C-Schaltungen gleichzeitig an demselben CH341A zu betreiben ist doch ohne weiteres möglich. Hab´s ausprobiert.

Nach oben


FPohl



Anmeldungsdatum: 07.10.2008
Beiträge: 1


Verfasst am: 07 Okt 2008 20:50 Titel:

--------------------------------------------------------------------------------

Auch wenn es hier eigentlich OT ist, da es im Wesentlichen um PL geht, unter http://www.pohlware.de/files/LCD.zip habe ich mal eine kleine Klasse inklusive Beispielprogramm hinterlegt, die unter C++ (hier Borland C++ Builder 2006) die Ansteuerung eines Displays (4x20, mit wenig Aufwand leicht anzupassen) über den CH341a realisiert. Die mitgelieferten Header von Abacom sind an C++ angepasst. Die Klasse ist bewust einfach gehalten, bietet aber alle Funktionen um schnell Text auf dem Display erscheinen zu lassen. Viel Spaß damit.
ABACOM support

Antworten

Zurück zu „Geräte: ABACOM“