Hallo,
ich habe eine kleine Wetterstation mit ATMEGA 8, einen 2*16 LCD, einen
Temp.sensor und einen Feuchtesensor. Ich habe jetzt mal gemessen und das
gesamte System zieht dauerhaft 26mA, was für meine Betrachtungen
zunächst nicht viel sind. Jetzt hab ich mir allerdings mal Gedanken über
die Stromversorgung gemacht, die über Batterien erfolgen sollte.
Irgendwie hab ich das Gefühl, dass ich jedne Tag die Batterie wechseln
kann. In Frage kommt wohl entweder eine 9V Block oder 4* Mignon, wobei
ich die 9V Block bevorzugen würde von der Bauform.
Wie gestaltet ihr die Stromversorgung und was meint ihr zu dem
Stromverbrauch? Wenn ich den Quellcode vom µC lösche, zieht der
immernoch den selben Strom.
> Wie gestaltet ihr die Stromversorgung
Das LCD ist dein Problem.
Diese alphanumerischen DotMatrix Displays brauchen einen Haufen Strom.
Der Rest (uC, TempSensor, Hygro) lassen sich abschalten (sleep, an einen
dann abgeschalteten PortPin als Stromversorgung hängen) und brauchen
dann extrem wenig Strom. Bei Wetterdaten reicht es ja, wenn die Bauteile
alle paar Sekunden für den Bruchteil einer Sekunde aktiviert werden,
dazu dient der Timer der den uC aus dem sleep aufwachen lässt, ud schon
braucht das nur noch Mikroampere.
Falls die Teile eine stabile Stromversorgung haben wollen und nicht
direkt an eine Batterie dürfen, sind LP2950 (3/5V) geeignete
Spannungsregler.
Aber das Display bleibt dein Problem, vor allem wenn du es
hintergrundbeleuchten willst.
Daher haben Wetterstationen andere Displays, grosse Gläser die direkt
vom uC bedient werden, und laufen dann 1 Jahr aus einer normalen
Batterie.
> In Frage kommt wohl entweder eine 9V Block oder 4* Mignon, wobei> ich die 9V Block bevorzugen würde von der Bauform.
Aber die Physik deines Universum bevorzugt die andere Bauform wenn es um
den Wirkungsgrad geht.
> Wie gestaltet ihr die Stromversorgung und was meint ihr zu dem> Stromverbrauch?
Er ist ein guter Beweis dafuer das du noch keine Ahnung von
Microcontrollern hast und keine Lust hast Datenblaetter zu lesen.
Vermutlich wuerde es reichen wenn dein Controller die meiste Zeit
schlaeft und nur so alle 10s mal aufwacht, seine Sensoren einschaltet
und kurz eine Messung vornimmt.
Olaf
Die Beleuchtung des Displays ist aus. Wenn die an ist, zieht er ca 200mA
mehr. Laut Datenblatt für das LCD TC1602E-01 ist der der Power Supply
Current max. 3 mA und mit Belecuhtung max. 150 mA.
MaWin schrieb:> Der Rest (uC, TempSensor, Hygro) lassen sich abschalten (sleep, an einen> dann abgeschalteten PortPin als Stromversorgung hängen) und brauchen> dann extrem wenig Strom.
Wie meinst du das? Die Sensoren lassen sich abschalten? Du meinst jeder
Sensor sollte einen Schlafmodus haben?
Der µC verbraucht, (fast) egal welcher Quellcode drauf ist, (fast) immer
gleich viel. Folgendes kannst Du machen, um den Stromverbrauch zu
minimieren:
1. Keinen 7805 einsetzen. Die Dinger verbrauchen unglaublich viel Strom.
Nimm lieber einen sparsameren Step-Down-Regler.
2. Den µC in einen Schlafmodus versetzen. Am besten weckst Du ihn
zyklisch mit einem Timer auf, und schickst ihn gleich nach dem Auslesen
der Sensoren wieder in den Schlafmodus (z.B. Idle).
3. Hintergrundbeleuchtung (falls vorhanden) deines LCDs ausschalten.
4. Sensoren abschalten, wenn Du gerade nicht misst. Am besten so alle 5
Sekunden einschalten, messen, ausschalten.
5. LCD ausschalten bringt nicht viel, die verbrauchen fast gar nix.*
6. Alle Widerstände so hochohmig wie möglich auslegen.
7. Keinen ATMega8 einsetzen. Die sind veraltet. Nimm einen ATMega88P.
Danach dürfte dein Stromverbrauch vllt. noch bei 0,2mA liegen...
Gruß
Jonathan
*Bei dem, was ich oben gelesen habe: Nimm ein anderes. Deins verbraucht
viiieeel zu viel Strom. Es gibt viel sparsamere.
Mit einem PMOS-Transistor die Anzeige nur bei Bedarf anzuschalten, wäre
doch auch ganz nett.
Dann kann man den Prozessor auch noch schlafen legen und erst bei einem
Tastendruck oder Timerinterrupt(Sensorabfrage -> Werte speichern,
Uhrzeit inkrementieren etc) eines aus externen 32kHz betriebenen Timers
aufwecken(kann das der mega8? evtl. auf den 88er umsteigen).
Den Prozessor dauernd über einen ganz kleinen Linearregler versorgen(ist
effizienter), erst bei "großem Aufwecken mit Display oder Sensorabfrage"
wird zusätzlich ein etwas dickerer Schaltregler in Betrieb gesetzt.
Dieser spuckt 3,3V aus.
mfg mf
Olaf schrieb:> Er ist ein guter Beweis dafuer das du noch keine Ahnung von> Microcontrollern hast und keine Lust hast Datenblaetter zu lesen.
Lieber Olaf, ich habe ein Problem und suche Hilfe. Wenn man keinen
Ansatz hat wonach man suchen muss, dann holt man sich Hilfe. Und zwar in
einem Forum für µC. Und wenn es beruhigt, oute ich mich gerne als
Anfänger. Dazu steh ich auch.
Olaf schrieb:> Vermutlich wuerde es reichen wenn dein Controller die meiste Zeit> schlaeft und nur so alle 10s mal aufwacht, seine Sensoren einschaltet> und kurz eine Messung vornimmt.
Wenn nun aber nicht der µC den erhöhten Stromverbrauch verursacht,
sondern das Display? Dann nützt es auch nichts die Sensoren schlafen zu
legen.
youth schrieb:> nicht der µC den erhöhten Stromverbrauch verursacht
Sag ich doch: PMOS und bei Nichtgebrauch Ansteuerports auf Masse legen
und Saft aus. :) mf
Jonathan Strobl schrieb:> *Bei dem, was ich oben gelesen habe: Nimm ein anderes. Deins verbraucht> viiieeel zu viel Strom. Es gibt viel sparsamere.
Danke für die ausführlichen Tipps. Kannst du mir ein sparsameres
empfehlen? Und ja ich habe einen 7805 drin, weil ich bislang nur mit
solchen gearbeitet habe. Kannst du mir die Bauteilbezeichnung für einen
Stepdownregler für 5V Output nennen?
Jonathan Strobl schrieb:> Nö. Du musst ihnen einfach nur den Saft abdrehen, wenn Du sie nicht> brauchst.
Versteh ich immernoch nicht. Die Sensoren hängen doch meist an Vcc und
nicht an einen Pin der Vcc ausgibt. Du meinst, ich soll die
Stromversorgung der Sensoren über die Pins des µC steuern. Dann kann ich
die auch ab und an schalten. Aber welchen Strom kann ein Ausgang des µC
denn treiben?
Habe hier ein 2x16 Zeichen LCD und einen ATMega328.
Habe als Linearregler LM33CV => 3.3V. Eingangsseitig verbraucht das
ganze ca. 1.8 mA wenn der uC schläft (da ist auch das Display mit drin).
Ohne Display sind es sowas wie 0.7mA, die primär durch den Linearregler
kommen.
Vielleicht mal LP2950 auspropieren? Wenn du die Hintergrundbeleuchtung
nicht nutzt sollte das ausreichen. Der hat <100µA, das sollte wohl
reichen.
Operating Voltage:
– 1.8 - 5.5V for ATmega48PA/88PA/168PA/328P
Seh ich das Richtig, dass ich die µC damit auch mit mind. 1,8V betreiben
kann? Wählst du deswegen die Versorgungspannung von 3,3V?
Nach dem LP2950 hab ich jetzt schonmal gegoogelt, aber noch nicht
herausgefunden wie der beschaltet wird.
youth schrieb:> Jonathan Strobl schrieb:>> Nö. Du musst ihnen einfach nur den Saft abdrehen, wenn Du sie nicht>> brauchst.>> Versteh ich immernoch nicht. Die Sensoren hängen doch meist an Vcc und> nicht an einen Pin der Vcc ausgibt. Du meinst, ich soll die> Stromversorgung der Sensoren über die Pins des µC steuern. Dann kann ich> die auch ab und an schalten. Aber welchen Strom kann ein Ausgang des µC> denn treiben?
Auch das steht im Datenblatt. Da gibt es eine Begrenzung pro Port-Pin,
pro Port und Gesamt (VCC zu GND). Sollte aber auf jeden Fall ausreichend
sein (20mA kannst Du mal annehmen). Ansonsten gibt es fuer sowas ja
Transistoren.
Volker
youth schrieb:> Operating Voltage:> – 1.8 - 5.5V for ATmega48PA/88PA/168PA/328P>> Seh ich das Richtig, dass ich die µC damit auch mit mind. 1,8V betreiben> kann? Wählst du deswegen die Versorgungspannung von 3,3V?> Nach dem LP2950 hab ich jetzt schonmal gegoogelt, aber noch nicht> herausgefunden wie der beschaltet wird.
Das kommt natuerlich auch auf Deine Sensoren an. Wenn die z.B. 0-5V am
ADC liefern, hilft Dir ein µC mit 3,3V VCC wenig...
Schaltregler gibt's (z.B. bei Conrad) auch fertig aufgebaut und
pinkompatibel zum 7805. Ist preislich aber auch 'ne Ansage...
http://www.conrad.de/ce/de/product/167805/SCHALTREGLER-W78-5V0-5-V/SHOP_AREA_17336&promotionareaSearchDetail=005
Volker
youth schrieb:> Wenn ich den Quellcode vom µC lösche, zieht der> immernoch den selben Strom.
Dann läuft er mit maximale Geschwindigkeit die 0xffs im Flash durch und
verbraucht auch fast den maximalen Strom. Power down mode gegoogelt?
> Danke für die ausführlichen Tipps. Kannst du mir ein sparsameres> empfehlen? Und ja ich habe einen 7805 drin, weil ich bislang nur mit> solchen gearbeitet habe.
Lass die Finger von Schaltreglern. Die haben hier einen zu schlechten
Wirkungsgrad. :)
Bring erstmal den Rest deiner Schaltung etwas bessere Trinksitten bei.
Wenn du dann erstmal bei den Mikroamperes angelangt bist dann nimmst du
einen LowDropregler mit moeglichst geringem Ruhestrom und eben keinen 9V
Block. Vielleicht kannst du ja sogar ganz auf einen Spannungsregler
verzichten wenn du deinen Controller nur mit drei Batterien betreibst.
Olaf
Olaf aber ist das nicht dein Beispiel hier aus folgender Quelle:
Beitrag "Spannungsversorgung 7805"
Ein Beispiel:
9V-Block an 78L05, Schaltung braucht 100µA -> ca. 3mA Batterietrom
(Datenblatt: 78L05 typ. 3mA Ruhestrom), d.h. 9V-Block (400mAh) hält ca.
5 Tage Dauerbetrieb.
9V-Block an LP2950-5, Schaltung braucht 100µA -> ca. 175µA
Batteriestrom (Datenblatt: 75µA GND-Current bei 100µA), 9V-Block hält
ca. 3 Monate Dauerbetrieb.
Ein Schaltregler wäre natürlich noch um einiges besser, aber mehr als 8
Monate dürfte er auch nicht schaffen.
youth schrieb:> Ein Schaltregler wäre natürlich noch um einiges besser, aber mehr als 8> Monate dürfte er auch nicht schaffen.
Der faengt wahrscheinlich in den Bereichen noch gar nicht an zu
arbeiten... Der macht erst Sinn, wenn Du Lasten wie (zuschaltbare)
Displaybeleuchtung hast. Sagen wir (ueber den Daumen) so ab 10-15mA
aufwaerts.
Volker
> Wie meinst du das? Die Sensoren lassen sich abschalten?> Du meinst jeder Sensor sollte einen Schlafmodus haben?
Entweder er hat (wie SHT-11 als Hygro/Tempsensor)
oder er hat nicht, dann braucht er aber i.A. weniger als 20mA,
lässt sich also an einem Port-Pin als Spannungsversorgung
anschliessen den man abschaltet wenn man den Sensor nicht braucht,
und wenn er doch mehr braucht, hilft der "PMOS" von dem hier
geredet wird (oder 2 PortPins parallel).
Die Unbrauchbarkeit eines 7805 hast du schon selbst erkannt.
Deswegen hätte ich die HiPower-Stromversorgung auch nur dann
eingeschaltet, wenn ich die Peripherie mit dem hohen Stromverbrauch auch
benötige. Dann ist ein Schaltregler natürlich effizienter als der
Linearregler.
Der µC kann ja dauernd über LowPower-Linearregler + Shottky-Diode
versorgt werden.
Der HiPower Schaltregler kommt dann mit einer Shottky-Diode an den µC
sowie direkt an die "Stromfresser". Die Diode zum Linearregler sperrt
dann idealerweise, wenn der Wandler an ist.
So kann man es auch schaffen, dass der µC mit 2V/100µA oder so aus dem
Linearregler permanent läuft und sich bei Bedarf 5V/50mA aus dem
Schaltregler zuschalten kann.
Wann die Peripherie zuverlässig laufen sollte, kann man ja über eine
Spannungsmessung oder einen eventuell vorhandenen PowerGood Ausgang des
Schaltreglers erkennen.
mfg mf
PS: Und beides mit heutigen technischen Mitteln in Effizientester
Bauweise.
Die Mikroprozessoren schlucken schlafend meist bei kleineren Spannungen
auch weniger Strom. Der muss dann auch nicht erst durch den Linearregler
hindurch.
>Die Beleuchtung des Displays ist aus. Wenn die an ist, zieht er ca 200mA
mehr.
Total durchgeknallt ... ein 128x64 laeuft auch sehr gut mit 10mA. Wenn
man's denn mal im Dunkeln ablesen soll.
Jonathan Strobl schrieb:> 7. Keinen ATMega8 einsetzen. Die sind veraltet. Nimm einen ATMega88P
Welcher wär das bei Reichelt? Da gibts immer unterschiedlichste
Bezeichnungen.
ATMEGA 88-20 PU, ATMEGA 88V-10 PU,
Schaltregler würde ich einem Anfänger als letztes empfehlen. Am
effizientesten ist gar kein Spannungsregler. Schaltregler haben einen
relativ hohen Eigenverbrauch, der die Ersparnis bei so kleinen
Leistungen wieder zunichte macht. (Hat überhaupt jemand einmal das
Datenblatt von diesem Conrad-Schaltregler gelesen? Da steht Quiescent
Current 3,3 mA, der verpulvert bei geringer Last in etwa genau so viel
wie ein 78xx!)
Als Prozessor wie oben empfohlen einen Atmega 88, dann läuft die
Geschichte mit 2 Mignonzellen oder eine Litiumbatterie eine halbe
Ewigkeit, allerdigs ohne hinterleuchtetem Display.
9V-Batterien sind so ziemlich das ineffizientestes was es an
Energiequellen gibt, vor allem noch wenn daran noch ein 7805 hängt. Ich
habe keine Ahnung weshalb das ständig wieder auftaucht. Da macht es
überhaupt keinen Sinn über stromsparende Programmiertechniken
nachzudenken. Dieser Uralt-Regler ist alleine schon für mind. 3mA gut.