Forum: Mikrocontroller und Digitale Elektronik Stromversorgung für Mikrocontroller & LCD Display


von Lukas G. (luke21)


Lesenswert?

Schönen Nachmittag allen zusammen,
Ich plane einen Atmega328 über einen 12V AGM Akku im Schlafmodus zu 
betreiben. Hierbei benötige ich 3.3V. Zusätzlich habe ich noch ein 
LCD-Display, das bei Bedarf an die Spannungsversorgung zugeschaltett 
wird und Daten vom MC ausgibt. Zum Betrieb brauche ich hier 5V.
Jetzt habe ich die Frage, wie man die Spannungsversorgung am 
effizientesten gestaltet.
Mein Plan ist, über einen LM2596-3.3 die konstante Versorgung für den 
Atmega bereitzustellen und bei Bedarf über einen Transistor einen 
LM2596-5 für das Display zuzuschalten.
Ich hatte mir auch überlegt, den LM2596-3.3 beizubehalten und über einen 
zuschaltbaren Spannungsteiler das Display zu versorgen, jedoch hängt 
dann die Ausgangsspannung von der Batteriespannung ab, welche ja 
irgendwo zwischen 11.8 und 14V liegen kann.
Gäbe es hier noch andere Möglichkeiten oder kann man damit schon 
arbeiten?

von NichtWichtig (Gast)


Lesenswert?

Der LM hat einen EnableInput den man für das Display per GPIO schalten 
könnte.

von MaWin (Gast)


Lesenswert?

Lukas G. schrieb:
> Gäbe es hier noch andere Möglichkeiten

Natürlich.

Wenn das Display 5V benötigt, nimmt man natürlich auch 5V für den uC, 
spart Pegelwandler.

Und wenn man Strom sparen will, durch Abschaltung und sleep, macht es 
keinen Sinn den Strom durch einen Steinzeit-Schaltregler wieder zu 
verballern.

Nimm was modernes, wie LTC3642, MAX16956 oder LM5165.

von Mario (sodalit)


Lesenswert?

Hat das Display einen Enable-Pin? Vielleicht lässt es sich ja damit 
einfach ein- und ausschalten. Ganz ohne Transistor.

Wenn der Atmega meistens schläft und sowieso nicht so viel braucht, 
könntest Du vielleicht einen 5V-Buck-Converter nehmen und das Display 
dort anschließen, wie schon von Dir gesagt (falls sich das überhaupt 
lohnt und ein LDO nicht schon reicht). Den Atmega könntest Du mit einem 
3.3V-LDO aus den 5V versorgen. Hier gilt es natürlich v.a. die 
Wärmeentwicklung zu beachten, oder vielleicht spielt ja hohe Effizienz 
eine Rolle.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Schlafmodus und LM25xx passen nicht zusammen. Die Dinger haben eine so 
hohe Stromaufnahme, dass sich der Schlafmodus des µC nicht lohnt.

Ich würde die Schaltung ohne Spannungsregler direkt an einem Akku mit 
weniger Spannung betreiben, wenn es geht. Wenn nicht, dann verwende 
einen anderen Spannungsregler mit weniger Ruhestromaufnahme.

Viele LC-Displays laufen auch mit 3,3V wenn man eine negative 
Kontrastspannung anlegt, welche man mit einem PWM Timer und einer 
kleinen Dioden/Kondensator Schaltung erzeugen kann.

von Jens M. (schuchkleisser)


Lesenswert?

Das Display nimmt normalerweise so wenig Strom auf, das es direkt aus 
einem uC-Pin gespeist werden kann.
Die Beleuchtung kann man mit einem einfachen Transistor schalten, 
allerdings: wenn das Display alt genug ist gehen da viele -zig mA, das 
ist nichts für einen Widerstand oder Längsregler, da muss dann doch ein 
Schaltregler her.

von Mario (sodalit)


Lesenswert?

Noch ein Nachtrag zum Spannungsteiler: Nicht empfehlenswert, oder er 
müsste zumindest für alle erdenkbaren Fälle ausgelegt werden. Ansonsten 
hast Du am Display eine Spannung, die sich mit der Stromaufnahme ändert.

von Harald S. (harri)


Lesenswert?

Wie viel Strom benötigt denn der Rest deiner Schaltung?
Wie lange ist die Schaltung aktiv und wie lange im Standby?
Geht SMD oder soll es bedrahtet sein?

Da der Atmega328 auch aktiv weniger als 20 mA benötigt, könntest du den 
auch direkt mit einem Linear-Regler mit geringen Eigenstromverbrauch 
speisen, z.B. ein MCP1792.
Die Teile mit höheren Stromverbrauch bzw. 5V versorgst du dann mit einem 
LM2596-5 oder was immer du gerne benutzt. Aktiviert per Enable-Pin, du 
musst aber evtl. in der Programmierung berücksichtigen, dass der Regler 
etwas braucht bis die Spannung sauber da ist.

von Lukas G. (luke21)


Lesenswert?

