shutdown.py & Power-Loss

Hallo nochmal,


folgende Konfiguration lag vor:



  1. Stromversorgung per mUSB über StromPi; RPi läuft; Akku-HAT wird geladen

  2. RPi & StromPi per `shutdown.py` heruntergefahren

  3. kurze Zeit gewartet

  4. alle LEDs am StromPi aus; am RPi leuchtete nur noch schwach die rote LED; Ladevorgang des Akkus abgebrochen

  5. kurz gewartet und dann die Stromversorgung getrennt

  6. RPi startet neu; am StromPi leuchtet die grüne LED


erwartetes Verhalten für Punkt 4: Akku sollte eigtl. weiterladen.


erwartetes Verhalten für Punkt 6: RPi bleibt ausgeschaltet.


Daher die Frage: Sollte die Batterie nicht unabhängig vom Zustand des RPi geladen werden (natürlich sofern sie noch geladen werden muss)?!


Und wieso fährt der RPi in der Konstellation bei Stromverlust überhaupt im ausgeschalteten Zustand wieder an?!


Danke und Grüße, Andreas


 


 


---------------------------------


StromPi-Status:


---------------------------------


Time: 20:28:44


Date: Thursday 18.03.21


StromPi-Output: mUSB


StromPi-Mode: mUSB -> Battery


Raspberry Pi Shutdown: Disabled


 Shutdown-Timer: 30 seconds


Powerfail Warning: Enabled


Serial-Less Mode: Disabled


Power Save Mode: Disabled


PowerOn-Button: Enabled


 PowerOn-Button-Timer: 30 seconds


Battery-Level Shutdown: Disabled


Powerfail-Counter: 0


PowerOff Mode: Disabled


---------------------------------


Alarm-Configuration:


---------------------------------


WakeUp-Alarm: Disabled


 Alarm-Mode: Time-Alarm


 Alarm-Time: 00:00


 Alarm-Date: 01.01


 WakeUp-Alarm: Monday


 Weekend Wakeup: Enabled


 Minute Wakeup Timer: 30 minutes 


PowerOff-Alarm: Disabled


 PowerOff-Alarm-Time: 00:00


Interval-Alarm: Disabled


 Interval-On-Time: 00 minutes


 Interval-Off-Time: 00 minutes


---------------------------------


Voltage-Levels:


---------------------------------


Wide-Range-Inputvoltage:  not connected


LifePo4-Batteryvoltage: 3.147V [25%] [charging]


microUSB-Inputvoltage: 5.051V


Output-Voltage: 5.018V

a_ha

18.03.21 23:59

Ausserdem ist mir aufgefallen, dass bei einem über Nacht voll geladenen Akku (orangene LED erlosch), der Ladestand des Akkus stark "oszilliert", wenn es zu einem Powerfail kommt.


Direkt nach dem Powerfail ging der Akku auf 50% runter, bis er sich nach 2,5min wieder auf 100% einpendelte. Nach etwa 20 min fiel er dann auf 50% ab. Aber auch da "oszillierte" die Batterie-Spannung weiter...


Time: 06:17:23
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.185V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.027V
 
Time: 06:17:40
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.2V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.03V
 
Time: 06:17:49
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.203V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.027V
 
Time: 06:17:52
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.212V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.024V
 
Time: 06:17:56
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.194V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.021V
 
Time: 06:17:59
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.191V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.018V
 
Time: 06:18:02
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.2V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.012V
 
Time: 06:18:06
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.194V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.009V
  
Time: 06:18:13
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.209V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.036V
 
Time: 06:18:25
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.206V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.024V
 
Time: 06:18:29
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.215V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.036V
 
Time: 06:18:31
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.209V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.033V
 
Time: 06:19:02
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.206V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.033V
 
Time: 06:19:05
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.215V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.03V
 
Time: 06:19:46
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.239V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.051V
 
Time: 06:19:49
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.23V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.051V
 
Time: 06:19:53
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.227V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.051V
 
Time: 06:20:30
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.227V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.054V
 
Time: 06:21:15
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.236V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.051V
 
Time: 06:21:18
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.227V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.057V
 
Time: 06:21:22
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.236V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.051V
 
Time: 06:21:25
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.224V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.054V
 
Time: 06:21:29
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.233V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.045V
 
Time: 06:22:45
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.233V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.054V
 
Time: 06:25:10
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.233V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.039V
 
Time: 06:34:51
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.224V [100%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.048V
 
Time: 06:41:00
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.206V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.048V
 
Time: 06:42:41
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.212V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.048V
 
Time: 06:43:24
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.203V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.062V
 
Time: 06:43:28
Wide-Range-Inputvoltage:  not connected
LifePo4-Batteryvoltage: 3.212V [50%]
microUSB-Inputvoltage:  not connected
Output-Voltage: 5.051V

a_ha

19.03.21 06:52

Guten Tag Andreas,


es ist technisch nicht möglich den Akku zu laden, wenn die Stromversorgung zum Raspberry Pi abgeschaltet ist. Der Ladecontroller des Akkus ist an diese 5 V Versorgung angeschlossen.


Da der STM32 Controller nach ausführen des shutdown.py Skripts, bzw. des poweroff Befehls, normal weiterläuft, verursacht die Unterbrechung der primären Spannungsversorgung die Umschaltung auf die sekundäre Spannungsversorgung und somit den ungewollten Start des Raspberry Pi.


Im Bezug auf die Akkuanzeige gibt es 2 Punkte, die berücksichtigt werden müssen:


1. Die Entladekurve einer LiFePO4-Zelle verläuft sehr flach. Bei unseren Zellen finden ca 80 % des Ladevorgangs in einem Bereich von ca. 0,1 V Spannungsabfall statt. Der Bereich in dem sich die Zelle während dieser 80 % befindet schwankt produktionsbedingt aber um ±0,05 V. Dieses erschwert eine genaue Bestimmung der Restladung des Akkus. Aus diesem Grund können die angezeigten Werte nur als Anhaltspunkt genutzt werden.


2. Die Zellspannung wird von einem ADC an einem belasteten Spannungsteiler gemessen. Durch diesen Umstand ändert sich die gemessen Spannung in Abhängigkeit der aktuellen Last.


 


Mit freundlichen Grüßen


Nils (Joy-IT)

Nils

19.03.21 15:03

Hallo Nils,


danke für das Feedback. Gerade Punkt 2 (Akkuanzeige und Ladekurve) erklärt dann auch mir ein weiteres Phänomen:


Wenn der StromPi mit eingestelltem Battery-Shutdown bei 50% wider Erwartens "aufgeweckt" wurde, kam es bei mir gelegentlich vor, dass der RPi nach kurzer Zeit wieder "grundlos" stromlos wurde...


Anscheinend hat der Load des Neustarts die Spannung so schwanken lassen, dass sie kurzzeitig unter 50% sank und dadurch der Battery-Shutdown ausgelöst wurde.


Aber zumindest verstehe ich jetzt die Logik dahinter und kann dementsprechend die Skripte für mein Szenario bauen.

a_ha

19.03.21 20:00