weatherbox:firmware:power_saving

Power consumption reduction efforts previously focused on sleeping the microcontroller. However, for the weatherboxes that do not use the Arduino Uno, the XBee power consumption is magnitudes larger than the power consumption of all other components on the board. So, efforts should focus on sleeping the XBee. This tutorial (http://www.fiz-ix.com/2012/11/low-power-xbee-sleep-mode-with-arduino-and-pin-hibernation/) outlines a basic method for using an external device, in this case, the microcontroller, to sleep the XBee. However, a potential disadvantage of this approach is that it may complicate two way programming efforts which require the XBee to always be on.

 Build based on generation of weatherbox
 Initialize board struct
 Set timer configuration values
 Loop
    Reset timer flag to 0
    Increment board cycle count
    Sample Heartbeat Data
    Wake up XBee
    Transmit Heartbeat Packet
    Sample Sensor Data
    Transmit Sensor Packet
    Sleep XBee
    Sleep microcontroller for 1 second
    Wake from sleep
 End Loop
 ISR (When timer interrupts every 1 second)
    Set timer flag to 1

Authors

Contributing authors:

akim

Created by akim on 2017/05/16 09:56.

  • weatherbox/firmware/power_saving.txt
  • Last modified: 2021/09/19 21:59
  • (external edit)