User Tools

Site Tools


projects:blinker:work_logs:6_power_consumption_testing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
projects:blinker:work_logs:6_power_consumption_testing [2022/02/27 12:12] tjhowseprojects: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 from the supercaps,
     * 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:
 +
 +{{:projects:blinker:work_logs:pasted:20220306-223145.png}}
 +
 +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>WTbTDbBAby0?large }} {{ youtube>WTbTDbBAby0?large }}
 +
 +
  
 ===== Next Time ===== ===== Next Time =====
  
-I don't think there's much point in trying to further improve energy efficiency of the code. The next steps might be adding features like multiple message sequences.+I don't think there's much point in trying to further improve energy efficiency of the code. The next steps might be adding features like multiple message sequences, and/or improving the space efficiency to fit more/longer messages.
  
 [<6>] [<6>]
  
projects/blinker/work_logs/6_power_consumption_testing.txt · Last modified: 2022/03/07 04:47 by tjhowse