Let's Make Robots!

Now stuck with motors...

I am buying stuff from a local shop so that I can complete my projects. Unlike elsewhere, in this place, a motor is cheaper than servos. I have to buy from the motors on this page- http://www.thinnkware.com/index.php?route=product/category&path=39. One thing I'm stuck on is, my initial plan was to provide 4.8V to my board (ATMega 328PU+Motor Driver) by 4 600mAh rechargeable batteries (1.2V each). I'm gonna use a L293D as my motor driver (only one available here). Most of the motors there come under the stall current value of 600mA (max). However, most motors do want 9 to 12V  this(like one I wanted to buy). Now the problem is, the L293D's data sheet (actually, the SN754410 says so) that the maximum output voltage (absolute maximum readings) will be Vcc Supply (not logic)+3V. Since I give Vcc Supply 4.8V, at absolute maximum, I'll be able to get only 7.8V which is too less. What should I do? I have to buy from there as I have no other option.

One more question is that I wanted to run not 1 but 6 similar boards on batteries. Only one of them will be a motor driver. Rest will consume pretty low power. Can I use one set of batteries to power everything (like what'll happen if I connect 6 arduinos in parallel to a battery. Will 5V battery be able to power all 6 arduinos?).


Ohk. Looks like what I wanted to do is not possible. I'm switching down to 9V toy motors and I'm gonna connect the battery directly (9V one). 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Ro-Bot-X's picture

Here's the thing you must understand. You say you need to connect multiple Arduino in parallel on the same battery, which is the proper way to do it, but you ask if a voltage regulator will be enough or you need 4.8V batteries for this. To answer your question, you do not need to think how many microcontrollers you power up (they use little current), but you need to worry about the input-output devices they handle. Most of the active sensors need 5V to operate properly (from a voltage regulator) and except the distance sensors, they will need little power to work. The distance sensors will draw a large current when they need to take a measurement - this is what you need to make sure they will get, and besides a proper voltage regulator you also need large capacitors to avoid a voltage drop on the power line. Most of the output devices are power hungry, some of them need a higher voltage and current - motors, servos. Other output devices need somewhat middle range current - LEDs, displays, speaker.

Now, I saw in your store several voltage regulators, unfortunately not Low Drop, but they are cheap, so that's good. You may want to get a few of the 7805 regulators (1A max current) and use one for each microcontroller module that handles distance sensors or outputs that need large current. Choose a battery voltage that best suits your motors, in the 7.2V-9V range. Why not 12V? Because the voltage regulator will dissipate the difference of voltage times the current used as heat and will get very hot and it will drain your battery faster than necessary. 

Another thing to keep in mind is tie all the ground lines together! You can branch off the positive (after the power switch) and have one branch directly to the motors, one to the first v-reg, one to the second v-reg and so on. But all ground lines must go to the battery negative.

Ro-Bot-X's picture

You have 2 options:

1. Use a voltage regulator and only one power supply for everything: a 12V battery. In this case, feed the VCC2 pin with 12V and the VCC1 pin with 5V from the v-reg, as long with all logic supply voltage (Vcc).

2. Don't use a v-reg and use 2 batteries on your robot. A 4.8V battery for all logic supply, including the VCC1 pin, and a 12V battery for your motors, fed to the VCC2 pin only.

The h-bridge will drop that supply voltage (12V) with 1.4V when powering the motors at full speed, but it is safer to have that instead of using a higer voltage battery to compensate that voltage drop. Depending on your motors speed, you'll see that you might get away with a lower voltage battery instead of running the motors at half speed if the robot is too fast.

vishurockssrivastava's picture

...is that I'm not running 1 but 6 arduinos from the same batteries. That'll mean I give 5V regulated to all 6 arduinos from the same source. So as of now, option 1 is out of question.

I know option 2 suits me fine but problem with that is that I don't have a 12V supply and with batteries of 1500mAh costing 200INR for 2 (almost $4), its not an option to build one. 9V battery is cheap (and I have 2 functional ones) but it will be insufficient. 12V car batteries have high resistance and hence won't be able to provide the current (and my robot can't drag it around anyways). So, it looks like I'm out of options.

What I really wanted to do is- Give the motor a continuous supply of 9V through the 9V battery. Then, when I want the motor to run, I give it extra 5V through the regulated supply. Problem is, most ways to do it is mechanical (connect the power supply by flicking a switch. I'll prefer this way if I find out how). One more option is that I somehow connect the two batteries together on one line. While on all other lines, I get a 5V regulated, I get 14V on this particular line. Problem with that is, I don't know any way to connect the batteries to achieve this. More over, I'm connecting 2 dissimilar batteries- one rechargeable and the other non and both with different capacities and internal resistances.

Now, what is the best solution for me. Schematic is posted above (as an answer to mogul's question).

TeleFox's picture

Ok, if you are running quite a lot from your 5V supply then I can understand why you don't want to use a voltage regulator.

I never recommend using 2 batteries because you'll always have them running out at different times which is just annoying for a start. 9V batteries are no good unless the current draw is only a few mA.

12V car batteries do not have high resistance, they are capable of providing very high currents such as those required by the starter motor, which are often over 100A. You might be able to find a smaller sealed lead acid (SLA) battery such as those used for backup power in home alarms, they're still somewhat heavy, but they can be quite cheap if you find a good source.

You could possibly use a step-up voltage converter, to create a 9V supply from your 4.8V batteries, but I think it will cost you more than just buying a larger battery and it will drain your batteries quickly.

The best option in my opinion is to:
1) Buy a 9-12V battery, or make a 9-12V battery pack from rechargeables.
2) Connect the battery directly to the power bus for the motor driver/s.
3) Get a proper DC-DC step down voltage converter (not a voltage regulator), or make your own using an IC like this one.
4) Power the step down converter from your 9-12V battery, and use it to supply the 5V logic bus for the Arduinos, etc.

