0
\$\begingroup\$

I have built a 12v rover - designed to be fully autonomous with a 12v deep cell marine battery as its only power source.

It uses the following components:

1. [Raspberry Pi3 through a power converter][1]
2. [Sainsmart 16 Channel Relay Board connected to the PI to control motors.][1]
3. [LED Monitor (Draws 2A at 12V)][1]
4. Four 60 Watt Hobby Motors

It works great. I can write the code and drive it around the yard.

However - when the motors are engaged, the LED Monitor shuts off and comes back on again - as if it lost power. The PI seems to be unaffected and everything works fine - except for the momentary rebooting of the monitor.

A voltage meter shows 12.5 at the battery - drops to 11.9 when the motors are engaged, and stays at 11.9 until the motors stop and then goes back to 12.5.

My guess is that when the motors are engaged, it draws a large amount of current, more than the battery can provide, and causes the monitor to reboot. My guess is that this is not good for the components long term.

My question is - can I somehow isolate the motors from the circuit, even though they use the same power supply - so that the momentary start-up draw does not affect the rest of the components? What is the proper way to wire such a circuit?

\$\endgroup\$
2
\$\begingroup\$

No way.

Marine batteries are ginormous and are not going to be "laid low" by four 60w (5A) motors starting up. That's 20A nameplate, and even if it surged at 10x, or 200A, that's still a fraction of their cranking amps. A marine battery is only going to dip a volt or so.

The problem is your wires. I bet you have a pair of wires coming from the battery which then come to a junction where they split to Raspberry Pi, LED board and relay board (which I gather powers the motors). That pair of wires is not near thick enough for the jobs (and that may be saving you).

Try doing a separate "home run" for each, back to the battery terminals proper.

So the battery terminals will now have 3 wires each, one for the Pi, one for the LED and one for the relay board. Given the amperage of the Pi and LED, #18-20 should suffice.

If testing proves this out, I would combine the Pi and LED board into a single homerun, so you now have 2 homeruns.


Also as a sanity check here, make sure you are never gating on both relays on a side at the same time, as this will effectively short the battery through the relay board. And remember relays have a throw time: don't turn off forward and instantly turn on reverse relay, if the reverse relays make faster than the forward relays break, that's a dead short.

If that were to happen, it would cause a lot of voltage drop on the (I presume) small supply wires from the battery to the relay board. That would explain the Pi and LED being browned out.

But before you upsize the relay board feed wires, consider - the small wire may be saving your relay board and motors, by creating a lot of voltage drop during a short condition, and that current limiting would be saving parts.

I have a 3' interconnect inside a panel going to a generator rated for 35A, but has a system flaw where it can overload massively. The last guy tried to assure the #12 wires don't fail again by upsizing to #6. (60A in buildings, like 100A in chassis). I found melted wire insulation oozed into the strands, so it clearly overloaded 200A+ before blowing the generator. All he did was move the failure point from the $1 wire to the $8000 generator. Don't be that guy.

\$\endgroup\$
  • \$\begingroup\$ Yes!! I re-wired it this weekend, and also took your advice about combining the PI and LED monitor into a seperate Home run. Thanks!! \$\endgroup\$ – rgrutko Jan 8 '18 at 20:03
2
\$\begingroup\$

If it's only the motor starting current that's the problem, then it's possible to use a diode/capacitor (preferably a schottky diode for low drop) in the feed to more sensitive components to 'ride out' the brief dip. Calculate the size of the capacitor to power your sensitive loads for the duration of the dip.

If however the motor run current is also too large, then you will need to precede your sensitive components with a boost converter that will work down to the minimum voltage delivered.

It may be as cheap to use a diode + second small battery (think of the battery as a very large capacitor indeed) to power your sensitive stuff while the main battery is dealing with the motor.

\$\endgroup\$
1
\$\begingroup\$

Yes, the inrush current to your motors are dropping the input voltage to your components. The Pi survives because it is isolated via a voltage regulator or buck converter, so the dip on the 12 V line doesn't cause the Pi VCC to drop out of acceptable range.

My suggestion would be to run a DC-DC converter to isolate your sensitive components, so they see a clean 12 V, even when your motors start up. Something like this:

schematic

simulate this circuit – Schematic created using CircuitLab

There are lots of options available and cheap on eBay, which would probably suit your needs considering this seems like a hobby project, not for production.

\$\endgroup\$
0
\$\begingroup\$

You did not state if the display comes back on before the motors shut off, but assuming that's a yes, inrush current is the likely cause.

The extra regulator mentioned by others is one solution that probably gives you the best solution in the long term.

Another would be simply to separate the supply a little to the digital things through a suitable diode and add sufficient capacitance to allow the digital 12Vs to stay up long enough to cover the motor start-up time.

Another alternative is to add current limiting to the motor drivers.

Depending on how you control these motors with the micro, this may be something you can as part of the software in Pi. That is, ramp the motors up more gently over a short period rather than stomping on the gas.

A hardware current limiter, or at least current feedback to the micro, would however be prudent to take care of situations where the thing gets into a state where a motor is stalled.

\$\endgroup\$

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.