Forum: Mikrocontroller und Digitale Elektronik Problem mit LCD und ATmega8


von KL7000F (Gast)


Lesenswert?

Hallo,

ich habe eine kleine Schaltung die ein Audiosignal verarbeitet und 
entsprechend auf einem Display (2x16) den Status anzeigt. Im Hintergrund 
arbeitet ein Mega8, PFC8583P und eben das Display. Die Statusdaten 
werden mit Uhrzeit in einen Ringspeicher geschrieben und können per 
Tasten abgerufen werden. Geschrieben ist das Programm in Bascom.

Jetzt zum Problem: Das Gesamtprodukt arbeitet einwandfrei (bereits seit 
über drei Jahren). Wenn ich jetzt aber nach ein paar Stunden laufzeit 
die Hintergrundbeleuchtung vom LCD einschalte verschwinden nach kurzer 
Zeit alle Zeichen vom Display (Beleuchtung bleibt weiterhin an). Kommen 
nun Daten und werden zum LCD geschoben, erscheinen nur Hieroglyphen. Die 
Daten werden aber vom Mega8 einwandfrei verarbeitet und im Speicher 
hinterlegt. Startet man komplett neu (sprich von der Netzspannung 
trennen und wieder verbinden) kann man wie gewohnt die letzten Daten 
abrufen und alles funktioniert wieder.

Und nun zur eigentlichen Frage: Kann die Zuschaltung der 
Hintergrundbeleuchtung das LCD so durcheinanderbringen dass es nurnoch 
"Mist" ausgibt? Oder wäre es auch Denkbar dass der Mega8 nach gewisser 
Laufzeit genannten "Mist" ans LCD schickt, aber sonst wie gewohnt 
arbeitet?

Ich bin in dem Bereich absoluter Anfänger, bitte nicht gleich die Keule 
schwingen wenn meine Fragestellung etwas Laienhaft ist ;)


Infos zum Schaltplan, Quellcode etc. kann ich gerne nachliefern falls 
sie gebraucht werden!

Danke und Gruß
KL7000F

von Karl H. (kbuchegg)


Lesenswert?

KL7000F schrieb:

> Und nun zur eigentlichen Frage: Kann die Zuschaltung der
> Hintergrundbeleuchtung das LCD so durcheinanderbringen dass es nurnoch
> "Mist" ausgibt?

Eher nicht.
Denn die Hintergrundbeleuchtung ist ja nur eine LED (wenn auch eine 
flächige) und als solches ein einfach nur ein weiterer Stromkreis auf 
dem LCD, der mit der eigentlichen LCD-Logik nichts zu tun hat. (Wir 
reden doch von einem Standard-Text Display. Oder?)

Aber: die Beleuchtung braucht Strom. Und wenn dein Netzteil ein wenig 
schwach auf der Brust ist ....

von Oops (Gast)


Lesenswert?

Du laesst sicher die spezifizierten 70..100mA oder so durch das 
Backlight ? Probiers doch mal mit 5-10mA. Die genuegen auch.

von KL7000F (Gast)


Lesenswert?

Hallo,

danke für eure Antworten. Ja, es handelt sich um ein ganz einfaches 
Textdisplay (über Reichelt gekauft). Ich guck mal ob ich die mA 
reduzieren kann. Habe aktuell nur ein Einstellpotentiometer für den 
Kontrast drin, aber der hilft mir hierbei erstmal wenig.
Ansonsten bleibt die Beleuchtung erstmal aus, dann läufts :)

Gruß
KL7000F

von Oops (Gast)


Lesenswert?

Wie gross ist denn der Vorwiderstand der Beleuchtung, wie gross die 
Speisung ?

von KL7000F (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab euch mal kurz den Schaltplan angehängt, dann ist es vermutlich 
einfacher.

Ich geh mit 5 Volt zum LCD, davon koppel ich etwas über einen Schalter 
zur LED. Ein Vorwiderstand soll bei diesem Display (Powertip PC1602F) 
intern vorhanden sein...wobei ich ehrlich gesagt aus dem Datenblatt die 
Schlau geworden bin. Es (hat) funktioniert... ;)

Gruß
KL7000F

von Ben _. (burning_silicon)


Lesenswert?

> Ich geh mit 5 Volt zum LCD, davon koppel ich etwas über einen Schalter
> zur LED.
Na das riecht doch nach Störungen, die nicht durch einen kleinen 
Kondensator abgefangen werden.

