I am following this guide to learn about motor controllers.
I have followed the instruction but only for 1 motor.
When I max out the PMW so the motor should run full tilt it is only about half as fast than if it was connected directly to the power source.
3-6V motor, 6V power supply
I've noticed if I connect it to the power source directly I get a current around 170mA and it does go full tilt but when it runs off the motor controller the current is around 120mA and the motor runs slow.
The motor gets 6 volts whether it runs off the power supply or the motor controller.
I'm new and just don't understand what concept I should be learning about to solve this problem. Could someone please point me in the right direction?
The L293D motor driver works well only for small, low power motors. It is a decades-old design, extremely inefficient, and cannot deliver the full battery voltage to the motor.
You can compensate by using a much higher voltage motor power supply (e.g. 12 V), or buy a modern motor driver. Pololu has a great selection.
There only seems to be a voltage drop of about 0.2V from power supply to the motor pinouts.
When I replace my 6V supply with a 9V the motor just doesn't run.
The motor receives about 7V with this setup.
When you say this IC is only good for small motors do you mean even smaller than the kind that comes with starter kits? Maybe best to buy another IC rather than get hung up on this one lol
Forum members recommend that people avoid wasting any time with L293 or L298 motor drivers.
a voltage drop of about 0.2V from power supply to the motor pinouts
If I understand this correctly, you have a wiring error. But that statement is completely inconsistent with the motor running at half speed.
If you really want to figure out what is wrong with your setup, you will have to post a great deal more information: your complete code, using code tags, links to the motor product page or data sheet, a close up, focused photo of your setup, link to the motor power supply, etc.
Also note that breadboards are for temporary experiments with low power logic circuitry and cannot support motor currents. The tracks will burn.
See the "How to get the best out of this forum" post for more posting hints.
It takes more than volts to power a motor. Smoke alarm batteries cannot supply the current to power a motor.
If you want to learn about motor drivers, do as @anon94801460 suggested and check out Pololu. Learning motor driver by studying L29x drivers is like learning about cars by studying the Model A Ford.
If I connect the motor directly to the 6V supply it get 180mA and runs much faster.
// Motor A connections
int enA = 9;
int in1 = 22;
int in2 = 23;
void setup() {
// Set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
//Initial state
digitalWrite(in2, LOW);
digitalWrite(in1, HIGH);
}
void loop() {
digitalWrite(enA, HIGH);
delay(1000);
}
It has to do with theinternal resistance of the battery. Ohm's law will show how the battery output voltage varies with current demand due to the internal resistance.