Forum: Mikrocontroller und Digitale Elektronik AVR LCD Hintergrundbeleuchtung dimmen mit PWM


von Kenji N. (shaitan)


Angehängte Dateien:

Lesenswert?

Hallo,

ich frage mich, ob  man ein LCD Display mit der mit der Schaltung am OC2 
Dimmen kann?
Ich hatte das so gedacht, das LCD Display wird mit der Anode normal an 
VCC angeschlossen und der ATmega8 (oder 32) liefert am OC2 0V. So wäre 
das Display an. Wenn man das Display dimmen möchte, erhöht man das PWM 
Signal langsam auf VCC, bis es aus ist. Kann man das so machen? Das LCD 
benötigt ca. 55mA laut Datenblatt.

Dabei fällt mir gleich die nächste Frage ein. Wenn man dann das PWM auf 
VCC hat und den ATmega dann in den Sleep Modus setzt, fällt dann auch 
der PWM aus und es liegen wieder 0V an OC2 an? Und wie verhalten sich 
die Anderen Datenleitungen? Gehen die alle auf 0V, weil er sozusagen aus 
ist?

PS: der µC ist nicht komplett beschaltet, dass weis ich, war nur zur 
Veranschaulichung....

von Bastler (Gast)


Lesenswert?

Guten Abend,

also auf jeden Fall solltest du das ganze über einen geeigneten 
Transistor laufen lassen, denn das LCD brauch einiges an Strom für die 
Hintergrundbeläuchtung. Das schafft dein einzelner Pin nicht!

Ansonsten spricht meiner Meinung nach nix dagegen dass du das per PWM 
machst, musst du mal etwas mit herumexperimentieren.

Viele Grüße
Bastler

von Kenji N. (shaitan)


Lesenswert?

Bastler schrieb:
> also auf jeden Fall solltest du das ganze über einen geeigneten
> Transistor laufen lassen, denn das LCD brauch einiges an Strom für die
> Hintergrundbeläuchtung. Das schafft dein einzelner Pin nicht!

Aha, ich dachte, dadurch dass das die Anode des Displays an die 
Stomquelle angeschlossen ist, dieses sich die 55mA von der Stromquelle 
nimmt und anschließend dadurch das durchleiten durch den µC die 
Stromstärke halbwegs egal ist, da das Signal duch den µC ja auf Masse 
geht...

Das heißt also das ein Pin immer nur maxmimal 40mA(ATmega32) verkraftet, 
richtig???
Also egal ob die 40mA von einer Stromquelle kommt und durch den µC auf 
GND geht, oder ob der µC die 40mA liefert und es anschließend auf GND 
geht... ist das jetzt so richtig???

von spess53 (Gast)


Lesenswert?

Hi

>Also egal ob die 40mA von einer Stromquelle kommt und durch den µC auf
>GND geht, oder ob der µC die 40mA liefert und es anschließend auf GND
>geht... ist das jetzt so richtig???

Prinzipiell ja. Allerdings solltest du dir bezüglich der 40mA mal den 
Text neben den 'Absolute Maximum Ratings' durchlesen.

Mf Spess

von Bernd S. (wird_schon)


Lesenswert?

Hallo,

hab ich schon erfolgreich zum Laufen gebracht. Ein Transistor als 
Verstärker ist Pflicht. Es schwirren hier irgendwo Tabellen rum die 
Werte in logarithmischer Form enthalten. Für mein Backlight habe ich auf 
8-bit folgende Tabelle:

0 , 1 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 6 , 7 , 8 , _
9 , 11 , 13 , 15 , 17 , 20 , 23 , 32 , 37 , 43 , 50 , 59 , _
69 , 80 , 93 , 109 , 127 , 148 , 173 , 201 , 227 , 255

Verzögerung 75ms. Das musst du aber selbst probieren, da jedes Display 
anders reagiert.

Viel Spass beim Basteln
bernd

von Olof G. (ole)


Lesenswert?

Kenji N. schrieb:
> PS: der µC ist nicht komplett beschaltet, dass weis ich, war nur zur
> Veranschaulichung....

Moin,

ich hoffe du hast den Widerstand für das Backlight auch nur 
"wegveranschaulicht".....

Gruß,

Olof

von Kenji N. (shaitan)


Lesenswert?

spess53 schrieb:
> Prinzipiell ja. Allerdings solltest du dir bezüglich der 40mA mal den
> Text neben den 'Absolute Maximum Ratings' durchlesen.

Ahh, japp ok, die 40mA hab ich ebend auch nur gesehen, bevor ich den 
Post gemacht habe... in Erinnerung hatte ich 20mA :) danke für den 
Hinweis...

Olof Gutowski schrieb:
> ich hoffe du hast den Widerstand für das Backlight auch nur
> "wegveranschaulicht".....