Also Das Display hat einen Enable Pin ja, aber damit lässt sich nicht 
die Hintergrundbeleuchtung ein-/ausschalten. Das Displaymodul verbraucht 
insgesamt 25mA.

MaWin schrieb:
> MAX16956 oder LM5165.
Die kämen wohl in Frage, bis jetzt hab ich mich eigentlich nur auf den 
LM2596 fokussiert, weil der halt als Allrounder angepriesen wird.

Stefan ⛄ F. schrieb:
> Schlafmodus und LM25xx passen nicht zusammen. Die Dinger haben eine so
> hohe Stromaufnahme, dass sich der Schlafmodus des µC nicht lohnt.

Auch im Standbybetrieb? Im Datasheet lese ich "Standby Quiescent Current 
(ON/OFF Pin = 5.0 V (“OFF”)) = 80uA typically.
Und mit einer anderen Batterie funktioniert es nicht, da ich die 
Batterie über eine 12V Solaranlage lade.

Harald S. schrieb:
> Wie viel Strom benötigt denn der Rest deiner Schaltung?
> Wie lange ist die Schaltung aktiv und wie lange im Standby?
> Geht SMD oder soll es bedrahtet sein?

Der Atmega schläft 8 Sekunden im PowerDown-Modus, wacht auf und gleicht 
einen voreingestellten Zeitwert mit einer RTC ab und legt sich dann 
wieder hin. Stimmt die Uhrzeit überein, wird ein Relais angesteuert, das 
einen 20W Motor für 4 Minuten einschaltet.
Im Ruhemodus also um die 36uA, im Wachmodus 6mA und bei zugeschaltetem 
Verbraucher 1,7A.
Und das Ganze möchte ich sowieso mit SMD gestalten.

von Lukas G. (luke21)


Lesenswert?

Mario M. schrieb:
> Hat das Display einen Enable-Pin? Vielleicht lässt es sich ja damit
> einfach ein- und ausschalten. Ganz ohne Transistor.

Der Enable-Pin ist ja nur dafür da, dass das Display beschrieben wird, 
also ohne leuchtet die Hintergrundbeleuchtung trotzdem weiter.
Auch wenn ich den 5V-Bus des Displays trenne, auf dem VCC und LED 
Positive hängen, leuchtet das Display schwach weiter, auch umgekehrt 
wenn ich GND trenne. Erst wenn ich GND UND +5V trenne, ist das Display 
komplett aus

von Jens M. (schuchkleisser)


Lesenswert?

Lukas G. schrieb:
> Also Das Display hat einen Enable Pin ja

Sicher, das der nicht für die Datenübertragung ist? ;)

Lukas G. schrieb:
> Auch wenn ich den 5V-Bus des Displays trenne, auf dem VCC und LED
> Positive hängen, leuchtet das Display schwach weiter, auch umgekehrt
> wenn ich GND trenne.

Du musst natürlich, wenn du die Spannung abschaltest, auch alle 
Datenleitungen abschalten, ansonsten hast du eine parasitäre Speisung 
aus dem Controller oder den Pullups oder whatever.

Die Beleuchtung kannst und solltest du normal trennen und extra schalten 
können, denn GND abschalten tut man nicht, das führt immer zu weiteren 
Problemen.
Und dann wirst du sehen das das LCD selber gar nicht so viel Strom 
braucht, nur die Lampe. Dann kannst du das LCD via Portpin versorgen und 
die Lampe über einen Transistor und evtl. einen weiteren IO-Pin.

von Mario (sodalit)


Lesenswert?

Lukas G. schrieb:
> Der Atmega schläft 8 Sekunden im PowerDown-Modus, wacht auf und gleicht
> einen voreingestellten Zeitwert mit einer RTC ab und legt sich dann
> wieder hin. Stimmt die Uhrzeit überein, wird ein Relais angesteuert, das
> einen 20W Motor für 4 Minuten einschaltet.
> Im Ruhemodus also um die 36uA, im Wachmodus 6mA und bei zugeschaltetem
> Verbraucher 1,7A.
> Und das Ganze möchte ich sowieso mit SMD gestalten.

Welche Spannung braucht der Motor? Direkt 12 V, 5 V oder 
(unwahrscheinlich) 3,3 V? Das ist sehr wichtig für die Dimensionierung 
der DCDC-Wandler. Für den Atmega alleine reicht ein LDO, selbst von 12 V 
runter sollte das klappen.

Ist da noch ein Motortreiber involviert?

von Stefan F. (Gast)


Lesenswert?

Lukas G. schrieb:
>> Schlafmodus und LM25xx passen nicht zusammen. Die Dinger haben eine so
>> hohe Stromaufnahme, dass sich der Schlafmodus des µC nicht lohnt.

> Auch im Standbybetrieb? Im Datasheet lese ich "Standby Quiescent Current
> (ON/OFF Pin = 5.0 V (“OFF”)) = 80uA typically.

Wenn den Spannungswandler in den Standby Modus versetzt, fällt der 
Mikrocontroller aus - er hat dann ja keine Stromversorgung mehr.

