I am trying to build a simple motor controller for a 3v hobby motor ( http://www.radioshack.com/product/index.jsp?productId=2102828 ) that I picked up at Radio Shack.
I am using the L293NE (Datasheet can be found at: http://focus.ti.com/lit/ds/symlink/l293.pdf) for the H Bridge and have the follow pins laid out
pin 1 -> +5v pin 2 -> arduino pin 2 pin 3 -> motor + terminal pin 4 -> ground pin 5 -> ground pin 6 -> Motor - terminal pin 7 -> arduino pin 3 pin 8 -> +5v pin 16 -> +5v
I wrote a small program and when I hook everything up to the +5 and ground on the arduino Duemilanove board, both forward and reverse work great.
Knowing I won't be able to use USB to supply power to the arduino once on my robot, I use a 9v battery and a 7805 Voltage regulator to bring this down to 5v. When I take the +5 from the 7805 to the arduino vin and connect the ground on the arduino to the ground on the breadboard, the motor will only work one way (say forwards) but not the other(say reverse). Any ideas?
I've already verified with the multimeter that all the pins, in the pinout above, are still getting +5v
EDIT: Update #1 : Grounding pins 9,10,12,13,15 doesn't make a difference. Also, the arduino doesn't freak out at any time while it is getting it's powered by the 7805. Switching the arduino back to usb power after being driven by the 7805, the motor works in both directions. Tells me the L293 is good. Looking into the possible current issues mentioned in the replies.
EDIT: Update #2 : There was a question how I have the 7805 powering the arduino. I have two breadboards as it makes it easier to switch. Breadboard 1 (BB1) has just the 7805 on it where the power rails hook up to the 9v battery. Bread board 2 (BB2) has just the L293 on it. This way I can easily swap out the power supply (either BB1 or the arduino) without having to mess with circuit of the L293. With that said... From the +5v pin on the 7805, I feed that to the + power rail on BB2. I feed the -rail of the BB2 back to the - rail on BB1. To power the arduino, I just run a wire from the +rail of BB2 to Vin on the arduino board and run Ground on the arduino back to the - rail on BB2.