welchen meinst Du denn genau? Also so wie es jetzt da in der Schaltung 
ist geht's ja auf jeden Fall schon mal nicht... und ich muss nochmal 
etwas mehr über Transistoren lesen, damit ich hier nicht nur dumme 
Fragen stelle...
Da sind gestern schon nen paar Transistoren drauf gegangen :)

Nochmal zurück zu meiner zweiten Frage, was passiert am µC wenn ich den 
in den Sleep-Mode setze? Bleiben die letzten Signalzustände an den Pins 
erhalten? Oder Werden die alle auf 0V gesetzt? Danach richtet sich ja 
auch meine Transistorwahl.
Ich wollte den µC eine weile laufen lassen und wenn z. B. 1 Minute lang 
nix passiert, soll dieser das LCD ausschalten (dafür das herunter dimmen 
und anschließend ausschalten) und den µC in den Sleep-Modus schicken, um 
die Batterien zu schonen... Wenn der µC aber alles auf 0V setzt, dann 
brauch ich ja ein PNP und keine NPN wie ich bis jetzt dachte...

von Karl H. (kbuchegg)


Lesenswert?

Kenji N. schrieb:

> die Batterien zu schonen... Wenn der µC aber alles auf 0V setzt, dann
> brauch ich ja ein PNP und keine NPN wie ich bis jetzt dachte...

Du musst wirklich noch über Transistoren nachlesen.
Du brauchst einen NPN


                                                + +5V
                                                |
                                               _
                                             R_vorwiderstand
                                               _
                                                |
                                              Backlight
                                                |
                                             | /
     µC Pin  --------------| R_Basis |-------|/
                                             |\
                                               \
                                               v
                                               |
                                           ----+----  GND


Ist mir völlig unverständlich, wie du da einen Transistor geschrottet 
hast. Das ist ein stinknormale "Transe als Schalter" Schaltung

Ein NPN schaltet durch, wenn seine Basis ca 0.7V höheres Potentail als 
der Emitter hat. Liegt die Basis auf 0, sperrt der Transe

Als Vorwiderstand kannst du mal 50 oder 100 Ohm nehmen. Als 
Basiswiderstand 1k.
Auch wenn das LCD für das Backlight 55mA 'braucht', so ist das maximale 
Helligkeit. Wenn du da 55mA durchjagst, brauchst du beim Ablesen eine 
Sonnenbrille.

von Kenji N. (shaitan)


Lesenswert?

Karl heinz Buchegger schrieb:
> Ist mir völlig unverständlich, wie du da einen Transistor geschrottet
> hast. Das ist ein stinknormale "Transe als Schalter" Schaltung

Hehe... jaja ich hab mich vor den Dingern bis jetzt immer gedrückt... so 
viel hab ich auch noch nicht gemacht und meine letzte 
E-Tech-Unterrichtsstunde in der Schule ist auch schon viele viele Jahre 
her, und da ging es leider bei weitem nicht praktisch zu und war deshalb 
nur ein klein wenig Spannend...

Ich hab erst mal ohne zu lesen nen bissel auf nem Exerementierboard mit 
nem 3xAA-Batterien rumgespielt, da ich ja dachte, die Transis kann man 
ganz einfach als Schalter verwenden... Naiv wie ich war, hatte auch nen 
NPN genommen, hab dann ne LED genommen um den Schalter zu Testen. Diese 
hab ich aber hinter den Emitter mit nem Vorwiderstand gepackt... (denke 
das war schon der erste Fehler... weil ich immer überall sehe, das die 
kommt vor den Kollektor kommt) und dann hatte ich den Kollektor mit den 
4,8V versehen und den Emiter mit LED an den GND. Als nächstes (natürlich 
ohne R-Basis) die vollen 4,8V an die Basis... dann roch es verdächtig 
komisch... und ohh wunder, ohh wunder, dann qualmte es etwas... und hinn 
war ein NPN... (Nun kriegt sicher die hälfte der Leute nen lachanfall :) 
ich weis...) soviel dazu...

Karl heinz Buchegger schrieb:
> Ein NPN schaltet durch, wenn seine Basis ca 0.7V höheres Potentail als
> der Emitter hat. Liegt die Basis auf 0, sperrt der Transe

Stimmt, der sleep ist dann ja ok, weil 0V ja sowieso aus ist...

Karl heinz Buchegger schrieb:
> Als Vorwiderstand kannst du mal 50 oder 100 Ohm nehmen. Als
> Basiswiderstand 1k.