Ich hab mir mal was ähnliches bei einem Testaufbau eingefangen, da hat 
bei einem Taster das Kurzschließen eines zum Entprellen benutzten 100nF 
Kondis ausgereicht, um das LCD annehmen zu lassen ihm wurde ein Byte 
gesendet... 100nF direkt an die LCD-Pins gelötet und schon ging es.

von L.Ed (Gast)


Lesenswert?

KL7000F schrieb:
> (über Reichelt gekauft)

KL7000F schrieb:
> Display (Powertip PC1602F)

Gibt es das Ding bei Reichelt noch und wenn "ja" unter welcher 
Bezeichnung?
Wahrscheinlich ist es dieses hier:
http://www.powertipusa.com/pdf/pc1602f.pdf

Das Backlight über nur 68Ω direkt an einen Ausgangspin des µC zu hängen, 
scheint grenzwertig. Hast du mal den Spannungsabfall über dem Widerstand 
gemessen (gleich nach dem Einschalten), daraus den Strom berechnet und 
mit der Datenblattspezifikation für die max. Belastbarkeit deines 
µC-Ausgangs verglichen?

von Wolfgang (Gast)


Lesenswert?

KL7000F schrieb:
> Ich hab euch mal kurz den Schaltplan angehängt, dann ist es vermutlich
> einfacher.

Was soll eigentlich die Verbindung zwischen VCC und ARef. Das ist ein 
satter Kurzschluß zwischen der internen Referenzspannung und VCC.
ARef ist nur zum Anschluß eines Entkopllungskondensators herausgeführt!
Das Datenblatt schreibt mehr als deutlich: "The voltage reference
may be externally decoupled at the AREF pin by a capacitor for better 
noise performance."

von Mod (Gast)


Lesenswert?

KL7000F schrieb:
> schalt.png

Die nachträgliche Umwandlung eines JPG-Bildes in ein PNG macht die Sache 
nicht schärfer (und schon gar nicht das Bild kleiner)

von KL7000F (Gast)


Lesenswert?

L.Ed schrieb:
>
> Gibt es das Ding bei Reichelt noch und wenn "ja" unter welcher
> Bezeichnung?
> Wahrscheinlich ist es dieses hier:
> http://www.powertipusa.com/pdf/pc1602f.pdf
>
> Das Backlight über nur 68Ω direkt an einen Ausgangspin des µC zu hängen,
> scheint grenzwertig. Hast du mal den Spannungsabfall über dem Widerstand
> gemessen (gleich nach dem Einschalten), daraus den Strom berechnet und
> mit der Datenblattspezifikation für die max. Belastbarkeit deines
> µC-Ausgangs verglichen?

Dieser Anschluss ist zwar gelegt, aber nicht am LCD genutzt. VSS und VDD 
kommen direkt vom "Netzteil" (am Schaltplan oben Links). Das Backlight 
wird von VDD über einen Schalter zu "A" (Pin 15) des LCD geschalten. R/W 
ist auf Pin 16 gelegt, der wohl intern mit GND verbunden ist, zumindest 
funktioniert es ;)

Wolfgang schrieb:
> Was soll eigentlich die Verbindung zwischen VCC und ARef. Das ist ein
> satter Kurzschluß zwischen der internen Referenzspannung und VCC.
> ARef ist nur zum Anschluß eines Entkopllungskondensators herausgeführt!
> Das Datenblatt schreibt mehr als deutlich: "The voltage reference
> may be externally decoupled at the AREF pin by a capacitor for better
> noise performance."

Das kann ich dir gerade auch nicht sagen, der Schaltplan ist 
ursprünglich nicht von mir und habe ihn nur mit sehr wenigen Änderungen 
übernommen. Hat ja schließlich im Testaufbau alles prima funktioniert 
(Anfängerfehler? ;) ). Das werde ich aber nachträglich noch ändern!

Mod schrieb:
> Die nachträgliche Umwandlung eines JPG-Bildes in ein PNG macht die Sache
> nicht schärfer (und schon gar nicht das Bild kleiner)

Sorry, hatte erst ein JPG vorbereitet und beim Hochladen erst gelesen 
das man PNG braucht. Habe es dann, wie du richtig erkannt hast, nur 
umgewandelt. War keine Absicht um einen Mod oder User zu ärgern!

