Batteriebetrieb: Arduino Pro Mini (8Mhz, 3,3V)

OP (Firma: Google) #5288372
Lesenswert?

Kurz ein paar Fragen:

Ich betreibe mein Arduino Board (Pro Mini, 3,3V, @8Mhz) jetzt 
Batteriebetrieben (4xAA) und möchte natürlich die Stromaufnahme so 
gering wie möglich halten.

1. Was mache ich mit den ungenutzen Pins? Lege ich diese alle auf Masse?

2. Die Spannung der Batterien werden durch einen Linearregler (MCP1700) 
stabil auf 3,3V gebracht. Wäre es von Vorteil die Spannung weiter zu 
senken? Es gibt das Bauteil auch für Vout = 3,0V. Würde ich mit den 4xAA 
Batterien länger den Atmega328P betreiben können?

3. Die Spannung der in Reihe geschalteten Batterien würde ich gerne mit 
dem Atmega328P überwachen. Wie funktioniert das, wenn ich den 
Mikrocontroller fix bei 3,3V oder 3,0V betreibe und die zu überwachende 
Spannung eindeutig höher ist (4,8V - 6V)? Die Überwachung selbst soll 
natürlich kaum "Strom ziehen".

Herzlichen Dank und beste Grüße
#5288391
Lesenswert?

Hallo,

1.) die ungenutzten Pins würde ich als Eingang mit PullUp konfigurieren.

2.) Das ist meiner Meinung nach nicht von Vorteil, da die maximale 
Betriebsfrequenz von der Versorgungsspannung abhängt.
Im Datenblatt gibt es dazu ein schönes Diagramm. Ich glaube bei 2,7V 
sind maximal noch 10MHz möglich. Ich würde es aber nicht wirklich bis 
zur Grenze ausreizen.

3.) Hier würde ich einen einfachen Spannungsteiler nutzen. Und die 
Widerstände so groß wie möglich wählen, damit der Strom gering bleibt.
Gast #5288438
Lesenswert?

> (4xAA)

2 * AA ist ausreichend.

Den Regler brauchst du dann nicht.(runter nehmen?)
Also nicht auf RAW(Vin) einspeisen, sondern am Vcc Pin


Dann ist auch das Messen der Betriebsspannung kein Problem. Auch ohne 
jede externe Beschaltung.

Bei den ungenutzten Pins, kannst du die internen Pullups aktivieren.
Gast #5288448
Lesenswert?

Arduino F. schrieb:
>> (4xAA)
> 2 * AA ist ausreichend.

Ich biete drei: Fabrikfrisch 5 Volt, richtig leer bei 2,4 V.

> Den Regler brauchst du dann nicht.(runter nehmen?)

Regler und LED unbedingt runter wegen Stromverbrauch.

> Also nicht auf RAW(Vin) einspeisen, sondern am Vcc Pin

Jou!

> Dann ist auch das Messen der Betriebsspannung kein Problem. Auch ohne
> jede externe Beschaltung.

Das wird dann leider eine Messung gegen die Betriebsspannung als 
Refefenz und immer "voll" liefern.

> Bei den ungenutzten Pins, kannst du die internen Pullups aktivieren.

Geschmackssache, gerne auch Output_LOW.
Gast #5288469
Lesenswert?

In allem stimme ich dir zu, aber hier nicht:
Manfred schrieb:
> Das wird dann leider eine Messung gegen die Betriebsspannung als
> Refefenz und immer "voll" liefern.

z.B.hier ist das Prinzip beschrieben: 
https://jeelabs.org/2012/05/04/measuring-vcc-via-the-bandgap/
Gibt bestimmt noch schönere Tutorials.
Wo dann die nötige 1 Punkt Kalibrierung beschrieben ist.

Selbst von Atmel gibts da PDFs.
Gast #5288471
Lesenswert?

Manfred schrieb:
> Das wird dann leider eine Messung gegen die Betriebsspannung als
> Refefenz und immer "voll" liefern.


Falsch. Man misst nciht Betriebsspannung gegen die Betriebsspannung 
sondern man misst die interne Referenz gegen Betriebsspannung. Beim 328 
ist die Bandgap Referenz 1,1V. Da die bekannt ist misst man sie mit 
Referenz Betriebsspannung und daraus kann man dann den Wert der 
Betriebsspannung ausrechnen.

z.B. so:
http://physudo.blogspot.de/2014/08/spannung-uberwachen-am-arduino-atmega.html
OP (Firma: Google) #5288486
Lesenswert?

