Forum: Mikrocontroller und Digitale Elektronik Problem LCD Ansteuerung


von Je S. (je_s)


Lesenswert?

Hallo Leute,

Bei mir ist heute ein Problem aufgetreten und ich weis einfach nicht 
mehr weiter.

Ich habe meine gewünschte Schaltung zuvor auf Steckbrettern aufgebaut, 
dort lief alles ohne Probleme, danach wurde alles auf eine Platine 
übernommen und nun gibt es ein Problem mit der Displayanzeige.

Ich nutze ein 4x20 Dot Matrix Display und einen Atmega32, dieser soll 
Ströme und Temperaturen ermitteln, welche am Display angezeigt werden.

Wenn ich mein Programm, wie es zuvor auf dem Steckbrett gelaufen ist, 
übertrage bekomme ich nichts angezeigt. Zuerst dachte ich an ein Problem 
mit dem Reset Pin, jedoch werden Ausgänge geschalten wenn ich diese 
ansteuere.
Das Display habe ich auch schon getauscht.

wäre für den einen oder anderen Ratschlag ganz dankbar

MfG

von Joe F. (easylife)


Lesenswert?

Den einzigen Ratschlag, den man aufgrund deiner bereitgestellten 
Informationen geben kann ist:
überprüfe, ob die Schaltung auf der Platine mit der Schaltung auf dem 
Steckbrett übereinstimmt.
Es klingt sehr wahrscheinlich, dass beim Übertragen ein Fehler passiert 
ist.

von Je S. (je_s)


Lesenswert?

Da Stimmt alles überein, ich habe alles durchgeklingelt, sprich die 
Leitungen hin zur Programmierschnittstelle und und ebenso die Bahnen hin 
zum Display..

welche Informationen benötigst du?

MfG

von LCD-Fan (Gast)


Lesenswert?

Vielleicht der Klassiker: Kontrast?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

LCD-Fan schrieb:
> Vielleicht der Klassiker: Kontrast?

Wenn der Kontrast richtig eingestellt ist und nur ein Software Problem 
vorliegt, sollte die erste Zeile schwarze Blöcke anzeigen. Sieht man die 
nicht, ist die Kontrastspannung daneben.

von Peter R. (pnu)


Lesenswert?

Je S. schrieb:
> Da Stimmt alles überein,

Davon geht nur ein Optimist aus, der von Murpy noch nie etwas gehört 
hat.

Alle Leitungen durchgeklingelt? auch auf Verbindungen zu den 
Nachbarleitungen und auf Masse- oder Vcc-Verbindung hin?

Beim Umsteigen auf Platine gehts nicht immer ohne Fehler ab. Also muss 
man, wenns nicht gleich klappt (passiert oft), schrittweise wieder 
aufbauen.

Erstmal Mindestbestückung: ISP-Verbindung prüfen. Dann mit Display 
bestücken, Initialisierung des Display und Display mit einem "hallo 
world" überprüfen. Dann weitre Bestückung und Teilfunktionen des 
Programms achrittweise implementieren.

Ohne dieses zugegeben umständliche Schritt-für-Schritt hat man oft 
mehrere Fehler vor sich und kommt daher nicht voran.

von Martin (Gast)


Lesenswert?

Poste dein Schaltplan und paar Bilder

von Teo D. (teoderix)


Lesenswert?

Eventuell is das Display etwas empfindlich, auf der Enable-Leitung, 
was die Flankensteilheit betrifft.
Mit Oszi mal gugen was da am Display ankommt.

von Je S. (je_s)


Angehängte Dateien:

Lesenswert?

hier der Mikrocontroller, wie dieser beschalten ist.

Hintergrundbeleuchtung und Kontrast werden jeweils mit einen Präzisions 
Poti angesteuert.

habe auch schon daran rumgespielt ändert aber nichts.

Das Display initialisiert auch die 4 Zeilen und der Mikrocontroller 
führt auch andere Schaltbefehle aus, sprich wenn ich die einzelnen Pins 
durchschalten lasse tut er dies auch.
sprich die reine Funktionalität vom uC ist vorhanden nur hinkt irgendwie 
das Display.

Könnte das ganze ein Timing Problem sein?
Ich habe auch schon die delays geändert...


Das mit der Flankensteilheit werde ich mir morgen mal anschauen =)

Da ich mein LCD über ein Flachbandkabel ansteuere, ist es möglich das 
ich da irgend welchen Mist drauf bekomme?

MfG

von Joe F. (easylife)


Lesenswert?

Und wie sieht die Beschaltung des Displays aus?
Und wie das PCB?

von Je S. (je_s)


Lesenswert?

die Klemme K4 ist die für das Display und und die Zahl hinter K4: 
entspricht dem Pin am Display und das Display ist direkt mit dem 
Mikrocontroller verbunden.
PIN 1&16 sind GRN
PIN 2 5V
PIN 3 Poti an 5V Schleifer an PIN 3 (Kontrast)
Pin 15 Poti an 3,3V eingestellt ´über Z-Diode, Schleifer an PIN 15 
(Hintergrundbel.)
Rest wie oben beschrieben.

Die PCB ist geätzt, sprich da bestehen direkte Verbindungen, also keine 
Lochraster...

von Uwe (Gast)


Lesenswert?

Hallo,

meist handelt es sich um ein Timingproblem bei der Initialisierung.
Füge zwischen den ersten Initialisierungsbefehlen mal ein Delay ein, 
dann sollte es gehen. Schau mal ins Datenblatt vom Display - z.B. 
brauchen die Clear oder Return Home Befehle durchaus ein paar ms an 
Zeit. Auch beim Schreiben ins Display-Ram solltest du zwischen den 
Schreibzugriffen etwas Zeit lassen...

Hoffe es hilft!
Uwe

von Uwe (Gast)


Angehängte Dateien:

Lesenswert?

Siehe Datenblatt...

von Joe F. (easylife)


Lesenswert?

Den Programmieradapter ziehst du aber ab von "K3"...?!

von Karl M. (Gast)


Lesenswert?

Was soll den ARef an +5V ?

So hat dass aber Atmel in ihren Application Notes nicht vorgesehen !

von Je S. (je_s)


Lesenswert?

Ja der Prog. geht von K3 weg.

Ich nehme als Aref 5V?


Ich vermute auch das es ein Timing Prob. ist. ich Test das Morgen evtl. 
mal... wobei das selbe Programm vorher auch gelaufen ist =/

von Joe F. (easylife)


Lesenswert?

Je S. schrieb:
> Da ich mein LCD über ein Flachbandkabel ansteuere, ist es möglich das
> ich da irgend welchen Mist drauf bekomme?

Klar. Und wenn das Kabel jetzt z.B. länger ist als bei dem vorherigen 
Aufbau kann das auch die Signalqualität verschlechtern.

Probiere einfach mal Delays einzubauen, und mit der Datenrate 
runterzugehen.

von Teo D. (teoderix)


Lesenswert?

Je S. schrieb:
> wobei das selbe Programm vorher auch gelaufen ist =/

Das sagt leider noch garnichts!
Bei mir laufen Teile, seit Jahren problemlos mit einer fehlerhaften 
Init.
Bis eines Tages, mitten im Testen einer neuen Schaltung diese, 2Zeiler 
nur noch als 1Zeiler initialisierte 8-/

von Nemesis (Gast)


Lesenswert?

Nebensprechen kann beim Flachkabel ein Problem sein, wenn
die Leitungen nicht abgeschlossen sind.

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.