L9110 IC goes up in smoke

Hi all,

I am using a single L9110 full bridge IC to drive a small DC motor in a project. It is driven by a ATMEGA 2560 on a custom PCB. It's dircetly connected to (Arduino) pins 7 & 8, without any other peripheral components. My problem is that sometimes something seems to be going wrong and the IC goes up in smoke immediately. I initially suspected that for some reason both pins go high at the same time which damages the IC. However the datasheet doesn't say anything about that not being allowed. (Just says that output will be low in this case) The current drawn by the motor is betwen 300 - 400mA, which shouldn't be a problem since the IC is rated for 800mA continuous.

Is there anything I am missing? Should I add any additional components to protect the IC? I saw that the L9110 breakout boards available have 1k pullup resistors on the inputs, though I don't understand why. Will using a PWM signal as input damage the IC? Or can someone recommend a better full bridge IC I could use instead? (Preferably in a SOT8 package)



From the datasheet

"each channel through 750 ~ 800mA of continuous current, peak current capability up to 1.5 ~2.0A"

What it the stall current of your motor. If a motor draws 300-400ma under no load it can draw many times that on startup.

When does the ic burn up? Immediately on power up or when the sketch starts?

You are right.. You should be able to have both inputs safely high or low. I have seen circuits that have pull-ups on both inputs on this ic so being high is not a problem.

Motor power supply voltage?? Is the motor supply decoupled? That chip can only tolerate 12V max,
and has unspecified switching speed (I wouldn't trust it for PWM at anything but low frequency).

thanks for the input! 300-400mA is not under no load, but the load of the application. No load current is 160mA as per specs. I don't know the stall current and cannot measure it unfortunately as the motor is already mounted in the project. I know that current will be higher when accelerating but was assuming ~10times no load current should be fine?

The supply voltage is 12V (regulated). Nothing else is powered by the 12V supply except the microcontroller.

Maybe you are right and the motor is too big for the IC. I am currently testing under limited current, if that fixes it I guess I have to use a smaller motor or an external driver module.



Hey Tillman,

I think this chip brakes in between each pwm pulse. It doesn't allow coasting between pulses. Whats happening when you apply pwm to one of the pins while the other is low is accelerating during the pwm on period and braking during pwm off. This will put quite a strain on the driver and very easily exceed its current limits. This type of pulse/brake control is probably only suitable for really small motors.

I am wrong a lot though. Just a guess.

If you are running a motor driver at 12V that has a maximum operating voltage of 12V, then its
easy to guess how you blew it up - noise on the rail took the supply above 12V and popped the chip.
If something has a maximum rating, you run well below that - note the datasheet quotes 6V as the
typical supply voltage - this a big hint. Power supplies usually have no means to prevent back EMFdriving the voltage higher that the nominal value, they can only
provide current to prevent it dropping below the nominal value.

Its easy to measure the motor stall current, I = V/R

Thanks so much for all the help! I guess I'll just use a external module to drive the motor and be done with it.