Ben _ schrieb:
>> Ich geh mit 5 Volt zum LCD, davon koppel ich etwas über einen Schalter
>> zur LED.
> Na das riecht doch nach Störungen, die nicht durch einen kleinen
> Kondensator abgefangen werden.
>
> Ich hab mir mal was ähnliches bei einem Testaufbau eingefangen, da hat
> bei einem Taster das Kurzschließen eines zum Entprellen benutzten 100nF
> Kondis ausgereicht, um das LCD annehmen zu lassen ihm wurde ein Byte
> gesendet... 100nF direkt an die LCD-Pins gelötet und schon ging es.

Wie ich oben geschrieben habe bin ich absoluter Anfänger. Ich habe die 
Schaltung im großen und ganzen so übernommen wie sie von einem anderen 
gebaut wurde. Als Laie war ich echt stolz das ich ein funktionierendes 
Produkt hatte und das nun seit knapp drei Jahren prima läuft. Bis auf 
eben die Sache mit dem Backlight...
Einen 100nF habe ich doch im "Netzteil", ist das nicht ausreichend?

Danke für eure Hilfe!
Gruß
KL7000F

von Karl H. (kbuchegg)


Lesenswert?

KL7000F schrieb:

>> Das Backlight über nur 68Ω direkt an einen Ausgangspin des µC zu hängen,
>> scheint grenzwertig. Hast du mal den Spannungsabfall über dem Widerstand
>> gemessen (gleich nach dem Einschalten), daraus den Strom berechnet und
>> mit der Datenblattspezifikation für die max. Belastbarkeit deines
>> µC-Ausgangs verglichen?
>
> Dieser Anschluss ist zwar gelegt, aber nicht am LCD genutzt.

OK, dann ist das missverständlich.

Miss trotzdem mal am LCD direkt nach, wieviel Strom da rinnt oder 
probier da testweise mal einen Widerstand davor zu schalten.


> übernommen. Hat ja schließlich im Testaufbau alles prima funktioniert
> (Anfängerfehler? ;) ).

Funktionieren wird es.
Nur besteht die Möglichkeit, dass du dir mittels Software einen 
Kurzschluss baust! Und das muss nicht sein. Vor allen Dingen deswegen 
nicht, weil du genau dieselbe Verbindung im µC schalten lassen kannst. 
Nur: Wenn du das im µC schalten lässt, dann kannst du keinen Kurzschluss 
bauen, weil du dann in Software zwischen Vcc als Referenz und der 
internen Referenzspannung umschaltest. Und damit besteht keine Gefahr, 
dass du die interene Referenzspannungsquelle gegen Vcc arbeiten lässt. 
Kurz und gut: diese externe Verschaltung ist eine der Möglichkeiten, die 
du auch mit µC-Bordmitteln verschalten kannst. Aber da ist es eine von 
mehreren Möglichkeiten, die sich gegenseitig ausschliessen.

> Wie ich oben geschrieben habe bin ich absoluter Anfänger. Ich habe die
> Schaltung im großen und ganzen so übernommen wie sie von einem anderen
> gebaut wurde. Als Laie war ich echt stolz das ich ein funktionierendes
> Produkt hatte und das nun seit knapp drei Jahren prima läuft. Bis auf
> eben die Sache mit dem Backlight...
> Einen 100nF habe ich doch im "Netzteil", ist das nicht ausreichend?

Nö.
Die 100nF gehören immer so dicht wie möglich an den Verbraucher. Also 
das IC bzw. in deinem Fall wohl an das LCD. Und derartige 
Blockkondensatoren haben eine Eigenschaft: zu viele stören nicht. Aber 
zu wenige sind ein Problem. Ihre Aufgabe ist es, Störspikes möglichst 
schon im Ansatz zu unterdrücken.

von Visitor (Gast)


Lesenswert?

>ARef ist nur zum Anschluß eines Entkopllungskondensators herausgeführt!

Man sollte Datenblätter eigentlich genaer lesen, bevor man so etwas 
behauptet:

"AVCC is connected to the ADC through a passive switch. ....If the user 
has a fixed voltage source connected to the AREF pin, the user may not 
use
the other reference voltage options in the application, as they will be 
shorted to the external voltage."

Danach kann Aref bei entsprechender Wahl der REFS1/REFS0-Bits in Admux 
direkt intern mit AVCC / 2,56V oder mit der EXTERNEN Spannungsquelle 
verbunden werden.

von KL7000F (Gast)


Lesenswert?

