I am working on a mobile robot and have damaged 2 RPis as a result of what appears to be a transient over-voltage situation. Please see the attached drawing of the basic setup. The failure is not repeatable so its tricky to figure out what exactly is causing it (after the first failure, I changed the DC-DC converter). Is there anything that appears to be missing? The only common action between the two failures I can recall is the e-stop button is used. The motor controller from Roboteq (FBL2360) allows regeneration but it has been capped at 35V which the DC-DC converter is able to handle. These over-voltage situations also damage the USB devices connected to the RPis and there are some expensive components so any recommendations to further protect those? Here's the DC-DC converter

enter image description here

  • \$\begingroup\$ Massive Zener? TVS? Did you try to capture with a scope what kind of transients do you have? \$\endgroup\$ – Ale..chenski Aug 23 '17 at 1:07
  • \$\begingroup\$ You haven't shown peripheral connections (like USB, etc) connected to PI...if these are powered while PI is un-powered, you can run into CMOS latch-up problems. Ensure that all peripherals power up and power down at the same time. \$\endgroup\$ – glen_geek Aug 23 '17 at 2:01
  • \$\begingroup\$ Is the DC/DC converter a simple buck regulator or is it fully isolated? Place a protection diode across the motor. Is the diode in you sch across the coil or the contacts? \$\endgroup\$ – AnalogKid Aug 23 '17 at 3:39
  • 1
    \$\begingroup\$ Please show pictures of your setup. There is most likely some coupling happening somewhere. Is the battery "-" connected to the chassis? How are the USB devices grounded? Is any conductive part of your rPi+devices system (cables, enclosures, etc, anything) making contact with the chassis, or running near the high current wires? I suspect there is a connection somewhere that is not shown on your schematic. \$\endgroup\$ – peufeu Aug 23 '17 at 14:21
  • 1
    \$\begingroup\$ Also the buck converter looks a bit like cheap junk... \$\endgroup\$ – peufeu Aug 23 '17 at 14:22

Suppose the relay interrupts the motor current, 20 amperes, in 20 nanoseconds.

Suppose there is a wire running from the relay to the motor controller, and that wire couples into the RPi regulated power; the wiring between regulator and RPI forms a loop with VDD and RTN. <- EDIT


simulate this circuit – Schematic created using CircuitLab

Suppose the distance from wire to loop is 1cm. Suppose the loop area is 1cm by 10cm (4"). What voltage is induced, on top of the regulated RPi VDD?

$$Vinduce = [MU0 * MUr * Area/(2 * pi * Distance)] / dI/dT$$

What is the induced voltage? anything higher than 1 volt transient is bad news. Now insert value for MU0 of 4 * pi * 1e-7

Vinduce = 2e-7 * area/distance * dI/dT

Vinduce = 2e-7 * 1cm*10cm/1cm * 1amp/nanosecond

Vinduce = 2e-7 * 10cm * 10^+9 amp/second = 2e-7 * 0.1 * 1e+9

Vinduce = 2e+1 = 20 volts induced

To avoid this (e.g. reduce the induced voltage from 20 volts to 0.2 volts),

(1) keep the MCU PCB a meter away from the high-current fast-off motor wires (hot and return wires).

(2) place a steel plate adjacent to the MCU PCB, insulated to prevent shorts; have the plate be larger than the MCU PCB

(3) insert a PI filter (C-L-C) at the MCU PCB, as shown


simulate this circuit

The one Ohm across inductor is for dampening. Rdampen = sqrt(L/C) =sqrt(1mh/0.1mF) = sqrt(100 = 3.16 ohms ideal. The 1 ohm is over dampening.

  • \$\begingroup\$ I'm still not clear on why extra voltage is induced here at all. What do you mean by 'a loop with VDD and RTN'? I think I need some more background on where the loop is and why it is inducing extra voltage. How would you recommend this gets fixed? \$\endgroup\$ – bosst Aug 23 '17 at 6:43
  • \$\begingroup\$ thanks for the recommendations. So I'm guessing the 24V loop running from the battery to the DC-DC should also be kept away from the current switching wires or is that unecessary since they run at the thesame voltage? \$\endgroup\$ – bosst Aug 26 '17 at 5:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.