Computing stuff tied to the physical world

MPS component improvements

The nice thing with a fully functional circuit, is that we can start tweaking and optimising things further. After each change, it’s now trivial to verify that the MPS is still working.

And as with software, premature optimisations usually are just a big waste of time, but occasionally some nice improvements will result from new insight plus a bit of tinkering.

The changes we’ve seen so far in the circuit are:

  • replacing the two ZVP0545 MOSFETs with TP2104’s (less resistance)
  • replacing the 1N4148 diodes by BAT46 Schottky diodes (lower voltage drop)
  • increasing the 100 µF capacitors to 470 µF (greater power reserves)
  • dropping the D3 diode and adjusting some resistor values (fail-safe shut-off)

But there’s more: it turns out that the 1 MΩ pull-up resistors R7 and R8 can be omitted.

Also, the “back-feeding” solution in the code is no longer needed, since we now have a guaranteed amount of energy available to us on every power-up. We can simply turn Vradio on right away when the µC comes out of reset – only keeping the 10 ms power-up delay required for the RFM69 to start up its crystal oscillator. This makes the code (on GitHub) simpler and even more predictable. Nothing wrong with simplicity, right?

Full circle

We’re not done yet. The TVL431 was introduced to create a “robust” 1.8V zener, so that the base voltage of Q2 would rise in a well-controlled manner. The LED was then added to limit the maximum level of Vres to at most 3.6V, and avoid damaging the µC and RFM69.

Well, now we can throw it out again. A second red LED turns out to work just as well:

Two leds

We’ve come full circle: lots of tricks used to overcome various hurdles and limitations, only to be removed again at the end because better (and simpler) solutions have replaced them.

It’s time to declare victory, wrap it up, and call it a day…

[Back to article index]