ich möchte gerne einen Arduino mit Batterien/Akku versorgen.
Sehr geeigent ist dafür wohl der Pro Mini 3,3V.
Abgesehen von der softwareseitigen Optimierung habe ich noch von Hardware-Modifizierungen gelesen.
Power LED entfernen (auch den Vorwiderstand?).
Spannungs-Regulierer entfernen (reicht nur entfernen, oder muss man eine Brücke einbaun?).
LED is eigentlich klar, aber beim Spannungsregulierer stelle ich mir die Frage, wofür der denn vorhanden ist?
Ist das eine Komponente, die für die Pro Mini 5V Variante einfach mitverlötet wird und bei der 3,3V Version unnötig ist?
Oder wird er benötigt, da eine Spannungsversorgung von 3-20V möglich ist und diese dadurch entsprechend runtergeregelt wird?
In letztem Fall müsste man also darauf achten, dass bei einem modifizierten Arduino mit entferntem Regulierer die Spannungsversorgung möglichst genau bei 3,3V liegt und es müsste eine Brücke verlötet werden, oder?
Wären dann auch 3,7V entsprechend einer LiIon Zelle noch im Rahmen?
Ein ATmega328 funktioniert von 1,8V bis 5V. Du kannst, wenn die Zusatzelektronik und die benötigten Funktionen zB ADC das zulassen auch mit 3,7- 4,2V versorgen. Einfach auf das 3,3V pin geben.
Der 3,3V Sannungsstabilisator ist dazu da den PRO MINI mit einer höheren Spannung versogen zu können.
Da der Spannungsstabilisator selbst Strom verbraucht ist es besser diesen zu entfernen.
Beim LED reicht es die LED oder den Vorwiderstand zu entfernen oder die Leiterbahn irgentwo zu unterbrechen. Hauptsache ist es daß das LED nicht mehr leuchtet.
Wenn du den Regler entfernst kann der 8Mhz ProMini mit 2,7-5,5V betrieben werden. Neben Li-Ion-Akkus (4,2-3V) bieten sich 3Mignonzellen an. Mit NiMH-Akkus hast du ca. 3,6V, mit Alkaline-Batterien ca. 4,5V-das passt perfekt um auf weitere energieverbrauchende Spannungsregler/Converter zu verzichten.
Für Langzeit-Batteriebetrieb sollte der Controller schlafen gelegt werden, solange er nichts zu tun hat. Und weitere Hardware sollte so lange auch abgeschaltet werden.
AFAIK hängt es vom genauen Typ des Spannungsreglers ab, was der im Rückwärts-Betrieb an Strom zieht, und einige Typen sollen das überhaupt nicht verkraften. Bei meinen Boards hatte ich noch keine derartigen Probleme, aber das läßt sich ja nicht verallgemeinern. Wenn man schon beim Ausbau der LED ist, dann läßt sich der Regler ja ohne großen Mehraufwand auch noch entfernen.
Wenn es so auf das Stzromsparen ankommt... Warum nicht einfach einen MEGA8 oder MEGA328 kaufen und mit internem Oszillator laufen lassen. Dann ist die Stromfressende Arduino Elektronik schon mal weg. Dann im Sketch den ADC ausschalten (und nur für den Zeitraum anmachen wo er gebraucht wird). Den Controller im "Leerlauf" schlafen legen und entweder mit dem Watchdog oder einem PinChangeInterrupt aufwecken. So kann man den µC auch z.B. über einen längeren Zeitraum mit einer Mignonzelle betreiben . Da müsste natürlich noch ein Step up vorgeschaltet werden. Diese habe ich selber schon mit einer effizienz von >90% verbaut . Da gibt es sogar welche die bis 0.6V Runter gehen.
der_chipo:
Wenn es so auf das Stzromsparen ankommt... Warum nicht einfach einen MEGA8 oder MEGA328 kaufen und mit internem Oszillator laufen lassen. Dann ist die Stromfressende Arduino Elektronik schon mal weg.
Weil ein PRO MINI mit ausgelöteter LED und Spannungsstabilisator sicherlich und sicherer funktioniert als ein Eigenbau eines unerfahrenen Users.
der_chipo:
So kann man den µC auch z.B. über einen längeren Zeitraum mit einer Mignonzelle betreiben . Da müsste natürlich noch ein Step up vorgeschaltet werden. Diese habe ich selber schon mit einer effizienz von >90% verbaut . Da gibt es sogar welche die bis 0.6V Runter gehen.
Hast du da einen wirklich stromsparenden? Ich bräuchte einen für ein Uhrprojekt. Was nützt es, wenn der Pro-Mini auf unter 1µA gebracht wird, aber der Spannungsconverter die Batterie mit seinem Leerlaufverbrauch von 500µA in 2-3Monaten leerzieht.
Das ist ein gutes Argument. Allerdings weiß ich nicht ob es dann Ratsam ist als unerfahrener User SMD zu Löten ohne die Leiterbahnen abzureißen oder Kurzschlüsse zu machen. Vielleicht ist da der Pro Mini mit 8MHz keine schlecht Wahl da dieser ja der Minimalbeschaltung recht nahe kommt. den "Spannungsstabilisator" was auch immer das sein soll.. ich kenne nur Spannungsregler weil er Spannung regelt (max 16V auf 3,3V beim mini) braucht man glaub ich gar nicht auslöten da gibt es einen Jumper. Wenn der Ausgang nicht belastet wird ist die Stomaufnahme denke ich zu vernachlässigen (lt Datenblatt 5µA)
..ein wenig Löterfahrung habe ich schon und entsprechendes Werkzeug.
Aus erwähntem Argument ziehe ich bisher aber auch die fertige Arduino modifizierung vor.
wenn heute meine pro Minis kommen werde ich mal prüfen, üb ich geschickt genug bin oder eventuell ein scharfes Cutter benötige.
Habe gerade mal geschaut und den Relgler gefunden. Der ist auch von der Bauform recht gut unterzubringen MCP 1640DT-I. habe damit 10 Tage am stück alle 5 Sekunden auf eine SD Karte geschrieben (Das nur so als Richtwert für die Effizienz).
Man muss nur einen Analogeingang frei halten um die Batteriespannung zu messen. Wenn die zu klein wird zieht der Spannungsregler zu viel Strom und geht in Rauch auf. Dem kann man vorbeugen indem man den enable pin des Spannungsreglers vom Controller schaltet.
um mal auf die softwareseitige Optimierung zu kommen:
Kennt jemand eine Library die den Power-Down-Mode zeitgesteuert für mehr als 8sec hält?
Oder ist es einfach möglich und praktikabel, solch ein Power-Down in eine Schleife zu packen?
Du kannst das in eine Schleife packen. Sind bei 8Mhz nicht sogar 16sec. Powerdown möglich? Wenn du eine DS3231 RTC benutzt, kannst du auch deren Weckfunktion nutzen und den Arduino sehr lange schlafen lassen.
Zum Aufwecken sollte ein Interrupt benutzt werden, der dann kommt, wenn es etwas zu tun gibt. Für zeitgesteuerte Abläufe kann eine RTC zum Aufwecken benutzt werden.
Zeitgesteuert geht nur mit dem Watchdog (max 8 sekunden). Ich zähle in der Watchdor_ISR immer einen counter hoch. nach dem Motto: was zu tun? nein ? gute Nacht.
Die AVR's haben verschiedene Sleep Modis. Aus dem Power down kommt man nur noch mit einem Reset.
lt. Datenblatt für den Mega328
Idle, ADC Noise Reduction, Power-save, Power-down, Standby, and Extended Standby
Wie man aus welchem Mode aufwecken kann steht im Datenblatt auf Seite 39
laut datenblatt geht beim Power_down Mode ein wake-up auch mit WDT.
Löst dieser dann ein Reset des Controllers aus und macht nicht an der Stelle im Code weiter?