The small robot I am building uses two DC motors rated at 3V input. However, my battery power supply provides 9V to the motor shield they are connected to. When I run the motors, they seem to start overheating so I think they are being supplied with too much voltage. I can’t use a lower voltage battery as the motor shield is also connected to an Arduino, which requires at least 7V to function properly. So I was wondering if there is something I can connect between the motor and the power pin on the motor shield to limit the voltage supply to 3V, like maybe a resistor or a potentiometer? Sorry if this is a very basic question, but I’m having trouble finding useful information. https://www.robotshop.com/forum/images/smilies/icon_smile.gif
Hi,
Running DC motors that have a nominal voltage of 3 V DC at 9 V DC is probable cause for overheating (and eventually damage to the motors, too).
Like for every other electronics where the voltage provided does not match the voltage required, the solution you are most likely looking for is called a voltage regulator.
There are a few things you have to consider when choosing a voltage or power regulator for a system:
]Voltage provided by power source/:m]
]Voltage required by device/:m]
]Voltage drop between source and device/:m]
]Current required by device/:m]
Lets go over those one by one:
- Voltage provided by power source
You mention using a battery as a power supply that provides 9 V DC. This is a fixed requirement and the one that drives everything else. The selected voltage regulator will have to support the input voltage your power source provides. Typically, most voltages regulators have an input range of voltages and as long as your source is in that range, it should be fine. It should also be noted that voltage regulators also need a difference (or voltage dropout) between the voltage of the source and the output. For example, many low cost/simpler voltage regulators (ex: RB-Sha-05) have a voltage dropout of ~2.0 V DC. This means the input voltage must be at least 2.0 V DC higher than the output voltage.
Since you are using motors, it is worth mentioning that if your 9 V DC battery is one of these
you may want to use something else as they perform poorly under high current demand; the voltage can drop quickly which is quite bad for digital electronics (such as the Arduino you are using) as it will cause reset/brownout and generally make the system inconsistent/unpredictable.
Instead, we’d recommend using one of these (or this and this) as AA batteries are much better suited for high current loads (such as DC motors!). If you need some AA batteries, we also offer some, such as RB-Ten-27.
-
Voltage required by device
Your DC motors require 3 V DC. Of course, they can work with a lower or higher voltage, but it is best to use them at the nominal voltage. For example, you could simply use a 3.3 V DC regulator and be done! You may also want to check out regulators for other voltages, depending on points 3 & 4. -
Voltage drop between source and device
If you are using any kind of other motor controller or h-bridge (which you should be, if you are controlling those motors with an Arduino board), there will be a voltage drop in this device that is typically setup between your DC motors and your microcontroller board (i.e.: an Arduino in your case). This voltage drop is typically found in the datasheet of your motor controller/h-bridge.
For example, if the motor controller causes a voltage drop of 1 V DC, then you would want to provide ~4 V DC so that the motors receive 3 V DC. It should be noted that voltage drop typically changes with the current used by the DC motor (or whatever else is being powered), so it is not a strictly straight forward calculation. As a rule of thumb, try to choose a regulated voltage level that best matches your typical case. As you probably already noticed by running your DC motors at 9 V DC (way above their nominal voltage), they heat up over time, so if most of the time is spent close to 3 V DC, you should be fine.
- Current required by device
Your DC motors will use some current. Typically, DC motors are rated for a “no-load” current; when nothing is connected to them at all and “stall current”; when the load is so large that the motor cannot turn at all. What you want to figure out is your typical current, which would depend on the load on the DC motors. The whole point is to find a regulator that not only provides the proper voltage for your setup (see points 1/2/3) but also can support the current required. As current requirements goes up, voltage regulators need larger, beefier components to maintain the desired voltage.
Lets assume yours DC motors will need less than 2 A of total continuous current. With this in mind, you may want to use something simple like the RB-Ite-175 or RB-Vel-162. They both can be setup to provide a chosen voltage output within a large range (from 3-35 V DC).
We hope this helps.
Sincerely,