Atmega328P Standalone mit LiPo

He Leute,
ich hab da mal eine, wie ich glaube, recht einfache Frage. Allerdings konnte ich nichts dazu finden.
Ich habe einen Atmega328P den ich mit Strom versorgen will, dazu will ich einen LiPo Akku benutzen mit 3,7V. Der Atmega befindet sich die meiste Zeit im "schlaf".
Ist es ein Problem wenn ich den Atmega einfach direkt mit dem LiPo verbinde? Oder gibt es da Probleme?
Soweit ich weiß verringert sich die maximal Taktfrequenz, allerdings betreibe ich den Atmega eh mit dem Internen 8Mhz.
Was ich mir auch als Problem vorstelle, was ich allerdings nicht weiß ob es Auswirkung hat: Der LiPo lässt ja mit der Zeit etwas nach.... passt sich da der Atmega an?

  1. Option wäre ein Spannungsregler einzubauen wie den LP2950 3V allerdings würde das wieder mehr Strom verbrauchen.

Vielen Dank schon einmal.

Gruß Bauerbyter

Es gibt fertige Stepupwandler. Deine Lipo Zelle kann nicht dauerhaft ohne Zusatzschaltung 3,7V liefern.

Ich brauch allerdings keine 5 Volt, mir reichen 3 bis 4, weil die restlichen komponenten auch nur soviel vertragen. Den Komponenten ist egal ob sie 3,7 oder 3,5 kriegen, die Frage ist: ist es dem Atmega auch egal :slight_smile:

bauerbyter:
Ist es ein Problem wenn ich den Atmega einfach direkt mit dem LiPo verbinde? Oder gibt es da Probleme?
Soweit ich weiß verringert sich die maximal Taktfrequenz, allerdings betreibe ich den Atmega eh mit dem Internen 8Mhz.

Laut Datenblatt für den Atmega328 http://www.atmel.com/Images/doc8161.pdf in Kapitel "28.3 Speed Grades
Maxi" beträgt die Mindestspannung bei 4 MHz 1,8V und bei 10 MHz 2.7V, mit linearem Verlauf dazwischen.

Die sichere Mindestspannung für den Betrieb bei 8 MHz beträgt demnach:
Umin= 1.8+ ( 2.7-1.8 ) * ( 8-4 ) / ( 10-4 ) = 2.4 Volt

Danke! Das heißt also für mich: Spannungsregler weglassen und LiPo direkt anschließen.
Außer jemanden fällt noch ein warum das eine schlechte Idee ist :slight_smile:

Unterspannungsschutz im Lipo bereits enthalten?

Jap!

Solltest evtl. die FuseBits zur BOD prüfen und entweder

  • auf 2.7V einstellen.
  • ihn zur Not etwas "übertakten" und bis 1.8V zulassen
  • ganz deaktivieren

Hängt auch davon ab, was der Arduino macht,
ob er bei leerer Batterie definiert abschalten soll oder undefiniert Unsinn machen "darf".

Lädst du den LiPo wieder auf während er am Arduino hängt ?
Das ist die riskantere Phase, fürchte ich. Wenn die Batterie durch Überladen stirbt, stirbt der 328p auch :wink:

Also am besten wärs er würde abschalten, allerdings hat der LiPo wie gesagt schon einen unterspannungsschutz, wenn ich das richtig verstehe, schaltet die Batterie dann eh ab.
Ach ja und laden wärend der Arduino dran ist will ich nicht.

Mein Beitrag hat jetzt nichts mit der eigentlichen Frage zu tun!

Ich hatte mich kürzlich auch mit dem Thema Akkubetrieb für Arduino beschäftigt und bin dabei auf "Lithium-Eisen-Phosphat Akkus" gestoßen.
Die haben zwar nur 3,3V aber halten dies Spannung über längere Entladezeit. Zudem haben sie auch wie ich meine sonst interessante Vorteile bei den techn. Daten gegenüber den LiPo's.
https://secure.reichelt.de/Industriezellen/LIFEPO4-26650FPZ/3/index.html?&ACTION=3&LA=2&ARTICLE=86863&GROUPID=4084&artnr=LIFEPO4+26650FPZ

