Motors not running optimally

Hello,

Im currently working on a project where i have to control a pair of motors with a PID controller.
Im experiencing some problems with running at low speeds, and not quite sure if i have to replace my motors or i can work around it.

I have a system of 12V (8xAA) batteries. The batteries go into an arduino motor shield that is of course connected to my arduino. I mainly use a shield based on the L293D, however ive also tried Arduinos Shield Model Motor R3. Both produced the same results.

My problem is that using this system my motor will not turn with a Duty Cycle of less than 30%. For my project it is very vital that it can turn on low speeds.
Ive tried reading the PWM pins on the arduino and they seem to have a pretty signal, however, if i read the output the shield produces for the motor it doesnt seem correct. It looks something like this:

I have a few suspicions.
My current motor shield only allow 0,6mA on each motor, which might simply be too little when you also go with a low duty-cycle. However, i believe the secondary motor-shield allows more current on each motor.
It also could be that my motors in general need to much current to even start turning - The motors ive tried are a EMG30 and an unnamed motor with these specifications: Rated voltage: 12VRated power: 4.32WStall current: 2.8AStall torque: 10kgf - Pastebin.com
Im not sure if i should go out and buy new motors, new motorshield, or it could even be fixed with my current setup.
Hope someone might know whats wrong.

That just looks fine to me :wink: What you see is inductor behavior (dip down) and the after that the back EMF of the running motor.

0,6mA per output, uhmmmmmm :wink: But if you overload it it will simply get hot and release the magic smoke. But low RPM does not mean high current.

But in the introduction you mention PID but you skip over that in the details. But I think that is the most important detail :wink:

septillion:
That just looks fine to me :wink: What you see is inductor behavior (dip down) and the after that the back EMF of the running motor.

0,6mA per output, uhmmmmmm :wink: But if you overload it it will simply get hot and release the magic smoke. But low RPM does not mean high current.

But in the introduction you mention PID but you skip over that in the details. But I think that is the most important detail :wink:

Basicly ive been trying to balance a robot using a PID. Ive been fiddleing for hours with the values and never really been close. Im pretty sure the problem is that my motors do not turn at slow speeds.
Just hoped someone would have a bit of knowledge of what could possibly help out here? :slight_smile:

But what sketch did you try? Did you also try it without PID stuff?

And can you post a circuit diagram (NO Fritzing breadboard mess) and a photo of the setup?

Cant really draw one right now, but its just an arduino motor shield with batteries and a motor directly connected. (correctly).