Electronic – Incorrect operation of the Allegro A3941 driver

dc motordriverfull-bridgeh-bridge

I use the Allegro A3941 driver in these modes:

At very low duty cycle (<10%)PWM motor consumes 0.05 A and produces a squeak. If you increase the PWM duty cycle of the PWM to 10% the squeak disappears the motor to spin at the same speed and consumes a current of 0.01 A. The PWM frequency is 84 kHz.

My circuit:

enter image description here

My PCB:

enter image description here

Sometimes the driver burns out for no apparent reason.

Where could I have made a mistake that causes the driver to burn out?

I do not understand this, because I believe that all the large current flows through the transistors, not through the driver. And, what causes the squeak?

Best Answer

I think your A3941 drivers keep burning out because you are using a power supply instead of a battery.

The FETs you are using have diodes to catch the voltage spikes from switching the motor on and off.

These diodes short the spikes to the power rail (12V.)

If that were a battery, then it would absord the spikes and all is good.

Many powersupplies can't do that. The spike hits, and the voltage on the rail jumps. Most of the time, it jumps a little and your driver gets to go on living. Sometimes it jumps a lot, and exceeds the input voltage limts of the A3941.

You can check it out by attaching a scope to the 12V while the controller is running. Watch for spikes, or even just excessive noise on the 12V rail.


Given that your driver is operating at 84kHz, I don't know why you would hear an audible squeal from the motor at low speed.

Maybe someone else can explain that.