Jupp, da war ich gestern beim lesen angekommen, wie man den R-Basis 
berechnet. Da war ich auf 1,2k gekommen.
Das LCD hat einen Vorwiderstand (33Ohm) eingelötet, z. Z. lege ich da 
die meine Komplette Spannung einfach an (VCC liegt bei mir zwischen 
4,3-4,8V). Also brauche ich doch keinen weiteren Vorwiderstand beim 
Transistor, oder doch?

Karl heinz Buchegger schrieb:
> Auch wenn das LCD für das Backlight 55mA 'braucht', so ist das maximale
> Helligkeit. Wenn du da 55mA durchjagst, brauchst du beim Ablesen eine
> Sonnenbrille.

Bis jetzt war's angenehm... leuchtet halt schön blau und das weis ich 
schön kräftig...

von Kenji N. (shaitan)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hab nun mal versucht das LCD über ein Transistor ein und aus zu
schalten. Nun habe ich das Problem, dass das Display bei anliegendem
Basisstrom voll Leuchtet, aber mit abgeschaltetem Basisstrom geht es
nicht aus, sonndern wird nur dunkler... sprich der Transistor schein
nicht vollständig zu sperren. Das LCD wird über eine Stiftleiste
angeschlossen und hat schon auf der Platine einen 33 Ohm Widerstand.
Deswegen habe ich den beim Kollektor nicht davor gelötet...

Hat jemand eine Idee warum der Transistor nicht sperrt?


PS: Hab gerade noch mitbekommen das der 7805 SEHR warm wird wenn ich das 
Display versuche auszuschalten. (Der 7805, der die 5V für VCC liefert)

von Armin G. (armin_graewe)


Lesenswert?

Du steuerst aber hoffentlich über den Transistor nicht die GND-Leitung 
des Displays sondern nur die des Backlights ....
Sonst gibt's Probleme mit der Anzeige !
Für PWM muss GND-Display und GND-Backlight getrennt sein !!!

von Kenji N. (shaitan)


Lesenswert?

Armin Gräwe schrieb:
> Du steuerst aber hoffentlich über den Transistor nicht die GND-Leitung
> des Displays sondern nur die des Backlights ....
> Sonst gibt's Probleme mit der Anzeige !
> Für PWM muss GND-Display und GND-Backlight getrennt sein !!!

Ähhmm, z. Z. schon, aber schon mal gut zu wissen, aber erst mal möchte 
ich nun nur dsa Display ein und ausschalten, ohne PWM, mit dem 
Transistor. Und da kann ja auch beides aus. Beim einschalten 
initialisiere ich das dann einfach nochmal neu...

Sorry, nun ist die Überschrift etwas verwirrend, aber ich wollte 
deswegen nicht gleich nen neuen Thread auf machen.

von Bernhard M. (bernhard84)


Lesenswert?

wenn du das ganze display ein und ausschalten willst, wäre es 
sinnvoller, wenn du das mit einem PNP-Transistor in der VCC-Leitung 
machst.
Außerdem muss du dann dafür sorgen, dass alle Datenleitungen zum Display 
0 sind, wenn es ausgeschaltet ist.

Bernhard

von Kenji N. (shaitan)


Lesenswert?

Bernhard Mayer schrieb:
> wenn du das ganze display ein und ausschalten willst, wäre es
> sinnvoller, wenn du das mit einem PNP-Transistor in der VCC-Leitung
> machst.

Aha... Hast Du ein Beispiel dafür, das verstehe ich nicht.

Bernhard Mayer schrieb:
> Außerdem muss du dann dafür sorgen, dass alle Datenleitungen zum Display
> 0 sind, wenn es ausgeschaltet ist.

Hmmm... stimmt daran habe ich nicht gedacht. Vielleicht liegt es ja 
daran...

von Kenji N. (shaitan)


Lesenswert?

Armin Gräwe schrieb:
> Du steuerst aber hoffentlich über den Transistor nicht die GND-Leitung
> des Displays sondern nur die des Backlights ....
> Sonst gibt's Probleme mit der Anzeige !

Danke für den Hinweis nochmal, daran hab ich gar nicht mehr gedacht... 
ich hatte VSS mit der Kathode verbunden und VDD mit mit der Anode...
Wenn ich das VSS und VDD erst mal ab lasse kann ich die LED's einfach 
ein und aus schalten und der 7805 wird auch nicht mehr Heiß wenn die 
Hintergrundbeleuchtung aus ist... frag mich was da Technisch passiert 
ist... wenns jemand erklären kann, bin gerne bereit mehr zu lernen :)

von MarioT (Gast)


Lesenswert?

Kenji N. schrieb:
> Wenn ich das VSS und VDD erst mal ab lasse kann ich die LED's einfach
> ein und aus schalten und der 7805 wird auch nicht mehr Heiß wenn die
> Hintergrundbeleuchtung aus ist...

