DC Motor Power Issues

hey,

I have these motors:

Dual Motor GearBox Dual Motor GearBox - ROB-00319 - SparkFun Electronics

and this driver chip:

Motor Driver 1A Dual TB6612FNG SparkFun Motor Driver - Dual TB6612FNG (1A) - ROB-14451 - SparkFun Electronics

hooked up to an arduino uno.

When powered by the laptop via USB all seems to work, even though the motors are rated at a much higher current draw than the 500mA USB can provide.

When using a 2250mA, 3-12V DC power supply though, no luck (at any voltage setting). the motors move weakly for a split second every 1-2 seconds and the arduino LED on pin 13 lights up at the same time.

amazingly, when powering the board with the very same power supply but using a USB plug, it works again.

Any ideas on what's going on?

You need to provide a diagram of how you have the power hooked to the motor driver and Arduino.

see attachment for wiring.

power sources I tried:
Laptop → Arduino USB Port: works
DC Power Supply w/ USB Plug Adapter → Arduino USB Port: works
DC Power Supply → Arduino DC Jack: doesn’t work

Why do you have the motor supply (VM) going to Vin on the Arduino? That doesn't make sense. The VM pin should be hooked up to the positive supply rail of the power supply driving your motors. DO NOT hook it up to the Arduino 5V pin. Vcc to the 5V pin is probably ok, though it may or may not be pushing the regulator on the Arduino.

I can't read the Toshiba PDF datasheet for the chip on my Ubuntu reader (most of the tables are blank - must be the version of PDF they used or something), but somewhere it should say how much current the chip draws on Vcc; you may want a separate 5V regulated supply for it, instead of taxing the regulator on the Arduino.

So - to recap:

  1. Hook all grounds together
  2. Possibly use a separate 5V regulated supply for the Sparkfun driver board (to Vcc)
  3. Supply VM with a separate higher current supply (like the one you have, or some batteries)
  4. Don't supply more than about 7 volts or so to the motors

Regarding item 4: The small hobby motors used in the gearbox can be somewhat "overdriven" by 10-15% without much damage - you may shorten their life a bit. What you may want to do is stick with 6 volts only until you get things really working, then once you have it working well, measure the voltage output of the chip at max PWM; you may find (see the chip datasheet, once again) that there may be a slight voltage drop from the input motor power supply to the output for the motors. If this is the case, increase the input supply until the output matches what the maximum the motors are spec'd at (or a little more), in this case, 6 volts.

Thank you for your answer, cr0sh

Why do you have the motor supply (VM) going to Vin on the Arduino?

I thought by using Vin I could drive the whole setup with a single power supply. Vin would supply, say 7 Volts from the Power Supply or batteries, for driving the motors, and the +5 Pin a regulated-down 5 Volts for the Driver Vcc and some LEDs, Sensors that I have hooked up as well. Is that possible at all?
The thing is, all should be as compact and mobile as possible. Is going to be a small autonomously moving robot-like contraption. (See attached picture)
And why does it work over the USB Port’s power line?

anna.jpg

You're using the Uno's "Vin" pin as a "Vout"? I don't know how Vin is connected electrically, but it doesn't seem safe to assume that it's a direct connection to either the USB supply, or the coax socket. The USB supply ought to be providing a regulated 5V. Does your USB lead have some sort of regulator built in?

martin_leopold:
Thank you for your answer, cr0sh

Why do you have the motor supply (VM) going to Vin on the Arduino?

I thought by using Vin I could drive the whole setup with a single power supply. Vin would supply, say 7 Volts from the Power Supply or batteries, for driving the motors, and the +5 Pin a regulated-down 5 Volts for the Driver Vcc and some LEDs, Sensors that I have hooked up as well. Is that possible at all?
The thing is, all should be as compact and mobile as possible. Is going to be a small autonomously moving robot-like contraption. (See attached picture)
And why does it work over the USB Port's power line?

I suspect the issue has to do with a couple of things:

  1. Vin and the USB are connected in such a way for auto-switchover of one or the other (I believe USB might have precedence - I'm not sure). See the schematic here: http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

  2. If you are trying to drive the motors off of 7 volts, while using Vin as a "Vout" - the motors are probably taking the current, leaving little for the Arduino's 5V regulator (which isn't a low-dropout device - it needs at least 7 volts to work) - things just don't work right.

Skip trying to use Vin - it is the wrong solution. If you must use a single supply, and you have to keep it around 6-7 volts, then you might have to look into building your own "standalone" Arduino, and using a low-dropout regulator for the 5 volts, or a switching regulator - so that you can run it from 6-7 volts (you might look into using a hobby R/C BEC, using a 7.2 volt battery source for everything).

Another option might be to use a larger battery (something with the capacity for the motors, at around 9.6 volts) then using a seperate 6 volt regulator for the motors (not the best solution, mind you). Still another possibility would be to use a 6-cell AA battery pack, and tap off the fourth or fifth cell to provide the power to the motors, but use all 6 cells for the Arduino (via the Arduino's regulator).

Thanks again guys for your help. After tying together all the GNDs of the driver chip the setup works with a single power supply of 6x1.2V, 7200mAH, NiMH Recharchables.

So Vin may be used to access external power from the coax jack after all...?
To quote the Arduino UNO Hardware Reference:

VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.