H-bridge and voltage regulator problems

Hi, I’m using a L293D H-bridge to control two 3v motors, and controlling this with arduino. To power the motors I’m using a Lm7805 5v voltage regulator to power the motors (them work good in 5v). The problem is that when I use the h-bridge with an external power, it works really good, but when I power it with the same 9v battery used to control the arduino (while this is powering the arduino), they don’t work (of course, regulating the voltage with Lm7805). I can see that them try to move, but they can’t.

Can somebody help me? Thanks!

the 9V will not supply enough current. you will need to use something with more amp supply capacity like a bunch of AAs.

Thanks by the help. My project needs to have a 9v battery, cause many AA batteries wouldn't fit inside the body of my robot. By the way, I'm gonna think in something to do. If somebody have an idea, please talk to me :)

Well, you might have to re-engineer your robot design...

Have you tried a lithium 9V (much more current than a standard alkaline 9V - but more expensive, too)?

Are you sure you couldn't shoehorn in 4 AAA (or better, AA) cells (for 6 volts) then use a low-dropout voltage regulator (maybe a LM2940CT-5.0) for the supply? You might even be able to get away with 4 N cells...

A single standard 9V isn't going to cut it, no matter what you do, unless you can reduce the current requirements significantly...


I tried regulating the voltage directly from the 9v battery, without arduino, only for testing, and the motor moves! Could the arduino be "sucking" the current from the battery and with this, making impossible to the motor runs? (sorry, I don't understand much about this).


A single motor, I doubt that it will be able to power two.

Do you have an amp meter to measure the current that your motor is drawing?

Could the arduino be "sucking" the current from the battery and with this, making impossible to the motor runs?

No it is the motor that is sucking all the power from your battery. The amount of load the arduino places on the battery is tiny by comparison.

Hi again. I tried here powering the arduino with a 9v battery, and to the motor, another 9v battery, but with 5v regulador, and the motors worked pretty good. But my project need to have 1 battery, not 2, I discovered that the problem is that the motor and the arduino can’t me used with the same source power.
Does someone knows how to fix it and use only 1 9v battery?


I think that the amount of current (power) drawn by your motor(s) is simply too much for the 9V battery to supply reliably. There's no magic short-cut to this, you will need to use a bigger battery.

When motors start, they draw a lot of current, I suspect this drops the voltage across the battery that then blacks out the Arduino, which then turns the motor off.

Thats why you appear to get better results using separate batteries.

One thing to try is a BIG capacitor across the battery to act as a reservoir of power for the motor. This might stop the Arduino blacking out.

But do some maths on your little battery, I assume its rechargeable, see how many mAH it can cope with (a few 100 mAH usually) and work out how long you would expect the motors to be driven for, I suspect its only a few mins.

Another reason for using a sturdier battery is that a little 9V will have higher internal resistance and is just not designed to handle big currents.

Worth a try though! Let me know if it works.

Well, I tried with my capacitor (the size of the 9v battery, 4700uf) and the motors tries do start, now with more power, but they don't run. Maybe this is the problem...