Computing stuff tied to the physical world

Yes, the MPS lives, but…

The problem with the circuit so far is that although it can harvest energy, and keep a µC running, it’s not able to start up properly. With the current circuit, if we first attach the LPC810 and then power up the circuit, we’ll end up with something like this:

SCR60 4

(the horizontal scale is 5 ms per division in this case – please ignore the yellow trace)

In other words, every 20 ms (which is one cycle of 50 Hz AC mains), the power supply tries to rise, but it never succeeds. It never rises above about 1 Volt.

What’s going on? Wasn’t the circuit able to easily drive our sleep-mostly µC?

Yes and no: the fact is that a microcontroller normally consumes a few milliamps when running, and that it needs to run before it can put itself into a low-power sleep mode.

We’re caught in a Catch-22 scenario: the µC draws some current during power up. It can’t start up otherwise. If it draws too much at this stage, the power supply voltage will drop, preventing the µC from going through its full power-up reset sequence.

What we have to do, is delay the startup until a bit more energy has been harvested.

Reculer pour mieux sauter, as the French say…

By holding back, and connecting the µC a bit later to the power supply, it’ll cause the supply voltage to drop as before, but perhaps not quite to the point which causes trouble.

It would be no problem at all for example, if the µC were to start up with a supply voltage of 3V which then falls back to 2V during the startup sequence. According to its specifications, the LPC810 will work with any supply voltage level between 1.8 and 3.6V, after all.

So we’re going to have to refine our little energy harvesting circuit. Unfortunately, there’s no way to put this sort of cleverness into our code, because that code isn’t running yet.

Back to the drawing board!

[Back to article index]