www.mikrocontroller.net

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


Autor: brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: brain (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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..

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mark. K (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: brain (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.