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 12:10] – 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 47: | Line 47: | ||
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 ====== | ||
+ | |||
+ | 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> | {{ youtube> | ||
+ | |||
+ | |||
===== 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