mogul's picture

Could you make a schematic of what you have in mind? I for one have a hard time trying to understand what you are asking, perhaps a quick drawing on the backside of your hand could make it easier.

vishurockssrivastava's picture

I'm trying to do exactly the same thing as this guy has done here- http://www.instructables.com/image/FY2SZKBH0OJ5NNI. The only difference is, I'm worried about the power to be provided.

vishurockssrivastava's picture

I do seriously believe its a typo but the SN754410 data sheet says- "Output Voltage Range (V0): -3V to VCC2+3V." Datasheet is by Texas Instruments.

However, that's not my question. Is there some way I can provide the correct voltage (of 12V) to the motor I have and still just provide 4.8V as input. I know a transformer does so but how to build a transformer with low power loss if that's the solution. Or do I just provide it 12V and and use a 5V vreg for my µ. Or (the solution I have in my mind), I connect a 9V battery directly to the motor. Whenever the motor is required to run, there is extra 4.8V supply to it from the micro which runs the motor.

The doubt that I have is, suppose you were to use the motor I have linked to above, how'll you do it. The stall current and voltage is perfect (<600mA and <36V respectively) so a L293D can be used. However. Most arduino boards just have a 7.2V supply which after a vreg becomes 5V. So, how do I power this motor which in turn is connected to a h bridge which requires 12V and I am only providing 5V?

As for what I'm doing with 6 ATMega 328P's, search LMR for infinity cube.

birdmun's picture

Put a 12v power supply on the robot, and, feed the 12v to the h-bridge and to the V+ input on the arduino board. Admittedly, your motors still won't see the full 12v, but, it will be close, and therefore, good enough.

ezekiel181's picture

Definitely a typo. Check the electrical characteristics table down further. States that output high voltage will be about VCC2-1.4v.

Bajdi's picture

Are you sure that a L293D can give a higher voltage then the supplied VCC? I have no experience with the L293D but most H bridges have a voltage drop. Can't you use a couple of more batteries to get a higher voltage and use a 7805 vreg to supply a nice 5V to the ATmega328? I'm pretty sure that those motors will work with a lower voltage. Don't forget that those little motors will produce some noise and you will need some caps to filter it out. A vreg will help filter that noise and keep the 5V constant. What you are planning with the 6 ATmega328's? A bare ATmega328 doesn't need much current.