l293d and current problems ( I think... )

I'm trying to power two motors using an l293d for a line follower project. My robot consists of an SRF05 ultrasonic obstacle sensor, two IR R/T and two motors.
Simply put, whenever i power my arduino using a 9V battery, it keeps on restarting or if doesn't restart, it dies after a few seconds resulting in BUILTIN_LED to blink at very high speeds and low light.
I tried using the l293d with the same configuration as in the robot on a breadboard using a 9V battery an 5V as the logic from arduino of which the power for the arduino is supplied by the 9V battery through the Vin pin. Say at pwm speed 100 it turn the motor on but doesn't turn it, it makes a feq sound which need my help to turn. When i set pwm speed to 255, the arduino just keeps on restarting when it tries to power the motor.
Is the problem from the battery or is there too much current being drawn from the circuit.

The circuit I'm using : Imgur: The magic of the Internet
Battery I'm using: Camelion Super Heavy Duty 9V 6F22

Those 9V batteries are useless for anything other than running a transistor radio.
As soon as you hook up a motor or any current draw, they prove incapable of delivering that current.

A pack of AA batteries will do you better.

Thank you very much!!!
I used three old mobile batteries in series resulting 12V, works like a charm...

Three old LiPo's in series? That's a recipe for fire.

Series LiPos must be matched, and balance-charged, and you need to cut the power if any
one of the cells hits the undervoltage limit...

Take precautions (if in doubt assume they need fire-proof enclosure).
Or check to see if they all individually have protection electronics built in.