Current transient affecting the processor

Hello All,

Using an UNO SMD R3 with a Seeed proto shield and Pololu 24V23 H-bridge DC motor driver (24V@23A) to drive a 24V 30A motor/gear box combo. Using the serial comm. link to pass parameters from the PC to the Uno and back. When commanded to move the motor current builds to about 2.5 - 3 amps before serial communication breaks down (garbage on the Serial Monitor) and processor execution becomes erratic (or at least am assuming because 10 amp DC power supply goes into an over current condition). (10 Amp supply just for initial testing, 50 Amp supply will be used eventually.) Identical setup worked with a smaller motor, i.e, higher winding resistance, less current drawn.

Added additional decoupling (2200uF) right at the driver power terminals and an extra 100uF for the 5V on the proto board. Also tried a ground strap between the Uno ground and the driver board ground. Can't opto-isolate because I need the analog current feedback from the driver board. Working without a scope for now but will get one shortly.

Any thoughts?

Thanks :slight_smile:

The grounds should be connected for reliable coms. It sounds like the 10A supply can't handle running a 30A motor. How are you measuring current? With PWM current doesn't build gradually. Maybe average current but there will be large current draws during the PWM on time , the power supply needs to be able to handle stall current briefly even if it's run at a low load. A better power supply or battery more suited to the motor would probably make a big difference. It's hard to make a guess without more details. pictures, schematics etc.

Current does build gradually with PWM, a 30A motor is a large inductive load,
its voltage that changes rapidly, however the current path is switched rapidly meaning that
the route the current takes does change rapidly and causes interference. This path change should be
entirely within the H-bridge

You need to keep the high voltage stuff well away from the Arduino, ensure you have star-grounding,
and use shielded cable for serial and other signalling, and a metal box to house the Arduino and/or motor
driver would be a good idea.

Thanks Guys. I do have a star ground topology and all communication cables are shielded. Have isolated the high voltages as much as possible, high voltage is wired to one end of the driver board while logic voltage is on the other side of the driver boards.

The 10A supply is only for initial testing. Current only reaches about 2.5 amps before communication is lost. Current reading was verified with a DVM. Motor inductance will low pass filter the current during H-bridge switching. Getting a scope to verify stall current level at initial turn on.

Going to try twisting the motor leads to aid in shielding if it's some kind of EMI issue.

Again thanks guys.

MarkT:
Current does build gradually with PWM, a 30A motor is a large inductive load,
its voltage that changes rapidly, however the current path is switched rapidly meaning that
the route the current takes does change rapidly and causes interference.

Interesting , I had always assumed that there was a current ripple at the same frequency as the PWM. More pronounced at lower PWM frequencies.

alka:
Interesting , I had always assumed that there was a current ripple at the same frequency as the PWM. More pronounced at lower PWM frequencies.

You are right - but with big inductances its a small ripple, and its a triangular wave so dI/dt doesn't have
large spikes in it like dV/dt has. However even a small ripple on a large current can be a problem for
inducing voltages in low voltage circuits, and no circuit is ideal, noise spikes are generated in switching
circuits.