Forum: Mikrocontroller und Digitale Elektronik HD44780 Display Vcc direkt mit Controller schalten?


von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Hi!

Mich würde mal die Meinung des Forums interessieren: Kann man die 
Betriebsspannung eines Displays direkt aus einem Port-Pin eines AVR 
beziehen? Die Überlegung geht in Richtung Display komplett abschalten 
wenn es nicht benötigt wird.

Geht das oder ist das zuviel für ein Pin?

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


Lesenswert?

Sollte klappen. Ich habe gerade mal das Datenblatt eines beliebigen 2*16 
LCD mit HD44780 rausgesucht, in dem steht, das max. 1mA vom Display 
verspeist werden, bei typ. 5V Versorgung.
Wichtiger ist, das du nach dem Abschalten auch alle Daten- und 
Kontrollpins low machst, sonst geht das Display vermutlich gar nicht 
aus, weil es über die Schutzdioden der Pins weiter versorgt wird. Je 
nach MC reicht es evtl. auch aus, den LCD Port einfach auf Input zu 
schalten (ohne Pullups).

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Ich hatte überlegt das ganze Display über einen Port zu steuern, dann 
brauche ich mit Vcc 7 Pins (4 Bit Datenbus). Beim Abschalten kann ich 
dann einfach den kompletten Port auf low legen und gut ist das.

Nachteil: Das Display muß beim Wiedereinschalten neu initialisiert 
werden, muß ich mal probieren wie lange man nach dem Anlegen von Vcc 
warten muß bis man den Controller mit Daten beschicken kann.

Vorteil: Bei 4 Bit Datenbus kann ich die Leitung R/S in einem String 
mitverpacken, die Initialisierung ist also nur eine kurze Stringausgabe.

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


Lesenswert?

Naja, Stromsparen wirst du ja nicht im Auge haben :-) Wenn du nur 
austasten möchtest, könntest du auch an der Kontrastspannung rummachen. 
Ein High am Kontrastpin sorgt mit ziemlicher Sicherheit für ein 
Blanking.

von Michael U. (amiga)


Lesenswert?

Hallo,

Ben B. schrieb:
> Vorteil: Bei 4 Bit Datenbus kann ich die Leitung R/S in einem String
> mitverpacken, die Initialisierung ist also nur eine kurze Stringausgabe.

es wird für mich wohl rätselhaft bleiben, was ein Portzugriff mit einem 
String zu tun hat.
Die Wartezeiten beim init stehen im Datenblatt des Controllers.

Geht es um Batteriebetrieb? Sonst sehe ich keinen Sinn, das Display 
komplett abzuschalten.

Gruß aus Berlin
Michael

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> es wird für mich wohl rätselhaft bleiben,
> was ein Portzugriff mit einem String zu tun hat.
Programmiertechnik halt. Stringausgabe braucht man immer und dann 
brauche ich keine elementaren Bytes/Kommandos schicken, sondern einfach 
einen vordefinierten String.

Es geht nicht um Batteriebetrieb, aber um Strom sparen. Vielleicht etwas 
kleinkariert, 5mA bei einem 1,5kW MPP-Tracker zu sparen, aber wenns 
möglich ist, wieso nicht machen? Das Ding soll irgendwann Dauerbetrieb 
machen, aber auf das Display schaut fast nie jemand drauf. Also Display 
auf Knopfdruck 5 Minuten einschalten und danach wieder aus.

Die Hintergrundbeleuchtung bekommt 'ne extra Steuerung über einen der 
Timer, so daß man das Ding dimmen kann.

Ein weiterer Vorteil ist, daß ich die 5V fürs Display dann nicht einmal 
um den Controller wickeln muß, an dieser Stelle ist das Layout etwas 
eng.

Naja ich überleg mir das noch. Wollte nur wissen ob das eurer Meinung 
nach möglich ist oder nicht.

von Stefan F. (Gast)


Lesenswert?

> Kann man die Betriebsspannung eines Displays direkt aus einem
> Port-Pin eines AVR beziehen?

Ja, das geht. Ich hatte mal so ein Display mit einer Datenleitung vom 
Parallel-Port meines PC versorgt. Der parallel-Port des damaligen PC war 
wesentlich schwächer, als die Ports von AVR's.

von W.A. (Gast)


Lesenswert?

Ben B. schrieb:
> Also Display auf Knopfdruck 5 Minuten einschalten und danach wieder aus.

Dann kann man doch lieber den Knopf einsparen - weils möglich ist - und 
über einen PIR Bewegungssensor das Display eine Zeit aktivieren.

Ob man allerdings 5min braucht, um den Inhalt eines 2*16-Displays zu 
erfassen, sei mal dahin gestellt ;-)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Die 5 Minuten waren nur eine erste Idee...

von Georg G. (df2au)


Lesenswert?

Ben B. schrieb:
> Stringausgabe braucht man immer und dann
> brauche ich keine elementaren Bytes/Kommandos schicken, sondern einfach
> einen vordefinierten String.

Wenn das dann funktioniert, würde ich die Lösung gern sehen. Schau mal 
ins Datenblatt, mit welchem Timing du an den Pins wackeln musst. Die 
gängigen Lösungen verwenden seltsamerweise alle die Funktionen "ganz 
unten". Warum bloss?

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Fällt aus, das Display hat eine 8 Bit Ansteuerung bekommen. Damit 
macht's keinen Sinn mehr, die Steuerdaten in den Strings zu verstauen.

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.