I'm using the chip (https://www.pololu.com/product/713) to control two 12v motors and so far I've burned two chips.
What is frustrating is that they didn't burn while running the motors. After keeping the robot lying around for a while, the motors didn't turn. I looked around and found that the motor driver IC had a small bump on it.
These chips are pretty expensive for me to replace so I want to solve this before going forward.
Your motor supply is missing from the photo of the circuit - that would easily burn out the driver,
Vmot must be present before enabling the output drivers. Powering just from the logic supply
is not something any motor controller is designed for.
Since the chip is rated 13.5V absolute max, I wouldn't use it higher than 10V or so if possible, you
want a reasonable voltage margin for reliable operation.
I don't power the driver from the logic. I have a power supply (12V, 5A) for power.
I just removed the circuit from my robot for taking the photo. Sorry about that.
I see three gnd pins on the motor controller and not one of them is connected to the Nano gnd?
Infact gnd of the Nano is conncted to Vcc of the motor controller from what I can see..
First off, I want to thank you guys for your responses but I think I need to clarify my situation.
I want to point out that I had a functioning circuit (i.e. my motors turned as I wanted, althought I couldn't get the code to balance it), hence this is not a problem with my circiut. However I had to shelve my project twice wherein I disassembled the robot to store it safely and after reassembling it, the chip was broken.
As for the wrong circuit, I just slapped together the circiut for the purpose of illustration and didn't see the mistake. Sorry :( . As seen in the image, the chip is definitely dead (and wouldn't work even on the correct circiut).
I want to know what is the cause of the chip getting bloated the way it did and how to avoid it.
The exact same thing has happened to me. My intention was to write a post and ask for advice on how to avoid this when I've found this thread. Seems like I'm not the only one with this problem. I had a perfectly working setup and successfully conducted a few motor tests. I use two Pololu 298:1 12V metal gear motors with a Pololu TB6612FNG breakout board and I power the system using a PDB (this one from Diatone (https://www.banggood.com/Diatone-V8-3-LC-Filter-Power-PDB-Board-HUB-Low-Ripple-Current-Series-For-RC-Multirotors-p-1052002.html)). Arduino and TB6612FNG are fed from the 5V BEC and motors from 12V (through the motor driver's motor pins VMOT, obviously). I've purchased the motors and the driver from robotshop.com (http://robotshop.com).
So I had this setup working fine and I was carrying it around in a plastic box. One day I wanted to install it on my robot when I discovered it's not driving the motors anymore. I double and triple checked the wiring, the solder joints and the Arduino code as well and tested pin outputs using my DMM. I've found that A01/A01/B01/B02 do not output anything and a bump has appeared on the chip. What could have happened to it and how to avoid this?
Here's a gallery showing my setup (https://photos.app.goo.gl/7GGWWdGEQq5RSm3N7)
This might help, it gives a power down and power up procedure.
Thank you, Tom! It makes sense! Although I can't seem to recall reading about this startup/shutdown sequence in any tutorial or guide about using this chip with Arduino. Probably I didn't pay attention... So it seems I need to add an electronic switch somehow which is toggled by VCC power and supply power to VM only when it's turned on. Got any tips on how this is achieved usually? Or is it enough to just keep STBY low before powering the motors?