> Die 100nF gehören immer so dicht wie möglich an den Verbraucher. Also
> das IC bzw. in deinem Fall wohl an das LCD. Und derartige
> Blockkondensatoren haben eine Eigenschaft: zu viele stören nicht. Aber
> zu wenige sind ein Problem. Ihre Aufgabe ist es, Störspikes möglichst
> schon im Ansatz zu unterdrücken.

Nachdem ich nur einmal +5V zum LCD gelegt und das dort zum Backlight 
abgezweigt habe, reicht ein 100nF vor dem LCD oder einer vor dem LCD und 
einer vor dem Backlight? Oder nun doch einen Widerstand (75Ohm?). Ich 
glaub ich steh grad echt am Schlauch...

Visitor schrieb:
> Danach kann Aref bei entsprechender Wahl der REFS1/REFS0-Bits in Admux
> direkt intern mit AVCC / 2,56V oder mit der EXTERNEN Spannungsquelle
> verbunden werden.

Und wie stelle ich nun fest ob es intern geschalten ist oder nicht?

Gruß
KL7000F

von Visitor (Gast)


Lesenswert?

>Und wie stelle ich nun fest ob es intern geschalten ist oder nicht?

Wie erwähnt durch entsprechendes Setzen der REFS1/REFS0-Bits im 
ADMUX-Register.

von Wolfgang (Gast)


Lesenswert?

Visitor schrieb:
> Danach kann Aref bei entsprechender Wahl der REFS1/REFS0-Bits in Admux
> direkt intern mit AVCC / 2,56V oder mit der EXTERNEN Spannungsquelle
> verbunden werden.

Umgekehrt wird da ein Schuh draus. Nur wenn im Programm sicher gestellt 
ist, dass die REFS1/REFS0-Bits entsprechend gesetzt sind, darf man über 
ARef eine externe Referenzspannung reinschicken.
Und kennst du das Programm des TO?

Also: Besser ist es, an den VRef-Pin keine externe Spannung 
anzuschließen. Insbesondere AVCC dort ranzuhängen ist sinnfrei, da sich 
das genauso über das Programm schalten läßt.

von Visitor (Gast)


Lesenswert?

>Umgekehrt wird da ein Schuh draus. Nur wenn im Programm sicher gestellt
>ist, dass die REFS1/REFS0-Bits entsprechend gesetzt sind.

Selbst ich als reiner Hobbyist versuche mir immer im Klaren zu sein, was 
ich tue.
Außerdem ist die Default-Einstellung REFS0 = 0 und REFS1 = 0 und damit 
"AREF, Internal Vref turned off". Also keine Kurzschlußgefahr.

Wo ist also jetzt konkret dein Problem?

Unabhängig davon ist Deine Aussage:

>ARef ist nur zum Anschluß eines Entkopllungskondensators herausgeführt

definitiv falsch.

von Wolfgang (Gast)


Lesenswert?

Visitor schrieb:
> Also keine Kurzschlußgefahr.
Im Default-Zustand nicht, das ist klar. Und abrauchen tut auch nichts, 
weil das relativ hochohmig ausgelegt ist.

> Unabhängig davon ist Deine Aussage:
>>ARef ist nur zum Anschluß eines Entkopllungskondensators herausgeführt
> definitiv falsch.
Ersetzt "nur" durch "u.a.", dann paßt's. Genau findest du das im 
Datenblatt vom ATMEGA8 Table 74. (Voltage Reference Selections for ADC) 
bei den Einstellungen REFS=01 bzw. 11.

von Visitor (Gast)


Lesenswert?

>Genau findest du das im Datenblatt

Siehst du, einfach im Datenblatt nachlesen, dann klappt es auch mit 
Aref.

von Ben _. (burning_silicon)


Lesenswert?

> Einen 100nF habe ich doch im "Netzteil", ist das nicht ausreichend?
*HUST! HUST!!*

Die Dinger gehören so nahe wie möglich an jeden Verbraucher. Kein 
Wunder, daß der Kram nicht ordentlich funktioniert. Und ja, an jeden 
Verbraucher, so dicht dran wie möglich. Lieber ein paar zuviel als ein 
paar zu wenig.

von KL7000F (Gast)


Lesenswert?

So, ich möchte mich noch kurz für die teils wertvollen Tips bedanken. 
Ich werde mich mal ranmachen und die angesprochenen Kondensatoren bzw. 
Widerstände nachrüsten und hoffe dass "mein Fehler" dann verschwindet.

Gruß
KL7000F

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.