Forum: Mikrocontroller und Digitale Elektronik LCD über lange Leitung anschließen


von brain (Gast)


Lesenswert?

Hi zusammmen.

Ich nutze einen ATmega128 und habe ein 4x20 Zeichen LCD daran 
angeschlossen. Die Strecke zwischen LCD und µC beträgt ca 2.5m und nix 
klappt, ohne das lange Kabel gehts wunderbar. Problem: das LCD muss über 
min 1m angeschlossen werden.
Ich kann mir zwei Sachen vorstellen, die das Problem verursachen:

1. Einstreuungen sind zu groß
2. Der Atmel kriegt über die Strecke nicht den nötigen Strom geliefert.

(Beides aber bloße Vermutungen)

Hat jemand einen Tipp, wie ich dieses Problem mit möglichst wenig 
Aufwand gelößt bekomme?

OPs, Transistor??

Vielen dank

Brain

von Andreas K. (a-k)


Lesenswert?

2,5m sind etwas grenzwertig, aber mit sauberer Leitungs (siehe 
Wellenwiderstand) könnte es funktionieren. Wobei das Display nur 
schreibend betrieben werden sollte, also mit hinreichend langer 
Wartezeit statt Abfrage vom Busy-Bit, damit die Datenleitungen nicht 
bidirektional arbeiten müssen.

von Falk B. (falk)


Lesenswert?

@ Andreas Kaiser (a-k)

>2,5m sind etwas grenzwertig, aber mit sauberer Leitungs (siehe
>Wellenwiderstand) könnte es funktionieren. Wobei ich dabei zwecks

Richtig. Dabei ist nur ein Signal wirklich kritisch. E. Das muss über 
eine verdrillte Leitung (E und Masse) geführt werden. Serienterminierung 
ist auch dringend nötig, siehe Artikel Wellenwiderstand. Der Rest 
ist recht unkritisch, sollte aber nicht vollkommen liebelos verkabelt 
werden.

MfG
Falk

von Andreas K. (a-k)


Lesenswert?

Obwohl nur E wirklich kritisch ist, würde alle vorsorglich lieber alle 
Signale terminieren. So ein LCD braucht wenig Strom und es muss nicht 
sein, dass die Überschwinger die Schutzdioden übermässig strapazieren.

von brain (Gast)


Lesenswert?

KAGGE! Ich merke gerade, dass ich da in ganz neu Spähren vorstoße...

Also:

1. mit E meint ihr das Enable Singal?

2. von sauberer Kabelführung kann man wohl nicht reden. Ich lasse ca 
50cm über Flachbandkabel laufen, dann kommt ein 25pol SubD, 1,8m 
Druckerkabel, 25pol SubD, Flachbandkabel.

3. muss ich also einen Wiederstand in Reihe mit der Signalleitung 
schalten? - Müssen also nur D0..D3 bzw. D0..D7 terminiert werden? Kann 
mir jemand sagen, wie groß der R sein muss?

Danke für die schnellen Antworten..

von Andreas K. (a-k)


Lesenswert?

Zu 1: Ja.

Zu 2: Bleib lieber bei einem Kabeltyp, ein Stecker dazwischen ist hier 
nicht unbedingt ein Problem, aber verdrillte Leitungen im Rundkabel für 
die eine Hälfte und Flachbandkabel für die andere schon. Flachbandkabel 
ohne verdrilltes E kann auch gehen, wenn beide Nachbaradern Masse führen 
und es nicht zusammengerollt oder gefaltet wird, wenngleich es etwas 
empfindlicher gegenüber Störungen von aussen sein kann.

Zu 3: Widerstand in Reihe bei allen Leitungen (also E,RS,D4,D5,D6,D7), 
auf der Seite des Controllers. Und da die LCDs 4-bittig arbeiten können, 
solltest du das auch tun, um den Kabelaufwand zu reduzieren. Dann werden 
D0-3 auf der Seite des LCD garnicht erst angeschlossen.

von Andreas K. (a-k)


Lesenswert?

Was die Widerstände angeht: Das hängt vom Kabel ab. Im Wiki steht bei 
Flachbandkabel 150 Ohm, diesen Wert habe ich auch schon gelegentlich 
gehört, andererseits findet man beim googeln und im Datasheet von 
Reichelt eher Angaben um 105 Ohm herum.

Also: Von der Kabelimpedanz 25 Ohm weg für den Innenwiderstand des 
Mega128 und du hast den Wert für die Serienwiderstände. Auf ein paar Ohm 
rauf oder runter kommt es dabei nicht an.

Wenn du beim Kabel keine Ahnung hast: probier mal 100 Ohm und schau was 
dabei rauskommt. Wird so arg falsch nicht liegen.

von Mark. K (Gast)


Lesenswert?

Deine "Spezial"-Verkabelung wird wohl Schuld sein. Bei so vielen 
Steckverbindern kann man auch mal zwei Anschlüsse vertauschen. Hast mal 
durchgepiepst? Das sollte der erste Schritt sein. Wenn das nicht hilft, 
dann würd ich das Kabelgewülst komplett entfernen und EINE Leitung 
sauber verlegen.
Wie oben schon geschrieben die Enable-Leitung mit der Masse verdrillen.
Sollte das nicht helfen, kannst ja noch die Widerstände einsetzen.
Die Übertragungsgeschwindigkeit zum LCD ist ja nicht besonders groß. Wie 
lange lässt du das Enable-Bit aktiv? Möglicherweise, musst du es ein 
paar Takte länger auf high setzen.

von brain (Gast)


Lesenswert?

Hi
danke für die vielen Anregungen. Ich werde morgen mal ein paar Versuche 
starten.

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.