Wenn du keine Analog abfragen machst ist dies so machbar. Nutzt du aber AnalogRead so mit der externen Refrence so hat sind deine 1023Bit immer der Bezug auf die aktuelle VCC also sind 1023 "AnalogReadBits" mal 3,7V und wenn kurz vor leer 3,3V.
Du kannst dies umgehen indem du die aktuelle Vcc misst und dann in deine Berechung einfließen lässt.
siehe hier:
http://provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/

Mal so als anregung
Gruß
DerDani

Oh cool, danke! Gut zu wissen, aber ich muss nichts analog auslesen.

michael_x:
Solltest evtl. die FuseBits zur BOD prüfen und entweder

  • auf 2.7V einstellen.
  • ihn zur Not etwas "übertakten" und bis 1.8V zulassen
  • ganz deaktivieren

Hängt auch davon ab, was der Arduino macht,
ob er bei leerer Batterie definiert abschalten soll oder undefiniert Unsinn machen "darf".

Lädst du den LiPo wieder auf während er am Arduino hängt ?
Das ist die riskantere Phase, fürchte ich. Wenn die Batterie durch Überladen stirbt, stirbt der 328p auch :wink:

Der Arduino darf beim Laden dranhängen, da Lipos im Gegensatz zu NiMH-Akkus niemals über die Maximalvollspannung von 4,2V geladen werden dürfen. D.H. das Ladegerät darf unter keinen Umständen mehr liefern, da sonst der Akku instabil bis hin zur Entzündung wird. Es kann also keine Spannungsspitzen geben.
Ein Lipoakku muss mit einem Unterspannungsschutz betrieben werden. Unter ca. 3-2,8V geht der Akku kaputt. Da muss eine Notabschaltung stattfinden. Man hat also ein festes Spannungsfenster zwischen 4,2 und 3V vom Akku vorgegeben, wo auch der Prozessor gut läuft.

sschultewolter:
Unterspannungsschutz im Lipo bereits enthalten?

bauerbyter:
Jap!

Äh, wie jetzt ... es gibt Lipos mit eingebautem Unterspannungsschutz?
Macht mich mal schlau, interessiert mich XD

Da steht alles recht gut erklärt, auch das mit dem "gelben Band" was kennzeichnet das diese einen Schutz innehaben. Einfach mal durchblättern.

Wieder was gelernt, danke!

Hierbei noch ein kleiner Hinweis zu den Arduino-Stromspareigenschaften:
die BOD solltest du per Fusebits komplett deaktiveren, die brauchten in meinen Versuchen relativ viel Strom.

Außerdem solltest du den ADC in der Setup Routine deaktiveren bzw. immer wähernd des Sleeps. Das scheint auch im PWR_DOWN Sleep nicht automatisch zu geschehen.
Mit diesen beiden Änderungen ist es mir gelungen den im Datenblatt angegebenen 2µA sehr nahezukommen :slight_smile:

Der Stromspar-Kram wird hier sehr gut erklärt:

wow danke, das ist alles sehr hilfreich, gleich mal einarbeiten ^^

Manawyrm:
Hierbei noch ein kleiner Hinweis zu den Arduino-Stromspareigenschaften:
die BOD solltest du per Fusebits komplett deaktiveren, die brauchten in meinen Versuchen relativ viel Strom.

Außerdem solltest du den ADC in der Setup Routine deaktiveren bzw. immer wähernd des Sleeps. Das scheint auch im PWR_DOWN Sleep nicht automatisch zu geschehen.
Mit diesen beiden Änderungen ist es mir gelungen den im Datenblatt angegebenen 2µA sehr nahezukommen :slight_smile:

Welche wo angegebenen 2µA?

Laut Datenblatt:
Low Power Consumption at 1 MHz, 1.8V, 25°C for ATmega48PA/88PA/168PA/328P:
– Active Mode: 0.2 mA
– Power-down Mode: 0.1 µA
– Power-save Mode: 0.75 µA (Including 32 kHz RTC)

0.1 µA!

Allerdings darf für einen so niedrigen Verbrauch dann in der Schaltung auch schon lange kein PullUp-Widerstand mehr am Reset-Pin hängen, sonst braucht der Reset-PullUp schon ein vielfaches an Strom.