projects:blinker:work_logs:6_power_consumption_testing
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
projects:blinker:work_logs:6_power_consumption_testing [2022/02/27 06:09] – tjhowse | projects:blinker:work_logs:6_power_consumption_testing [2022/03/06 22:33] – tjhowse | ||
---|---|---|---|
Line 10: | Line 10: | ||
I want to measure the voltage over time as the device discharges so I can calculate how much power each component uses. I will run the following tests: | I want to measure the voltage over time as the device discharges so I can calculate how much power each component uses. I will run the following tests: | ||
- | * JP1 open, disconnecting the LED and microcontroller, | + | * JP1 open, disconnecting the LED and microcontroller |
* This should measure the self-discharge and leakage across the Zener D2. | * This should measure the self-discharge and leakage across the Zener D2. | ||
* JP1 closed, running unoptimised naive code, blinking the message "ss s" | * JP1 closed, running unoptimised naive code, blinking the message "ss s" | ||
Line 25: | Line 25: | ||
===== The Results ===== | ===== The Results ===== | ||
+ | |||
+ | ====== 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 39: | Line 41: | ||
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 ====== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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 ====== | ||
+ | |||
+ | 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: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The isolated capacitor (green line) discharged even faster than the identical one in the circuit, leaking across the Zener! What? | ||
+ | |||
+ | I assumed there was a difference in my experimental setup. I ran the test again, but this time I charged the second capacitor by connecting it to the circuit | ||
+ | |||
===== Video ===== | ===== Video ===== | ||
- | {{ youtube>G8RZ3I4DSik?large }} | + | {{ youtube>WTbTDbBAby0?large }} |
+ | |||
===== Next Time ===== | ===== Next Time ===== | ||
+ | I don't think there' | ||
[<6>] | [<6>] | ||
projects/blinker/work_logs/6_power_consumption_testing.txt · Last modified: 2022/03/07 04:47 by tjhowse