# Calculating resistance for driving motors off Arduino

I'm planning on driving two motors off an Arduino. Here are the two motors I'm using, requiring 3VDC and 350mA. It was recommended I use this H-Bridge to control the two of them, capable of driving 4.5V-36V at 1 amp.

Considering the power output from the H-bridge is substantially higher than required by the motors, I'm assuming I'll need some resistors in the sequence

Arduino >> H-Bridge >> Resistor >> Motor


I used Ohms's law to calculate I'll need one $\dfrac{V}{I} = \dfrac{3 V}{0.35 mA} = 9 \Omega$ 1 watt resistor in conjunction with the power in on each of the motors.

Is this right? I'm a software engineer so I'm not very knowledgeable in this area.

• Using a series resistor is not impossible, but not recommended. Can't you use motors designed for the same volatage as your main supply (batteries?) Jun 9, 2015 at 13:14
• What is your main power supply voltage and what current can it supply? Jun 9, 2015 at 13:16
• Voltage ratings on motors are nominal anyway - what matters more is the total power delivered. Jun 9, 2015 at 13:43
• @Andyaka it's an Arduino Uno, so my main power supply voltage would be 5V. Since I'm powering it off of USB, I think I can rely on ~450mA (after powering the Uno) for powering the two motors as well as two small servos (the servos don't have to be powered at the same time as the motors if need be). Jun 9, 2015 at 13:49
• @trjast powering it from USB isn't going to work even if the motors ONLY took 350mA - there are two of them and that means 700mA - see my answer. Jun 9, 2015 at 13:54

I don't know where the 350mA comes from but the motors can take over 1 amp on load: -

Specifications

voltage:
operating range: 1.5-3V
nominal: 3V
speed: 12511rpm
current: 0.29A
at max. efficiency:
speed: 10012rpm
current: 1.16A
torque: 15.7gcm
output: 1.61W
eff.: 42.36%
stall torque: 78.4gcm


On no-load the supplier states 290 mA but at max efficiency (somewhere about full load) the current is 1.16 amps.

This rules out using the SN754410. From a 5V motor supply, it will produce about 2V for the motor (due to gross inefficiencies in the transistor output stages) and, it will get too hot too quickly and fry. Any higher supply voltage and the device fries more quickly.

If you look at the full data sheet on page 4 you'll see that the absolute maximum power that is permissible to dissipate from the SN754410 is 2.075 watts. Given that the motor can take 1.16 A at or near full-load and the volt drops in the chip will be somewhere about 3V, the power dissipation will be nearly 3.5 watts just for one motor.

Note also other areas of the motor spec: The current of 1.16 A is at a torque of 15.7 gcm whereas the stall torque is 78.4 gcm - this means that if the motor stalled it is likely to demand a current of over 5 amps.

Here is a related question on the SN754410 that shows where on the data sheet the internal volt-drops come from. There are also recommendations for alternatives BUT you do need to state/know your motor supply voltage.

• This is extremely helpful, thank you! Let's say I went a different route than the SN754410 and went with this instead. Based on the datasheet: Specifications for the Dual TB6612FNG (1A) Logic Supply: 2.7-5.5V Motor Supply: 4.5-13.5V Output Current (Motor Supply >= 5V): 1.0A max Output Current (5V > Motor Supply >= 4.5V): 0.4A max Does this mean since my motor can handle 1.16A, if my motor supply was a 9V battery I would be okay? Jun 9, 2015 at 15:13
• @trjast that device looks underpowered too. Think about what stall current means (about 5A is my estimate) - this is the current taken when the motor starts turning. Any of the devices in my link are worth considering and it's unfortunate if they are not available on a little PCB. Your supply for this motor (2 of) can be current limited to somewhat less than 5A per motor BUT the bottom line is a 3V3 supply capable of supplying at least 2.5 amps and possibly current limited to 4A. Higher voltages don't help, lower currents don't help OR change the motors. Jun 9, 2015 at 16:30

Power is not a problem, since the H-bridge won't force the motors to actually use all that it is capable of putting out. It can put out up to 1 Ampere of current, but the motor doesn't have to draw that much.

What might be a problem is that the H-Bridge can only work with a power supply starting at 4.5Volts for the motors. However, if you look at the specs, you will see that it only delivers about 3Volts of the 4.5 to the motor - so, you are good to go if you can provide 4.5Volts to the VCC2 input (pin 8) of that chip. If you use 5Volts, you will probably be OK.

Use the H-Bridge as is, no additional resistors in series with the motors. Provide 5V (or better, 4.5) to Pin 8 from a supply that can deliver enough current for two motors. Avoid powering the H-Bridge from the same supply as your Arduino, or provide plenty of bypassing (capacitors on the 5Volt supply to the Arduino) to filter out the noise.

I see Andy aka checked the specs on the motors. Yikes! That is too much current for that H-Bridge, so don't use that one. Sparkfun also supplies chips that can handle upto 4A, as well as finished modules using those chips.

• Thank you. I did find a motor driver on sparkfun here but I'm worried I'm going to run into the same issue. Do you have any suggestions on other chips or modules? Jun 9, 2015 at 15:30
• That looks to be much more in line with what you need. It is rated for 1Amp, and can live with peaks up to 3.2A. It will also shutdown rather than burnout if you over load it.
– JRE
Jun 9, 2015 at 15:42