Forum: Mikrocontroller und Digitale Elektronik At xmeg 128 (3,3V) mit LCD Display (5V) verbinden (in C)


von M.k L. (angrymop)


Angehängte Dateien:

Lesenswert?

Hi,

hab mir vor kurzem den Atxmega 128 a3 zugelegt.
Nun wollte ich meine LCD Displays

http://www.pollin.de/shop/dt/OTc1OTc4OTk-/Bauelemente/Aktive_Bauelemente/Displays/LCD_Modul_TC1602E_01.html

dort anschließen, was aufgrund der unterschiedlichen Betriebsspannungen 
anscheinend nicht möglich ist.

gibt es trotzdem eine Möglichkeit das zu realisieren?


PS:
- Display geht an anderem MC
- C-Code ist an die Port Confi des Xmega angepasst
(Quelle http://www.stromflo.de/dokuwiki/doku.php?id=rgb-atxmega-projekt)

von Artur R. (artur2000)


Lesenswert?

Der Atxmeg 128 arbeitet auch mit 5V.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Artur R. schrieb:
> Der Atxmeg 128 arbeitet auch mit 5V.

Ja, aber nur wenn Du ihn grillen willst! Nein. 3.6V sind für den XMega 
oberes Limit.

Zum Thema: Ich würde mit einer Ladungspumpe die 5V für das Display aus 
den 3.3V des XMegas erzeugen oder falls 5V schon auf der Platine sind, 
das Display damit versorgen. Das Display erkennt die 3.3V vom XMega als 
High. Wenn man die Busy-Abfrage weglässt und R/W des Displays fest an 
Masse legt, geht der Datentransfer nur vom XMega in Richtung Display. Im 
4-Bit-Modus braucht man also 6 Ausgänge des XMegas an 6 Eingänge vom 
Display.

von Mehmet K. (mkmk)


Lesenswert?

Du musst schauen, was für ein Kontroller im LCD Modul eingebaut ist.
Der KS0108, ein GLCD Kontroller, arbeitet zwar mit 5V, kommuniziert aber 
problemlos mit einem 3V System.

von Artur R. (artur2000)


Lesenswert?

> Der Atxmeg 128 arbeitet auch mit 5V.

Ou, hab ausversehen in das falsche Datenblatt geguckt naja halb so 
schlimm, bei 5V kannst du dafür Steaks am XMega grillen.

Zurück zu Tread:
Was du brauchst ist ein 74LVC4245A oder ein TXB0108. Keine Ahnung wo man 
die herbekommt.

von XMEGA (Gast)


Lesenswert?

Servus,

M.k L. schrieb:
> gibt es trotzdem eine Möglichkeit das zu realisieren?

man kann es realisieren- aber es ist nicht sinnvoll.
Es gibt Treiber z.B. 74LVC4245A die können das.
Der Hardwareaufwand wird aber deutlich höher und die Fehlerquote steigt.

Wenn du mit ATXMEGA.. arbeitest, solltest du dein System komplett auf 
3,3 Volt umstellen. Es gibt heute gute günstige SPI/Displays(mit oder 
ohne Beleuchtung). Der Schaltungsaufwand ist bei SPI gering. Code und 
Beispiele gibt es im Forum auch.

Schau dir mal die Seite an: http://www.basteln-mit-avr.de/index.html

Gruß XMEGA

von Artur R. (artur2000)


Lesenswert?

> Wenn du mit ATXMEGA.. arbeitest, solltest du dein System komplett auf
3,3 Volt umstellen

Stimmt, wäre die beste Lösung. Kauf dir doch z.B. diese Display:
http://www.reichelt.de/?ACTION=3;GROUP=A5213;GROUPID=3007;ARTICLE=77825;SID=31TQ@7oH8AAAIAAB6NTvU61e1cb10987b5ae31756678de61fcf52

Die Hintergrundbeleuchtung musst du ebenfalls separat kaufen, da reichen 
aber auch 3,3V

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Macht´s doch nicht so kompliziert. Wenn er nun schon ein 5V-Display hat 
und die oberen Antworten beherzigt, dann geht´s auch mit dem 
Pollin-Dislay. Dass es auch einfacher geht, wenn das ganze System auf 3V 
läuft, ist unbestritten.

von M.k L. (angrymop)


Angehängte Dateien:

Lesenswert?

Hi,

danke für eure Beiträge! Das Display läuft!
@ Knut Ballhause --> das war der richtige Hinweis.

Die Betriebsspannung des LCD muss 5V betragen

Die Spannung zur Datenübertragung (E  RS  DB 4- DB7  )vom MC zum LCD 
kann geringer ausfallen

Hier meine Aunschlussbelegung für 4 Bit Modus am  - atXmega 128 a3

1 - VDD - 5V
2 - VSS - Masse (Masse des MC und der Stromversorgung sind verbunden)
3 - V0  - Masse
4 - RS  - Port PE6
5 - R/W - Masse
6 - E   - Port PE5
                           (DB0 bis DB3 leer, da 4 bit Modus)
11- DB4 - Port PE0
12- DB5 - Port PE1
13- DB6 - Port PE2
14- DB7 - Port PE3

Das ganze geht auch mit dem LCD-Modul HMC16223SG von Pollin

http://www.pollin.de/shop/dt/NDU0OTc4OTk-/Bauelemente/Aktive_Bauelemente/Displays/LCD_Modul_HMC16223SG.html


PS:
Hab die C Datei zur Initialisierung noch mit angehangen die mit den oben 
angefügten Include Dateien zusammenarbeitet.

frohes Neues!

von Anja (Gast)


Lesenswert?

M.k L. schrieb:
> gibt es trotzdem eine Möglichkeit das zu realisieren?

Viele LCD-Treiber lassen sich auch mit 3 oder 3,3V betreiben (eventuell 
mit etwas langsamerem Schreib-Timing). Die einzige Spannung die größer 
als 3,3V sein muß ist die Kontrastspannung. (Differenz zwischen VDD und 
VO). D.H. es reicht VDD an +3.3V und VSS an 0V zu hängen. Für VO braucht 
man dann eine negative Kontrastspannung.

Gruß Anja

von M.k L. (angrymop)


Lesenswert?

Falls der Kontrast beim Anschließen an 5V nicht perfekt ist, einfach 
zwei Widerstände einbauen.
Da gibts einige Beispiele im Netz. bei mir reichen:

von ...bis


5V- -> -R1=10KOhm- ->  -V0- -> -R2=470Ohm-  -> -Masse

von Daniel (Gast)


Lesenswert?

Hallo,

ich versuche ebenfalls ein Display mit dem gleichen Controller (HD44780) 
an den ATXMEGA128A3U anzuschließen. Genaugenommen ist das Display ein 
HDM08216L-3-L30S. Ist mein erster Versuch, ein Display in Betrieb zu 
nehmen.

Ich habe exakt den gleichen Code wie M.k L. genutzt und das Display an 
PortA angeschlossen. Die Header Datei habe ich geändert.
Der ATXMEGA ist auf einem Evaluationsboard verbaut.

Fehler meldet das Programm keinen, nach dem Übertragen bleiben 
allerdings in der ersten Zeile 8 schwarze Kästchen. Die zweite Zeile ist 
leer.
Das scheint aber wohl der nicht-initialisierte Zustand zu sein. Das 
macht das Display auch ohne Daten, nur mit Versorgungsspannung.

Am Display gibt es noch den V_L Anschluss, der im Datenblatt als nicht 
belegt dargestellt wird. Diesen habe ich aber über den Spannungsteiler 
wie im Thread angeschlossen. Ohne diesen habe ich gar keine Kästchen... 
Scheint wohl für den Kontrast zu sein. An Masse sind die Kästchen 
dunkler, Problem bleibt.

Muss ich bei solchen Displays noch mehr einstellen, wie den Port?
Oder ist die Zeilen / Spaltenanzahl egal?
Wie mach ich in solch einem Fall eine Diagnose und wie suche ich den 
Fehler?

Danke sehr.

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
Noch kein Account? Hier anmelden.