Vielen Dank bis hierhin!

Ich sollte vielleicht dazu sagen, dass an meinem Atmega328P noch ein 
BME280-Sensor und ein RF24 zur Funkübertragung angeschlossen sind.
Ich möchte diese Bauteile natürlich nicht kaputt machen durch 
Überspannung oder so...
Gast #5288493
Lesenswert?

Bastler schrieb:
> man misst die interne Referenz gegen Betriebsspannung.

Danke für den Hinweis, diesen Weg kenne ich, hatte ihn aber nicht 
bedacht.

> Beim 328 ist die Bandgap Referenz 1,1V.

Mit einer leider gewaltig großen Exemplarstreuung, muß man für jeden 
Controller individuell kalibrieren.
Gast #5288502
Lesenswert?

Manfred schrieb:
> Mit einer leider gewaltig großen Exemplarstreuung, muß man für jeden
> Controller individuell kalibrieren.

Da hast du Wahr!

Aber das muss man sowieso, wenn man die interne Referenz verwenden will.
Ist auch eine gute Gelegenheit, mal ein paar EEPROM Zellen zu nutzen.
Gast #5288506
Lesenswert?

Tim S. schrieb:
> Vielen Dank bis hierhin!
>
> Ich sollte vielleicht dazu sagen, dass an meinem Atmega328P noch ein
> BME280-Sensor und ein RF24 zur Funkübertragung angeschlossen sind.
> Ich möchte diese Bauteile natürlich nicht kaputt machen durch
> Überspannung oder so...

Zaubern gibts nicht.

Also:
Mit 2 AA Akkus bekommst du keine Überspannung!
Und die genannten Komponenten laufen damit.
Ok, 8MHz ist bei 2,4V (und etwas drunter) schon arg knapp. Aber das kann 
man ja anpassen.
Gast #5288513
Lesenswert?

Tim S. schrieb:
> Ich sollte vielleicht dazu sagen, dass an meinem Atmega328P noch ein
> BME280-Sensor und ein RF24 zur Funkübertragung angeschlossen sind.

Das wäre gleich zu Anfang sehr freundlich gewesen!

> Ich möchte diese Bauteile natürlich nicht kaputt machen

Der BME darf maximal 3,6V, zum RF24 finde ich nichts. Dann ist Dein 
ursprünglicher Weg mit vier Zellen und LowDropRegler eine sinnvolle 
Entscheidung. Wenn der Strom genügt, MCP170x als Regler.
Gast #5288561
Lesenswert?

Wenn auch technisch etwas komplizierter, wäre eine Babyzelle mit einem 
Step-Up-Wandler überlegenswert. Bei 4 AA-Zellen wird ziemlich viel 
Enegie am Linearregler verheizt. Gute Step-Up Wandler sollten 80 bis 90% 
Wirkungsgrad erreichen, Anlauf ab 0.9V ist auch Stand der Technik.
Spannungsteiler für die Batteriespannung ist dann auch überflüssig.
Energieinhalt von 4 AA-Zellen entspricht ungefähr eine Babyzelle.
Immer 4 Zellen wechseln zu müssen, finde ich lästig (aber das ist 
natürlich Geschmackssache).
OP (Firma: Google) #5288575
Lesenswert?

Ich habe den Stromverbrauch vorhin mal mit einem einfachen Multimeter 
durchgemessen:

Wenn nichts gemessen (BME280) oder gesendet (RF24) wird verbraucht die 
Schaltung um die 0,2-0,3mA.
Alle 4min wird dann etwas gesendet. Dann geht es ganz kurz (1s) auf 10mA 
hoch.

Ich verwende derzeit 4x 2400mAh Akkus.
Damit dürfte ich 200 Tage hinkommen oder?

Danke!
Gast #5288597
Lesenswert?

Tim S. schrieb:
> Ich dachte immer der MCP1700 wäre super sparsam? Ist das echt so?

Spannungsdifferenz am Regler Multipliziert mit dem Strom, macht 
verbratene Wärmeleistung am Regler.
Da kann der Regler noch so sparsam sein.

Mit "sparsamer Regler" ist der Eigenverbrauch gemeint.
Und da weiß man nie, was da wirklich für einer auf so einem China Board 
montiert ist.
Gast #5288599
Lesenswert?

> Damit dürfte ich 200 Tage hinkommen oder?
Ja.

