PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Display 2 * 16 Zeichen flackert



erik_wolfram
25.03.2011, 21:14
Hallo,

ich habe folgendes Problem:
1 LCD-Display mit 2 x 16 Zeichen welches flackert - das Flackern kam erst später (also nicht von Begin an - paar Stunden, öfters neu gestartet). Nun ist das kuriose: ich habe ein Anderes angeschlossen, und auch dieses fing nach einer Weile an zu flackern...

Bedrahtung sieht wie folgt aus: ca. 100 ohm Vorwiderstand fürs Backlight, 10k Poti für Konstrast und 100nF Kondensator unmittelbar davor.

woran kann das liegen, leider bin ich da ein bisschen ratlos....

Programm-technisch, laufen während des Beschreibens keine Interrupts, die Programmierung erfolgte in GCC.

MFG Erik

TobiKa
25.03.2011, 21:23
Bringt deine Stromversorgung eventuell überlastet, wird heisst und schwankt dann?! UNterschätz solche Displays nicht, die ziehen oft ne Menge...

dussel07
25.03.2011, 21:32
Um genau zu sein:
Die Hintergrundbeleuchtung!

PICture
25.03.2011, 21:39
Hallo!


Nun ist das kuriose: ich habe ein Anderes angeschlossen, und auch dieses fing nach einer Weile an zu flackern...

Dann würde ich zuerst ausser dem Display (in Software ?) suchen ...

Schnelltest: wenn das erste fängt zu flackern an, schnell mit dem zweiten auswechseln und schauen ... ;)

erik_wolfram
26.03.2011, 07:12
Also eine Sache ist mir noch eingefallen:
in der Nähe steht ein Schaltnetzteil, dieses ist aber nochmal komplett im Metallgehäuse gekapselt, ansonsten habe ich noch vor die Zuleitung zum Display einzukürzen um da eventuelle Fehler zu vermeiden.
Leider habe ich keine Möglichkeit das andere Display jetzt noch anzuschließen.
Stromversorgung sollte groß genug sein, 1,5A L7805 ohne weitere Verbraucher (Display lief auch über USB Port-Versorgung)
Die Hintergrundbeleuchtung flackert nicht - nur der Text.

Ist hier vlt. doch bei detr Programmierung zu gucken?
Ich sehe da leider keinen mögtlichen Fehler, Interrupts sind aus beim Beschreiben, und es wird auch nur einmal Beschrieben (also nich dauerhaft in einer Schleife oder so)

Martinius11
26.03.2011, 17:50
wie steuerst du das display denn an?
evt. über i2c? oder vielleicht eine zulange verzögerung
beim Schreiben der Textdaten

erik_wolfram
26.03.2011, 18:19
Das Display wird per GCC über 4Bit Methode angesteuert, aber wie gesagt:
ich schreibe etwas auf das Display, und es flackert dauerhaft, auch wenn der Schreibvorgang schon lange beendet ist!

Welche äußeren Einflüsse können so ein Display noch stören?

TobiKa
26.03.2011, 18:22
Das der Text flackert hab ich noch nie gesehen/gehört.

Vielleicht irgendwas mitm Kontrast? Wo kommt Die Spannung für den Kontrast her? Kondensator kaputt?
Hast du n Oszilloskop da?
Mehr als raten ist im Moment nicht möglich...

PICture
26.03.2011, 18:33
Hallo!


Das der Text flackert hab ich noch nie gesehen/gehört.

Ich schon, beim permanenten ununterbrochenen Beschreiben des Displays, wenn die Taktfrequnzen vom internen Displaycontroller und steuernden µC miteinander interferiert haben. ;)

TobiKa
26.03.2011, 18:36
Ja beim permanenten Beschreiben schon, solche Displays sind ja auch recht langsam... aber unter einem flackerndem Text versteh ich was anderes! Und so wie ich das hier verstanden habe flackert er auch wenn nichts gesendet wird.

