Overdriving the 5v buck converter causes the +12v to rise

Most everyone has noticed the fact that overdriving the +5v buck converter’s output on the GoPiGo-3 controller[1] causes the +12 input to rise dramatically.

I asked over at the electronics stack exchange and they told me why:

The answer:
Apparently a synchronous buck converter is equivalent to a boost converter[2] if the output is overdriven, (i.e. Vout is driven with a voltage greater than the converter’s regulation set-point for Vout which causes a reverse current to flow.)  In fact, some of the answers lead me to believe that this is, (sometimes), a useful feature!  (:man_facepalming:)

If the input can absorb the additional current, all is well and good.  If not, you will see a higher than normal VCC on the input.

Apparently the only solution is to isolate the output with a diode as I have done, but then the feedback resistors need to be re-calculated to give the correct output voltage on the Raspberry Pi side of the isolation diode.

Check off another pesky question from our bucket-list!

==================== Footnotes ====================

  1. This usually happens when an external +5v supply is plugged into the GoPiGo’s Raspberry Pi, backfeeding the controller with a voltage that’s greater than the controller’s output.  This causes current to flow INTO the buck converter instead of OUT of it.

  2. One comment said “Look at the circuit for a boost converter - in a mirror!”

1 Like

@cleoqc: This is also for your/Modular Robotic’s reference if they decide to upgrade the GoPiGo’s PCB.

The problem with overdriving the GoPiGo3’s controller board is, (as mentioned above), it can cause the buck converter to act like a boost converter when running in reverse.

This can cause either the +12v supply to the rest of the PCB to rise dramatically, potentially damaging components, or cause component overheating as mentioned at https://forum.dexterindustries.com/t/very-hot-components-with-external-power-supply-power-over-raspberry-pi/7908/42, or both.

The solution is to either:

  1. Redesign the GoPiGo’s voltage conversion supply.
    (Nope, nope, nope, nope. . .)

  2. Add an isolation diode.
    (an ugly hack, but it works.)

To do this you will need a surface-mount Schottky diode with a rating of at least 5 amps and you will need to cut a trace on the top of the GoPiGo-3 circuit board.

You need to cut the +5v trace to the GPIO connector where noted and solder a Schottky diode (cathode to the left), over that cut.[1] You will also note that I jumpered the two +5v power pins at the far left.

Note that there is one undesirable side-effect of this:
The +5 fed to the Raspberry Pi from the GoPiGo3’s controller board drops to about 4.6v due to the 0.4v drop across the Schottky diode.[2]  This can be fixed by changing the value of one of the programming resistors for the power supply chip.

==================== Footnotes ====================

  1. Note that these traces, (at least on recently manufactured boards), are quite delicate and will lift off the board very easily, so it’s essential to solder the new device both quickly and carefully to prevent lifted traces.
     
    I mention this because I absolutely BUTCHERED Charlene’s PCB when installing a large axial lead diode.  I, the idiot I am, should have used a smaller, surface mount device instead. :man_facepalming:

  2. This causes the +5 to drop at the Raspberry Pi itself potentially causing a low-voltage event and a lightning-bolt alert on the display.  As mentioned in the article on Stack Exchange referenced in the previous post, this can be corrected by changing one of the power converter’s programming resistors, (RP-2), to about 13kΩ.  I have not tried it, (yet), and I cannot, (yet), comment on how well it will work.