VNH5019 Motor Driver Faulting Frequently and Randomly

I am using a VHH5019 to drive a Transmotec 12V DC motor. (4.3A nominal, 22.5A starting)

The motor power-supply is an enclosed 12V unit rated at 8.5A. The logic side VDD comes from a Raspberry Pi, at 3.3V. +3.3V to INA, GND to INB, Raspberry Pi 3.3V PWM on PWM.

I’m accelerating smoothly by ramping up the PWM, and there is no load on the motor.

I’m getting fault conditions, seemingly at random. They occur more often at slightly higher RPMs (at 5,000 RPM, I almost always get one within 2 minutes, whereas at 2,500, sometimes it never faults… though sometimes it faults in 10 seconds.) DIAGA goes to 122.6mV, DIAGB stays high at 3.3V.

According to the CS line, (double-checked with a Kill-a-watt) it’s drawing less than 1 Amp while at speed. The chip never exceeds about 55 degrees C, as measured with a thermal imaging camera, and frequently the fault condition happens when it’s as cool as 32 - 35C. (It has never been too hot to comfortably hold my finger on the chip.)

If I clear the fault by toggling INA and INB with PWM at 0, it immediately springs back to life.

I have two of these driver boards, and they both exhibit the same problem, which makes the odds of a faulty board pretty tiny… it must be a configuration issue.

I tried putting a heat sink on the chip just in case, and it seems to have made the problem worse. That’s probably random variation, but it definitely did not help.

Where to go from here? Any suggestions?

Hello.

Can you post pictures that show your connections? Do you have an oscilloscope you could use to look for voltage spikes on the supply (you might set a falling edge trigger on DIAGA)? That power supply seems a little underpowered for your motor; do you have another power supply or a set of batteries you could try?

-Nathan

Hi Nathan, thanks for your reply.

I may have figured it out. There seems to be a problem with one of my motors. I swapped it out for another motor of the identical model, and the problem is entirely gone. Lesson learned: DC motors can be faulty, even fairly nice, expensive ones!

I’ve already done more testing / tinkering and typed up the following response, so I’ll post this all anyway, but I currently believe that all of the below is moot.

An image of the power connections:

The logic connections are difficult to show, because the driver is in a very densely populated electronics area obscured by many wires that are hard to clear out of the way. What I can say is that the PWM and ENA/ENB pins come directly from the Raspberry Pi (at 3.3V). VDD and GND come from the Raspberry Pi as well. 3.3V supply from the Pi is also connected to 2x logic level converters, and an ADC (ads1115). GND is common across 3.3 and 5V, and also goes to a few other devices. The CS pin from the VNH5019 goes to the ADC. I’m using Molex C-Grid III .100 TIN connectors to connect the Pi’s lines to the VNH5019.

I swapped out the power supply for a 550W PC power supply; same problem after about 2 minutes. A thermal image of the moment it died:

Unfortunately, I do not have an oscilloscope to monitor the power lines.

I did some more speed testing (still using the 550W PC power supply), and it continues to exhibit the same pattern, but I can’t deduce why: [edit: seems to be solved… see above]

  • After letting everything sit overnight, I can run it reliably at 2,500 RPM for 5 minutes. (I have not let it run continuously to see how long it will go for at 2,500 RPM.)
  • If I bump it up to anywhere between 3,500 - 5,000 RPM, it faults within a couple of minutes. The higher the RPM, the faster it faults, typically.
  • Letting it cool back to room temperature, clearing the fault by pulling ENA/ENB low while PWM is at 0, re-start it at any RPM 2,500 - 5,000, and it faults almost immediately… within 2-10 seconds, typically. [Edit - I wonder if heat in the faulty motor was somehow related. I was waiting for the driver chip to return to room-temperature, not the motor.]

I am glad to hear you found the problem. One of the conditions that throws a fault on the driver is a short on the output. It seems possible the malfunctioning motor is shorting internally when it gets hot.

-Nathan

Just a final note for this thread… that must have been the issue. Many more tests later, it hasn’t ever faulted with the new motor, and quickly re-faults if I put the old motor back in.

sigh 2 days of my life lost to a bad DC motor. :laughing:

2 Likes