PICture
26.03.2011, 18:39
Genau ! :)

Deshalb:


Mehr als raten ist im Moment nicht möglich...

wkrug
27.03.2011, 08:18
Was meinst Du genau mit flackern ?
Wird die Hintergrundbeleuchtung heller / dunkler, oder ist es der Text der undeutlich wird und an / aus geht.

Im ersteren Fall würde ich den Fehler in der Stromversorgung suchen, eventuell ist da auch irgendwo eine schlechte Kontaktstelle.

Im zweiten Fall kannst Du mal testen, ob das Flackern auch auftritt, wenn das Display nicht neu beschrieben wird.
Du gibst also einen Text auf dem Display aus und hälst dann den Controller an ( Endlosschleife ).
Ist das Flackern dann weg liegt es an der Ansteurersoftware für das Display.

Ich hatte sowas auch schon mal. Ich hab dann einfach alle clear_lcd(); Befehle rausgenommen und die alten Werte ( Text ) einfach mit den neuen Überschrieben.
lcd_gotoxy(0,0);
lcd_putsf(" ");
Damit war bei mir das Problem beseitigt.

erik_wolfram
27.03.2011, 08:28
Also die Hintergrundbeleuchtung funktioniert bestens, und auch nachdem ich beschrieben habe und keine weiteren LCD-Befehle ausführe flackert es!

Deshalb schließe ich ja mittlerweile die Software aus...
Das Kurriose ist halt, dass dieses bei beiden Displays vorkommt - kann ein Schaltnetzteil so stören?!
Das erste Display war über eine LOchstreifenplatine mit dem µC verbunden, das Zweite mit einer Flachbandleitung (die ich nochmal einkürzen werde)

wkrug
27.03.2011, 08:41
Deshalb schließe ich ja mittlerweile die Software aus...
Du hast auch die Brown Out detection und den Watchdog vom Controller abgeschaltet ?
Nicht, das der ständig bootet und somit diesen Fehler verursacht.
Eigentlich sind diese Displays doch recht immun gegen externe Störungen.
Da müsste dein Schaltnetzteil schon recht massive Störungen produzieren.
Du könntest ja mal einen anderen Displaytyp ( anderer Hersteller ) probieren.

erik_wolfram
27.03.2011, 19:00
Also Watchdog sowie Brown Out sind deaktiviert, da das Programm teilweise sehr gut getaktet werden muss (Schrittmotorsteuerung) und dort keine Ausfälle sind schließe ich das mal aus. Außerdem ist die SPannung gut stabilisiert, Atmega und LCD DIsplay haben einen 7805t mit 1,5A vorgeschaltet.
Ich habe das Problem bei beiden Displays, einmal eins von Pollin und eines von Conrad für den doppelten Preis....

Bin soweit erstmal ganzschön ratlos, aber danke für die Hilfe!

Crazy Harry
28.03.2011, 11:37
Falls du die HG-Beleuchtung per PWM ansteuerst änder mal die PWM-Frequenz ;)

5Volt-Junkie
28.03.2011, 17:33
Was für Ausgangsspannung hat Dein Netzteil? Bei dem 7805 muss die Eingangsspannung um paar Volt höher als die Ausgangsspannung sein, damit die Kiste ordentlich funzt.

Läuft die Blinkfrequenz des LCDs synchron zu der Schrittfrequenz des Motors?

Pufferst du die Spannung auch mit Kondensatoren (vor 7805 und danach)? Wenn JA, dann welche Kapazitäten und Spannungsfestigkeit?

erik_wolfram
30.03.2011, 17:02
Also:
Das Display wird nur angesprochen, wenn die Schrittmotoren stehen!

Der 7805 wird mit 15V und einem Elko mit 330µF 63V gespeist - danach kommt nochmal ein 100µF Elko mit 16V.

Ich habe jetzt die Zuleitung um die Hälfte gekürzt und habe das Gefühl, dass es ein bisschen besser gewordenist...