Motors overheating with DRV8835

Hello,

We have a problem with the DC motor driver DRV8835 that we have soldered to the black PCB attached below. Prior to this driver, we were using L293D h-bridges to run these DC motors and never experienced an issue. We changed the drivers from L293D to DRV8835 and the motors not only overheated but also drew twice as much current. With the old board (green PCB attached below) four motors (not loaded) were drawing ~0.2A and with the new one (black PCB) it is drawing ~0.5A. We never had this issue with the old PCB and L293D drivers. We are using ESP32s microcontroller and the schematic of the new board is given below.

Before designing the PCB we set up a circuit on a breadboard (setup given below) and everything was working fine. The motors got slightly warmer with DRV8835 on the breadboard but they were running at the same speeds comparing with L293D. Are there any suggestions to this problem that we can try implementing? We are working on robotics but we don’t come from an electronics background so any suggestions are appreciated.

Thanks!

You made a good choice but that heating is expected, if you look at the voltage applied at the motor terminals it will become obvious. Since the new driver uses MOSFETs as the internal output power devices you no longer have the voltage drop across the driver. You will now have more torque. The simplest solution is to lower the voltage to the motors. This response is to help you get started in solving your problem, not solve it for you.
Good Luck & Have Fun!
Gil

This has been posted on the Pololu forum as well, where it was claimed that the motor power supply is 5V. Since the motors are rated for 6V and are not loaded, the driver cannot possibly make them overheat.

From the motor product page:

Key specs at 6 V: 500 RPM and 45 mA free-run, 8 oz-in (0.6 kg-cm) and 400 mA stall.

This indicates a winding resistance of 15 Ohms, so the motors cannot possibly draw 0.5 A (as claimed) from a 5V power supply, even if they are stalled.

Something is very wrong with the circuitry. It seems likely that the motor power supply voltage is much higher than claimed, at least 8V.

If your motor supply voltage is 5V (schematic gives that number as well), your motors will indeed see about double the voltage with the DRV8835 than with the L293D, as the latter drops some 3V over its transistors. That would in turn give double the current in the coils of the motor.

If you're indeed using 5V for motor power, and those motors are rated 5-6V, and they're freely running, they should still not overheat. If loaded down seriously, or if the actual supply voltage is higher than 5V, they may of course very well overheat as a result of the extra voltage.

I'd definitely add some bulk decoupling to the motor supply on that board, 220uF or thereabouts. Motor power supplies need good bulk decoupling to keep the spikes and noise at bay. Those breakout board only have ceramic caps on them.

The breadboard circuit would have added extra contact resistance between supply and motors leading to lower currents flowing, which might account for the difference between PCB and breadboard - basically try not to run high current through a breadboard, and don't expect breadboard hookup wire to carry much current unless its single strand 0.6mm copper.