Computing stuff tied to the physical world

A revised, complete MPS

With startup now properly working, it’s time to look into the complete circuit. After all, it would be useless to just keep an LPC810 micro-controller running, we also need to send out some packets through a wireless radio.

The radio module used for this is the RFM69CW by HopeRF – a drop-in replacement for the original RFM12. The RFM69’s sleep mode power consumption is under 1 µA, but there is the same “startup hump” issue as with a µC: when the module starts up, it needs a bit of current until switched into sleep mode (about 1.2 mA).

So we’ll need to use the same trick as with the µC, with a P-MOSFET to act as power-on switch. This MOSFET however, can be tied to an I/O pin on the LPC810, and be placed under software control. It’s a lot easier to add a few lines of code, than to rewire a circuit!

Here is the complete design of the Micro Power Snitch (version 0, i.e. as first prototype):

Screen Shot 2015 02 24 at 11 31 10

Most of this is the same as before, with just the addition of the radio and its power control. There is one spare I/O pin left on the LPC810, available as header with ground and power.

The order of events we’ll aim for is as follows:

  • power comes in from the CT and gradually builds up Vres
  • at some point, the Q1 + Q2 pair switches on and powers up the µC
  • the µC immediately goes into deep power down mode with a wakeup scheduled
  • more energy comes in, allowing Vres to rise further
  • a pre-determined amount of time later, the µC wakes up
  • it turns on power to the radio and initialises it
  • lastly, the µC sends out a packet and powers down the radio and itself again
  • now rinse and repeat that last step every so often

The actual delays involved will need to be empirically determined, and depend greatly on how much of a voltage drop is created by the periodic µC + radio wake-ups. Keep in mind that the MPS will be consuming considerably more energy now: the radio needs 15..45 mA in transmit mode (depending on the output power selected), and a packet transmission takes at least a few milliseconds.

Still, the issue is really just a trade-off between how often to wake up and how to dimension the reservoir capacitors to limit the voltage drop. These are interrelated, because larger capacitors will take more time to charge up again. And of course it also all depends on the power level we’re monitoring: a 100W load will give us less energy to harvest than 1000W!

A lot more creative coding may be possible later – we could monitor the voltage drop in the µC itself, for example (using its built-in bandgap reference and ladder network), as well as the time it takes to charge up again, then make a rough estimate of how much energy is coming in. And then adjust the packet sending rate accordingly.

But for now, the first goal should be to just get a single wireless packet out the door.

[Back to article index]