I have a TB6612FNG motor driver module. Here is the manual of the module: http://www.nex-robotics.com/images/downloads/tb66fng%20dc%20motor%20driver%20module.pdf

I am trying to control one DC motor (toy DC motor) via Arduino. When I try to run this setup using a 9V battery the motor runs as expected (albeit really slow). But when I change the power supply to a 9V DC 1A AC-DC adapter the motor controller IC gets super hot. When I check the current from the adapter to the circuit, it shows 1.5A, and the voltage across the supply is 4.5 V. The motor runs for a second or two, then it stops. I guess it is because the supplied voltage dropped below the Arduinos operating voltage.

So, my questions are:

  1. Why does the IC become hot when powered by the adapter? (I guess I burnt one chip already. Shouldn't there be a thermal shutdown?)

  2. Why does the voltage drop? I guess probably because the adapter is unregulated, but I am not sure. Do I need to get a different adapter? If yes, what should be the specs? (When I bought this adapter, I did not know about regulated vs. unregulated. The Arduino website suggested 9V 1A, so I got that.)

  3. How can I avoid overheating of the IC when running with an adapter?

FYI: I am a hobbyist and a newbie in electronics. Please feel free to suggest alternatives and point out the mistakes. I need to control 4 DC motors.


Sorry for inadequate details.

The motor specs are as follows:

RPM: 60 at 12V
Voltage: from 2V to 12V

enter image description here

The voltage applied to pin 13 is 5V, from the Arduino 5V pin. There is no load/torque applied to the motor.

See the product page: http://www.nex-robotics.com/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=535&category_id=84&option=com_virtuemart&Itemid=45

  • \$\begingroup\$ Please include the details of the motor you want to drive. Maybe it is just too big for this controller. \$\endgroup\$ – Szymon Bęczkowski Sep 28 '13 at 14:52
  • \$\begingroup\$ What voltage are you applying to Pin 13? \$\endgroup\$ – Li-aung Yip Sep 28 '13 at 15:21
  • \$\begingroup\$ @SzymonBęczkowski updated \$\endgroup\$ – Nishant Sep 28 '13 at 16:16
  • \$\begingroup\$ @Li-aungYip updated \$\endgroup\$ – Nishant Sep 28 '13 at 16:16
  • \$\begingroup\$ You should not be powering a motor from the arduino's 5v regulator. \$\endgroup\$ – Chris Stratton Sep 28 '13 at 19:57

A lot of insight into problems of this sort can be gained from studying the datasheet carefully. A good datasheet will provide clear specifications, examples, etc from which to work from.

In the case of the TB6612FNG, the datasheet is not the best, but gives us the most important details. On the first page these two tables are presented:

enter image description here

We can see there are two similar tables, one for Absolute Maximum Ratings and one for Operating Range. AMR's are there to tell you what you must not exceed under any circumstances, not to use for your design - the normal operating figures are to be consulted for this purpose.

In the case of the current, even the AMR table gives a figure of 1.2A continuous (notice the other figures are for pulsed operation) and the normal operating figure is just 1A. This means 1.5A is almost guaranteed to cause problems with dissipation - o this note the figure of ~0.9W for a mounted chip should be noted.

As others have also mentioned, my guess is that there is a problem with your connections/wiring, since the motor does not need anywhere near 1.5A when unloaded. The adapter is dropping under load since it's only rated for 1A, but the problem is not the adapter, rather why the circuit is drawing 1.5A - I would check all connections carefully for shorts/miswiring.

Finally, at the end of the datasheet it says there is a thermal cutout, but it's not guaranteed to save the IC from damage.

  • \$\begingroup\$ Thanks for the guidance. You helped me start focusing on something other than adapter. Plus the explanation is great. I could get motor running from the IC when I yanks the old connections and reconnected it. What was bizarre that the old connection was working with batteries. \$\endgroup\$ – Nishant Sep 29 '13 at 10:51

Why does IC gets heated up with the adapter? (I guess I burnt one chip already. Shouldn't there be a thermal shutdown?)

It probably is because that motor driver can provide a max current of 1A and your motor is demanding more than that.Which is probably the reason the driver would stop working. How much current does your motor take in when powered by the 9V Battery?

How can I avoid burning of the IC when running with an adapter?

Try putting in a 1A Fuse, i think that should prevent the IC from blowing up.

  • \$\begingroup\$ A fuse may not protect the chip (the TB6612FNG data sheet claims thermal overload protection anyway), and it's not a solution which would make it operational. Pulse width modulating the drive or enable might work, with the overload protection (or yes, fuse) as backup should the software accidentally command to high a duty cycle. It may be that the actual problem is with miswiring, as the data sheet implies that the motor shouldn't be drawing too much power for this driver anyway. \$\endgroup\$ – Chris Stratton Sep 28 '13 at 20:22

If the Motor demands more than 1A design limit, it will fail.

Motor current depends on coil resistance, applied load or torque, and a few other factors in your missing system details. If you dont have these , supply links to motor and photos.

Unfortunately, this layout + driver cannot meet the power dissipation of your motor.

enter image description here

  • \$\begingroup\$ Surprisingly it works, though very slowly with 9V battery. Updated the question. \$\endgroup\$ – Nishant Sep 28 '13 at 16:17
  • \$\begingroup\$ A 9v battery may not be able to supply enough current to overheat the driver or trip any protection it may have. \$\endgroup\$ – Chris Stratton Sep 28 '13 at 19:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.