projects:blinker:work_logs:6_power_consumption_testing
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Last revisionBoth sides next revision | ||
projects:blinker:work_logs:6_power_consumption_testing [2022/03/07 04:39] – tjhowse | projects:blinker:work_logs:6_power_consumption_testing [2022/03/07 04:41] – tjhowse | ||
---|---|---|---|
Line 26: | Line 26: | ||
===== The Results ===== | ===== The Results ===== | ||
- | ====== Unoptimised code vs passive losses | + | ==== Unoptimised code vs passive losses ==== |
As of running these tests the blinker has only one 25 farad supercap installed. The final design allows for six 40 farad caps, so it currently has around 10% of the design energy capacity. | As of running these tests the blinker has only one 25 farad supercap installed. The final design allows for six 40 farad caps, so it currently has around 10% of the design energy capacity. | ||
Line 42: | Line 42: | ||
At T=20000s the voltages were 1.4723v and 1.5933v from a starting voltage of 2.258v. This gives us a voltage drop of 0.7857v and 0.6647v. 0.121v / 0.6647 = 18%. This means that 82% of the energy in the system was lost to supercapacitor self-discharge and leakage across the zener. This sets the upper bounds of power savings we can hope to achieve with clever code improvements. | At T=20000s the voltages were 1.4723v and 1.5933v from a starting voltage of 2.258v. This gives us a voltage drop of 0.7857v and 0.6647v. 0.121v / 0.6647 = 18%. This means that 82% of the energy in the system was lost to supercapacitor self-discharge and leakage across the zener. This sets the upper bounds of power savings we can hope to achieve with clever code improvements. | ||
- | ====== Optimised code vs passive losses | + | ==== Optimised code vs passive losses ==== |
{{: | {{: | ||
Line 48: | Line 48: | ||
After optimising the code to disable unused peripherals and enter deep sleep between blinks, using the watchdog timer to wake to process the next frame, I was able to reduce power consumption to very close to the passive drain of the system. This represents roughly a 95% improvement in energy efficiency over the naive approach. | After optimising the code to disable unused peripherals and enter deep sleep between blinks, using the watchdog timer to wake to process the next frame, I was able to reduce power consumption to very close to the passive drain of the system. This represents roughly a 95% improvement in energy efficiency over the naive approach. | ||
- | ====== Isolating sources of lost energy | + | ==== Isolating sources of lost energy ==== |
I wanted to confirm the source of my passive losses. I suspect the voltage limiting Zener diode. It's sized to handle sinking a reasonable amount of current (around 100mA) to ground to avoid overcharging the capacitors. The bigger the Zener, the more leakage. The datasheet of the one I'm using (MM1Z2V4, I think. JLC part C96629 isn't in their catalogue anymore and I didn't store the actual part number anywhere...) specifies a 120µA leakage current at 1V, which is in the right ballpark. I re-ran the passive discharge test but with a supercap charged directly from my benchtop supply and got a big surprise: | I wanted to confirm the source of my passive losses. I suspect the voltage limiting Zener diode. It's sized to handle sinking a reasonable amount of current (around 100mA) to ground to avoid overcharging the capacitors. The bigger the Zener, the more leakage. The datasheet of the one I'm using (MM1Z2V4, I think. JLC part C96629 isn't in their catalogue anymore and I didn't store the actual part number anywhere...) specifies a 120µA leakage current at 1V, which is in the right ballpark. I re-ran the passive discharge test but with a supercap charged directly from my benchtop supply and got a big surprise: |
projects/blinker/work_logs/6_power_consumption_testing.txt · Last modified: 2022/03/07 04:47 by tjhowse