> Ich dachte immer der MCP1700 wäre super sparsam? Ist das echt so?
Kommt auf den Blickwinkel an: für sich selbst braucht er nicht viel, 
aber als Linearregler verheizt er natürlich die Differenz von Ein- zu 
Ausgangsspannung multipliziert mit dem Strom. Ob jedoch ein Schaltregler 
bei den 0.3 mA sparsamer ist - na, ich weiß nicht.
Gast #5288678
Lesenswert?

A. B. schrieb:
> Wenn auch technisch etwas komplizierter, wäre eine Babyzelle mit einem
> Step-Up-Wandler überlegenswert. Bei 4 AA-Zellen wird ziemlich viel
> Enegie am Linearregler verheizt. Gute Step-Up Wandler sollten 80 bis 90%
> Wirkungsgrad erreichen,

Gut, irgendwo abgeschrieben und den Zusammenhang nicht verstanden?
Diese tollen Wirkungsgrade kannst Du Dir ..., wenn die Last fast keinen 
Strom zieht. µC im Tiefschlaf und Schaltregler ist energetischer Unfug.

Man kann vielleicht Exoten finden, die auch bei geringer Last sparsam 
sind - die werden sich dem Bastler eher entziehen, weil er sie nicht als 
fertiges Board bekommt und mechanisch nicht verarbeiten kann.

Arduino F. schrieb:
>> Ich dachte immer der MCP1700 wäre super sparsam? Ist das echt so?

Er ist es, in Deinem Fall zählt sein Eigenverbrauch, der ist kaum zu 
unterbieten. Hier wird doch immer noch ein Chinese xl_irgendwas genannt, 
der kann mit und koste auch nur ein paar cent.

Achte auf die zulässige Eingangsspannung, beim 1700 6 Volt - ich setze 
lieber auf MCP1703.

> Spannungsdifferenz am Regler Multipliziert mit dem Strom, macht
> verbratene Wärmeleistung am Regler.
> Da kann der Regler noch so sparsam sein.

Interessiert das beim schlafenden Controller? Die kurzen Zeitintervalle, 
in denen gemessen / gesendet wird, schlagen kaum zu Buche.

> Mit "sparsamer Regler" ist der Eigenverbrauch gemeint.
> Und da weiß man nie, was da wirklich für einer auf so einem China Board
> montiert ist.

Ich habe MCP1702 und MCP1703 über Ali gekauft, die bislang verbauten 
halten den spezifizierten Querstrom ein.

Tim S. schrieb:
> Wenn nichts gemessen (BME280) oder gesendet (RF24) wird verbraucht die
> Schaltung um die 0,2-0,3mA.

Wo bleibt der viele Strom? Ich habe einen ProMini 16MHz an 5V laufen, 
tatsächlich gemessen um 7µA. Orientiert hatte ich mich an dem:
http://www.home-automation-community.com/arduino-low-power-how-to-run-atmega328p-for-a-year-on-coin-cell-battery/

Tim S. schrieb:
> Das würde ja bedeuten, dass je weiter die Batteriespannung sich der 3,3V
> annähert, die Schaltung immer effektiver wird?

Fruchtlose Theorie, der Strom bleibt. Wenn Du im Ruhezustand 0,3mA hast 
und zu Beginn am Regler 2,7V abfallen, sind das 0,8 Milliwatt. Beim 
Senden ... mit 20mA immerhin 54mW, wen juckt das?

Dein Wirkungsgrad liegt zu Anfang natürlich bei nur 55%, aber ich will 
denn bastlerfähigen Schaltregler sehen, der _unter Deinen 
Betriebsbedingungen_ besser ist.

Thomas E. schrieb:
> Na und? Die Alternative ist nicht Schaltregler, sondern gar kein Regler.

Das Argument ist unschlagbar! Ich finde leider keine Angabe, wie sich 
die Sendeleistung vom RF24 mit der Versorgungsspannung ändert.
#5288784
Lesenswert?

Tim S. schrieb:
> Das würde ja bedeuten, dass je weiter die Batteriespannung sich der 3,3V
> annähert, die Schaltung immer effektiver wird?
>
> Ist es dann denkbar, dass der Stromverbrauch noch auf 0,1mA sinken
> könnte?

Am effektivsten ist es, gar keinen Spannungsregler zu verwenden, sondern 
gleich einen Akku, der eine 3,3V Spannung liefert. Also einen LiFePO4.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren