Ich würde gerne ein LCD-Display durch einen AVR nur bei Bedarf
einschalten/aktivieren, um Strom zu sparen.
Hatte mir überlegt dafür einen kleinen N-Channel Mosfet (IRLML 2502) zu
verwenden.
Ist meine Beschaltung, wo ich VDD, RW, sowie BLK dazu über den FET nach
GND schalte korrekt?
Gruß
Olaf
Wenn du GND unterbrichst, musst du sicherstellen, dass alle Eingänge des
Displays zu diesem Zeitpunkt auf HIGH liegen. Ich würde lieber VSS (und
BLA) schalten.
Die meisten LC-Displays (ohne Backlight) nehmen so wenig Strom auf, dass
du sie direkt an einen I/O Pin anschließen kannst. Beim Backlight musst
du mal schauen, da gibt es große Unterschiede. 20mA sollten jedenfalls
kein Problem sein.
H. H. schrieb:> muss aber vor und während des abschaltens dafür> sorgen, dass die Daten- und Steuerleitungen auf High-Pegel liegen.
Was wäre denn, wenn nicht? Also warum müssen die einen High-Pegel haben?
Olaf schrieb:> H. H. schrieb:>> muss aber vor und während des abschaltens dafür>> sorgen, dass die Daten- und Steuerleitungen auf High-Pegel liegen.>> Was wäre denn, wenn nicht? Also warum müssen die einen High-Pegel haben?
Weil du dem Display sonst doch wieder GND lieferst, über die
entsprechende Daten/Steuerleitung und ihre Eingangsschtzbeschaltung.
Olaf schrieb:> Ich würde gerne ein LCD-Display durch einen AVR nur bei Bedarf> einschalten/aktivieren, um Strom zu sparen.
Das Ding zieht kaum 1mA. Die Hintergrundbeleuchtung ist der wahre
Stromfresser!
> Ist meine Beschaltung, wo ich VDD, RW, sowie BLK dazu über den FET nach> GND schalte korrekt?
Lass es. Schalte VCC mit einem P-Kanal MOSFET. Es muss auch kein
Super-Duper moderner sein, es reicht ein old school BSS84. Vor dem
Abschalten müssen aber alle Signal am LCD auf LOW geschaltet werden.
P1 ist nicht ganz korrekt. Der +5V Anschluß wird nicht gebraucht, denn
das LCD hat intern schon einen Spannungsteiler. Deine Schaltung
verbraucht nur unnütz zusätzlichen Strom, auch wenn das nur ein paar
hundert uA sind.
http://elm-chan.org/docs/lcd/lcd3v.html
Olaf schrieb:> Was wäre denn, wenn nicht? Also warum müssen die einen High-Pegel haben?
Weil sonst der Strom über die Schutzdioden der Eingänge von GND des
Moduls nach low abfließt, das LCD also immer noch genug Strom zum
Arbeiten bekommt und du genau gar nix sparst.
Olaf schrieb:> Was wäre denn, wenn nicht? Also warum müssen die einen High-Pegel haben?https://www.mikrocontroller.net/articles/Pegelwandler#Schutzdioden
GND wird dann über einen Eingang und dessen ESD-Schutzdiode verbunden.
GND schalten ist bei den meisten ICs und Geräten keine gute Idee und
muss GUT überlegt sein. VCC schalten ist besser.
Olaf schrieb:> Was wäre denn, wenn nicht? Also warum müssen die einen High-Pegel haben?
Weil im Datenblatt des Display-Controllers (wie bei fast allen IC)
steht, dass die Spannung an sämtlichen Pins zwischen VSS und GND liegen
muss.
Wenn der GND Pin in der Luft hängt, aber ein Eingang auf LOW, dann ist
diese Bedingung nicht mehr erfüllt. Dann kann alles möglich passieren,
von Fehlfunktionen bis hin zum Defekt.
Das LCD kann man bei einem AVR oder ähnlichem uC mit starken Ausgängen
auch direkt mittels eines IOs mit Spannung versorgen, da spart man sich
den MOSFET. 1mA ist kein Problem, da entsteht auch kein nennenswerter
Spannungsabfall. Nur die Hintergrundbeleuchtung braucht deutlich mehr.
Da sollte man schon einen MOSFET nutzen. Da kann man beliebig Anode
(P-Kanal) oder Kathode (N-Kanal) schalten, die ist galvanisch vom Rest
getrennt.
> Das Ding zieht kaum 1mA. Die Hintergrundbeleuchtung ist der wahre> Stromfresser!
Also ich finde ja das 1mA schon echt heftig sind. :)
Aber vielleicht das Display ja auch noch einen Sleepmode und man kann
das per Software loesen. Wuerde auch mal pruefen.
Olaf
Stefan ⛄ F. schrieb:> Olaf schrieb:>> Wäre das Poti jetzt richtig beschaltet?>> Nein. Das geht so: Poti> 10k 33k> GND |----[===]---[===]---o VSS> ^> |> VO
Der Widerstand nach Vss ist überflüssig, der steckt bereits im Display.
Und wenn man dort nach den Werten schaut, dann kann man den sinnvollsten
Wert fürs Poti ermitteln.
Olaf schrieb:> Wenn doch aber VSS mit GND zu beschalten ist, wie soll dann ein Poti> (Spannungsteiler) zwischen GND und GND funktionieren?
Tschuldigung, ich meinte VDD.
Olaf schrieb:> Habs umgezeichnet, nur noch das Backlight wird geschaltet, reicht.> Wäre das Poti jetzt richtig beschaltet?
Ist OK, man kann aber ein Ende des Potis auch offen lassen.
Beim Backlight würde ich einen Vorwiderstand vorsehen. Manchmal ist der
im LCD schon drin, manchmal nicht.
Falk B. schrieb:> GND schalten ist bei den meisten ICs und Geräten keine gute Idee und> muss GUT überlegt sein. VCC schalten ist besser.
Das ist egal, dann kommt der Strom halt über high-Eingänge.
Da müssten alle Eingänge (vorher) auf low.
Blöd, wenn bei denen aber low aktiv ist, wie E und R/W beim LCD.
Schlauer ist es dann, E und R/W auf high zu legen, Chip inaktiv, und
dann GND zu trennen. Auch bei I/O wo man gerade nicht weiss ob er als
Eingang oder Ausgang arbeitet kann man einfach den pull up aktivieren um
den Pin, falls er gerade ein Eingang sein sollte, auf high zu halten.
Pull Downs gibt es ja eher selten.
Sonst bekommt der Chip vor allem beim Einschalten gleich mal ein
E(nable) Signalimpuls vorgesetzt.
Nein, es ist keine gute Idee, einen Pin auf HIGH zu schalten, während
das ICH keine Versorgungsspannung an VDD hat.
Genau so wenig soll kein Pin auf LOW liegen, während GND in der Luft
hängt.
Beachte die absolute maximum Ratings im Datenblatt! Die heißen nicht
umsonst so.
Ist mir an der Stelle jetzt egal, Backlight aus reicht mir als
Stromsparmaßnahme. Nur die Potigeschichte verunsichert mich.
Stefan macht es dann ja quasi doch wie auch im Tutorial mit noch
zusätzlichem Widerstand. Also wie ich es auch anfangs hatte bis auf den
33k.
Falk hingegen macht es anders, was ja scheinbar auch richtig wäre, ich
aber so nicht im Tutorial oder anderswo gefunden habe.
Auch sollte man doch beim Poti das offene Ende auf den Schleifer legen,
damit es immer einen definierten Widerstand gibt. Hab ich zumindest auch
mal hier im Forum so erzählt bekommen und leuchtet mir auch ein.
Olaf schrieb:> Ist mir an der Stelle jetzt egal, Backlight aus reicht mir als> Stromsparmaßnahme.
Das wäre mein erster Ansatz gewesen, mal messen, was das LCD ohne
Beleuchtung an Strom zieht.
> Nur die Potigeschichte verunsichert mich.
Auszug aus einem China-I2C-Adapter im Anhang, so und nur so gehört das
Poti, man kann also zwischen 0V und Betriebsspannung einstellen.
Interessant wäre mal, wie groß das Porti werden darf, falls die 0,5mA
über 10k stören.
Stefan ⛄ F. schrieb:> Wenn du GND unterbrichst, musst du sicherstellen, dass alle Eingänge des> Displays zu diesem Zeitpunkt auf HIGH liegen. Ich würde lieber VSS (und> BLA) schalten.
Müssen dann nicht alle Eingänge auf LOW (GND-Potential) liegen, sonst
tritt eine Versorgung des LCDs uber die internen Schutzdioden gegen Vcc
ein.
Bei vielen Displaybeleuchtungen kommt man übrigens auch mit weitaus
weniger Strom aus, ohne daß die Helligkeit allzu deutlich abnimmt. Ich
hatte mal eines, das war mit 30mA angegeben, aber 20mA taten es genauso.
Olaf schrieb:> OK, also die Variante von Falk verwenden. Aber warum in diesem> Fall beim> Poti einen Anschluss offen lassen?
Ob man den offen lässt, oder mit dem Schleifer verbindet, spielt hier
keine Rolle. Es entsteht ja keine kritische Situation wenn der Schleifer
mal durch ein Staubkorn abhebt.
Nop schrieb:> aber 20mA taten es genauso.
Ich würede den benötigten Strom mal messen. Hier hängt sie über 1k an
GND. Mit einem AVR Pin könnte sie dann abgeschaltet werden.
Olaf schrieb:> Ist meine Beschaltung, wo ich VDD, RW, sowie BLK dazu über den FET nach> GND schalte korrekt?
Es gibt in dieser Welt verschiedene "LCD-Displays"
Das kommt drauf an, was deins für ein Typ ist (Datenblatt?) ;-)
Nop schrieb:> Ich hatte mal eines, das war mit 30mA angegeben, aber 20mA taten es genauso.
Das ist ein Unterschied von weniger als 1.8dB. Den siehst du mit dem
Auge allenfalls, wenn du zwei Quellen direkt nebeneinander vergleichen
kannst.
Bei der Kontrastspannung sollte man wissen, das sie sich auf VDD
bezeiht, nicht auf GND. Bei den mir bekannten Display liegt der optimale
Wert im Bereich zwischen -4 und -4,5 Volt.
Wenn du nun ein Poti verwendest, dass den ganzen
Versorgungsspannungsbereich überstreicht, kannst du nur 10% der Strecke
sinnvoll nutzen. Die Einstellung wird dadurch unkomfortabel. Deswegen
habe ich den Vorwiderstand empfohlen.
Soll dieser sich bereits auf dem Display-Board befinden, kann man das
Poti zweipolig zwischen VO und GND anschließen.
Übrigens lassen sich die meisten dieser Displays auch problemlos mit
3,3V betreiben. Allerdings muss man dann eine Ladungspumpe basteln, um
eine ausreichend hohe Kontrastspannung zu erzeugen. Wenn man dafür PWM
oder eine variable Frequenz verwendet, kann das Poti entfallen.
MaWin schrieb:> Das ist egal, dann kommt der Strom halt über high-Eingänge.
Hi,
der Begriff "Backpowering" fällt in dem Zusammenhang.
Das heißt auf Deutsch: Der "Verbraucher" bekommt nicht über
dafür vorgesehene Anschlüsse seine Versorgungsspannung, sondern über
andere Eingänge bzw. Ausgänge (in dem Zusammenhang
Datenbus/Steuerbus-etc.-Anschlüsse.)
Bei hochohmiger Aussenbeschaltung gibt es nach einhelliger Auffassung
keine größeren Probleme.
Beitrag "Backpowering_CMOS"
Bei üblichen LCDs wäre ich da vorsichtiger.
(Und das LED-Backlight ist besser separat zu schalten. Mit Transistor
sogar "dimmbar".)
ciao
gustav
Hi,
es gibt noch etwas anderes bei diesen LCDs zu beachten.
Nach Abschalten der Versorgungsspannung und Wiedereinschalten,
ist das LCD nicht in der Lage, sofort Befehle auszuführen.
1.) Laut Dabla: "The busy state lasts for 10 ms after VCC rises to 4.5
V.
Das heißt, erst noch 10 ms Wartezeit.
In einigen Datenblättern steht noch, dass der Einschaltvorgang nicht zu
lang dauern darf, d.h. ein "dicker" Elko zwischen Vcc und Vss wäre hier
Fehl am Platze.
2.) Das Display muss wieder initialisiert werden, da ja die
Speicherinhalte verlorengehen.
Das Programm muss dahingehend ausgelegt sein.
Etwas anderes wäre es, wenn man zwischen zwei oder mehreren Dislplays im
laufenden Betrieb umschalten möchte.
Das geht dann mit "Bustreiber-Ics" wohl am praktikabelsten.
ciao
gustav