Mit welcher Spannung gehst Du in den 7805 rein? Und hast Du einen 
Kühlkörper dran? Der 7805 muß ja alles, was zu viel ist in Wärme 
umwandeln.
Also:  (Eingangsspannung - Ausgangsspannung)*Srom
Alles was man mehr dranhangt verursacht natürlich auch mehr Wärme.
Der 7805 ist intern aber geschützt. Wenn er zu warm wird schaltet er 
erst mal ab. Das kann so schnell gehen das man sich wundert was die 
Schaltung macht.

von Kenji N. (shaitan)


Lesenswert?

MarioT schrieb:
> Mit welcher Spannung gehst Du in den 7805 rein? Und hast Du einen
> Kühlkörper dran? Der 7805 muß ja alles, was zu viel ist in Wärme
> umwandeln.

Aha... ok, da war ich mir nicht sicher... naja 12V laut Netzteil, 16,8V 
gemessen... gehen rein. Das geht eigentlich ganz gut, noch ist kein 
kühlkörper dran, hatte ich noch überlegt. Ab wieviel Watt sollte denn 
einer dran?

MarioT schrieb:
> Also:  (Eingangsspannung - Ausgangsspannung)*Srom

Ahh, stimmt zum Watt berechnen wieviel am 7805 verloren geht...
Das heißt bei an geschlossenem Display gehen
(16,8V-5V)*0,06A= 0,708W
am 7805 in wäre drauf und bei 2 Servo-Motoren
(16,8V-5V)*(2*0,5A)=11,8W
(maximal wenn die Motoren immer unter voller Bewegungslast wären, was 
nicht der Fall sein wird). Nun brauche ich nur noch ein Wäre Gefühl 
dafür wie warm das ist. 12W dürfte schon gut heiß sein, das habe ich 
schon etwas getestet...

Da bei ausgeschaltetem Display da was komisches passiert war, kann ich 
das noch nicht wissen, der Sache gehe ich irgendwann nochmal auf den 
Grund. Aber mit getrennter Stromzufür für die LED's und dem LCD geht es 
nun einfach an und aus. mit dem dimmen neheme ich mir später nochmal 
vor, wenn ich mehr mit Transistoren gemacht habe... wenigstens gehen sie 
erst mal als Schalter und das habe ich verstanden.

MarioT schrieb:
> Der 7805 ist intern aber geschützt. Wenn er zu warm wird schaltet er
> erst mal ab. Das kann so schnell gehen das man sich wundert was die
> Schaltung macht.

Das ist ja schon mal gut zu wissen, nicht das ich mich dann irgendwann 
mal wundere.

von Gerry (Gast)


Lesenswert?

Also wegen der Temperatur des 7805:
Der Baustein hat laut Datenblatt einen Thermal Resistance (Junction - 
Air) von 65K/W. Das heisst ohne Kühlkörper erwärmt sich der Chip innen 
um 65 Grad je Watt.

Also:  T(junc) = T(ambient) + P * R(t-a))
somit: T(junc) = ~25C + 0,708W*65K/W

Das ergibt eine Chiptemperatur von ~70C, erlaubt sind 125C wenn ich mich 
nicht irre. Diese Datenblattwerte gelten nur für idealen Aufbau (also 
wenn er frei im Sturm steht;-) ). Der R(t-a) verringert sich allerdings 
wieder je nach dem wie er afgelötet ist.
Bei 12 Watt dann .... oops ;-).

Zu jedem Kühlkörper gibts auch den Thermal Resistance Wert. Mit dem 
kannst Du dann berechnen wie warm Dein 7805 wird bei der jeweiligen 
Leistung. Bzw. umgekehrt welchen Kühlkörper Du brauchst um die 
entsprechende Leistung wegzubringen.

Happy burning,
Gerry

von Gerry K. (gerry_k)


Lesenswert?

Sollte natürlich R(j-a) nicht R(t-a) heissen ...

von Karl H. (kbuchegg)


Lesenswert?

Kenji N. schrieb:

> Aha... ok, da war ich mir nicht sicher... naja 12V laut Netzteil, 16,8V
> gemessen... gehen rein.

die 16V werden unter Last noch einbrechen.

Aber das ist zuviel, viel zuviel.
Wenn du kannst, nimm ein anderes Netzteil!

Angenommen du ziehst 100mA.
Dann kommen hinten am 7805    0.1A * 5V = 0.5W an Leistung heraus
Du steckst aber vorne         0.1A * 12V = 1.2W an Leistung rein

d.h. 0.7W werden in Wärme umgesetzt.
0.5W entnimmst du, 0.7W gehen verloren. Du hast einen lausigen 
Wirkungsgrad! Im Grunde hast du eine Heizung gebaut, die nebenbei auch 
noch deinen µC versorgt. Aber eigentlich sollte es eher umgekehrt sein!

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.