[Tinyos-help] Mica2, CPU Timed Sleep and Wakeup
David Gay
dgay42 at gmail.com
Mon May 1 11:09:36 PDT 2006
On 5/1/06, David Moss <dmm at rincon.com> wrote:
> If you have an accurate ammeter, placing it directly in series with your
> battery should work without soldering and give you a good estimate of what
> the power consumption is.
>
> Our 50kSps DAQ only measures voltages. To easily solve the
> solder-the-resistor-in-series problem, take a small piece of 2-sided copper
> plated PCB (plated on both sides, no connection through the FR-4 center)
> that is shaped like a very short popsicle stick. Solder a 1-ohm (or less)
> precision resistor across the two sides of the board. Then, insert this PCB
> stick between the battery and the terminal on your mote, placing the
> resistor on the end of your PCB stick in series with your battery power
> supply. This way, you don't have to go around soldering motes.
>
> Also, you can twist method this to help in the ammeter case by leaving the
> resistor off and touching your ammeter probes to both sides of the PCB stick
> placed between one end of a battery and the terminal.
>
> Finally, I definitely saw just below 1 mA on the mica2's, and according to
> what I wrote down, saw 0.102 mA during downtime on the micaz's. The mica2's
> use a CC1000 radio, which has a crystal that should keep oscillating even
> when the radio is turned off (confirmation?). It takes awhile
> (milliseconds) to start that oscillation back up after it's turned off,
> hence the reason to keep it on. But that shouldn't stop you from turning it
> off in something like CC1000ControlM.nc.
>
> When the CC1000 oscillator core is off, the CC1000 should consume between
> 0.2 - 1.0 uA. With the crystal oscillator on, 105 uA. With the xosc and
> bias on, 860 uA. I think there's a synthesizer that can be turned on on top
> of that too, to enable Rx and Tx. But that 860 uA is probably why the mote
> consumes just less than 1 mA during power down: 860 uA + 0.102 mA = 0.962
> mA. Sounds reasonable to me.
Ok, I've checked into
broken/experimental/owl/lposcilloscope
a version of OscilloscopeRF which runs in low-power mode on mica2s
(and mica2dots, if you change the sensor it uses).
It needs:
broken/experimental/owl/newradio (an evolution of Joe Polastre+Jason
Hill's low-power radio stack)
broken/experimental/owl/lpbasicsb (minor tweak on basicsb)
It has the following characteristics:
- uses low-power listening
- enables power management
- turns the sensor on/off before each reading
- uses the "basic" sensor board. Shouldn't be hard to change for
micasb, but see note at end of this mail.
- expects to run on the internal oscillator at 8MHz
use uisp <your options> --wr_fuse_l=c4 to set the motes to do that
remember to reset the fuse to ff for regular use (in particular, the
serial port will not work at 57600 when on the internal oscillator)
Setup correctly, the "sleep" mode power consumption is ~60uA (*). With
low-power listening checking for messages every 100ms, power
consumption is ~240uA. Average power when running lposcilloscope is
~1.1mA (this is sending a message every 2.5s).
All this with the latest TinyOS 1.x CVS tree (I just checked in a
power-management fix to the ADC...).
And, FWIW, TinyOS 2.x has a much nicer power management story than 1.x
(though it's not 100% complete yet).
David Gay
*: Measuring this number is sometimes tricky. The actual number may be
lower (or, possibly, a little higher). It also varies significantly
with different sensor boards (e.g., the micasb makes it higher, as it
requires the mica2 to have some pins configured as outputs).
More information about the Tinyos-help
mailing list