mungewell / pico-timecode

A budget friendly LTC/TimeCode device built from a RaspberryPi Pico - using the PIO blocks and MicroPython
https://github.com/mungewell/pico-timecode
MIT License
37 stars 0 forks source link

Battery Operation - Schottky Diode and Thresholds #17

Open mungewell opened 1 day ago

mungewell commented 1 day ago

In my prototype I am using a Schottky diode to isolate/protect battery from (inadvertant) VBUS connections. The diode lets battery feed into VSYS with a 0.4V drop.

In 'hardware' powersave (with PIO blocks running in light sleep I got the following power run, with a 3.7V 1300mA.hr battery. MicroPython is built with my 'lightsleep()' patches and with UART REPL (USB disabled).

[10:49:46.119344 0.000001] Pico-Timecode v2.1+
[10:49:46.119975 0.000634] www.github.com/mungewell/pico-timecode
[10:50:01.705483 15.585507] 01:00:10.12 3.650414
[10:50:11.713315 10.007832] 01:00:20.12 3.642357
[10:50:18.139709 6.426393] Entering PowerSave
[10:50:21.881025 3.741317] 01:00:26.25 3.653435
[10:50:32.096287 10.215262] 01:00:26.25 3.6600j
[10:50:42.439622 10.343335] 01:00:26.25 3.664915
[10:50:52.719388 10.279766] 01:00:26.25 3.671764
...
[22:34:10.966750 10.295684] 01:00:26.25 3.006112
[22:34:21.262736 10.295985] 01:00:26.25 3.002486
[22:34:31.526668 10.263933] 01:00:26.25 2.999^Fj
[22:34:31.654631 0.127962] Powersave Exited
[22:34:41.838818 10.184187] 12:44:50.15 2.992415
[22:34:51.942102 10.103285] 12:45:00.20 2.973079
[22:35:02.141718 10.199619] 12:45:10.26 2.960994
[22:35:12.229614 10.087892] 12:45:20.29 2.946492
[22:35:22.381924 10.152311] 12:45:31.01 2.930782
[22:35:32.469646 10.087722] 12:45:41.05 2.911043
[22:35:42.557186 10.087534] 12:45:51.08 2.89211
[22:35:52.692863 10.135683] 12:46:01.13 2.875191
[22:36:02.797482 10.104620] 12:46:11.16 2.844978
[22:36:12.885209 10.087725] 12:46:21.19 2.809932
[22:36:22.988741 10.103536] 12:46:31.21 2.763606
[22:36:33.108672 10.119927] 12:46:41.24 2.70157
[22:36:43.212449 10.103778] 12:46:51.27 2.614533
[22:36:53.348299 10.135849] 12:47:02.03 2.526287
[22:37:03.495606 10.147305] 12:47:12.06 2.427568
[22:37:03.497739 0.002138] Traceback (most recent call last):
[22:37:03.501456 0.003717]   File "main.py", line 1077, in <module>
[22:37:03.505654 0.004198]   File "main.py", line 722, in OLED_display_thread
[22:37:03.510372 0.004717] NameError: name 'sys' isn't defined
[22:37:03.512659 0.002289] MicroPython v1.25.0-preview.26.gc4d7237a4.dirty on 2024-11-13; Raspberry Pi Pico with RP2040
[22:37:03.518298 0.005638] Type "help()" for more information.
[22:37:03.520475 0.002177] >>> ^@Pico-Timecode v2.1+
[22:37:33.170794 29.650313] www.github.com/mungewell/pico-timecode
[22:37:37.883977 4.713186] ^@Pico-Timecode v2.1+

So 10:49:46.119344 through to 22:37:03.495606 is 12hrs run time!

I had unit come out of 'powersave' so that it could flash a 'low battery' warning on the screen, this increased current draw and promptly discharge what's left of the battery. Improvements made last night will prevent the unit cycling on/off.

I think I will change the thresholds (at VSYS) to 3.2V warn and 2.8V shutdown. Note these are 0.4V below battery voltage.

mungewell commented 1 day ago

20241120_voltage.txt