von Lukas G. (luke21)


Lesenswert?

Jens M. schrieb:
> Du musst natürlich, wenn du die Spannung abschaltest, auch alle
> Datenleitungen abschalten, ansonsten hast du eine parasitäre Speisung
> aus dem Controller oder den Pullups oder whatever.

Blöde Frage aber mach ich das mit der Software oder über Transistoren?

Jens M. schrieb:
> Und dann wirst du sehen das das LCD selber gar nicht so viel Strom
> braucht, nur die Lampe. Dann kannst du das LCD via Portpin versorgen und
> die Lampe über einen Transistor und evtl. einen weiteren IO-Pin.

Und so werd ich das mal ausprobieren und schauen was sich da einsparen 
lässt.

von Lukas G. (luke21)


Angehängte Dateien:

Lesenswert?

Mario M. schrieb:
> Welche Spannung braucht der Motor? Direkt 12 V, 5 V oder
> (unwahrscheinlich) 3,3 V? Das ist sehr wichtig für die Dimensionierung
> der DCDC-Wandler. Für den Atmega alleine reicht ein LDO, selbst von 12 V
> runter sollte das klappen.
>
> Ist da noch ein Motortreiber involviert?

Der Motor hängt über das Relais direkt an der Batterie
Und Motortreiber ist keiner dabei.

Und würde bezüglich des LDOs für den Atmega dieser LDO passen?

von Stefan F. (Gast)


Lesenswert?

Lukas G. schrieb:
> Blöde Frage aber mach ich das mit der Software oder über Transistoren?

Software

von Roland (Gast)


Lesenswert?

Lukas G. schrieb:
> Der Atmega schläft 8 Sekunden im PowerDown-Modus, wacht auf und gleicht
> einen voreingestellten Zeitwert mit einer RTC ab und legt sich dann
> wieder hin. Stimmt die Uhrzeit überein, wird ein Relais angesteuert, das
> einen 20W Motor für 4 Minuten einschaltet.
> Im Ruhemodus also um die 36uA, im Wachmodus 6mA und bei zugeschaltetem
> Verbraucher 1,7A.

Und wie oft am Tag soll der Motor laufen?

Du hast hoffentlich ein 12V und kein 5V Relais vorgesehen. Es gibt RTC 
Chips, z.B. DS3132, die den uC zu einem programmierten Alarmzeitpunkt 
per Interrupt aufwecken können. Dann muss der uC auch nicht regelmäßig 
pollen.

Lukas G. schrieb:
> Und würde bezüglich des LDOs für den Atmega dieser LDO passen?

Laut Datenblatt spricht nichts dagegen. Wenn du das exotische Teil 
irgendwo herbekommen kannst.

von Mario (sodalit)


Lesenswert?

Roland schrieb:
> Lukas G. schrieb:
>> Und würde bezüglich des LDOs für den Atmega dieser LDO passen?
>
> Laut Datenblatt spricht nichts dagegen. Wenn du das exotische Teil
> irgendwo herbekommen kannst.

Richtig. Das Teil ist schon speziell, aber wenn du es zufällig rumliegen 
hast, why not. Bisschen warm wird es, sollte aber passen.

Ansonsten kannst Du dich auch von hier aus weiter vortasten:
https://www.mouser.de/c/semiconductors/power-management-ics/voltage-regulators-voltage-controllers/ldo-voltage-regulators/?input%20voltage%2C%20max=13%20V~~150%20V&mounting%20style=SMD%2FSMT&number%20of%20outputs=1%20Output&output%20voltage=3.3%20V&rp=semiconductors%2Fpower-management-ics%2Fvoltage-regulators-voltage-controllers%2Fldo-voltage-regulators%7C~Input%20Voltage%2C%20Max

von MaWin (Gast)


Lesenswert?

Lukas G. schrieb:
> bis jetzt hab ich mich eigentlich nur auf den LM2596 fokussiert, weil
> der halt als Allrounder angepriesen wird.

Warum nicht 2N3055, der ist noch länger allaround.

Lukas G. schrieb:
> Auch wenn ich den 5V-Bus des Displays trenne, auf dem VCC und LED
> Positive hängen, leuchtet das Display schwach weiter,

Man sollte auch die Datenleitungen auf low setzen (bzw. einen pull up zu 
den ausgeschalteten 5V nutzen statt high).

von Manfred (Gast)


Lesenswert?

Lukas G. schrieb:
> Und würde bezüglich des LDOs für den Atmega dieser LDO passen?
Nette Daten, passt gut.

Ich selbst habe eine Anwendung mit dem AT328 an 12V-BleiGel mit einem 
MCP1703-5002 gemacht. Der ist sogar aktuell bei Reichelt lieferbar.

Ich fahre aber nur den µC und vier Kontroll-LEDs an den 5 Volt, Relais 
laufen per Transistor direkt aus der Batterie. Warum: 12V-Relais kommen 
mit weniger Strom aus, es fallen keine Verluste am Längsregler an und 
sie sind besser von der µC-Versorgung entkoppelt.

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.