Need a dc motor working at 40 RPM

Hi. I'm working on a little project with a dc motor and a L293D. I want the dc motor to spin at a low speed (40 RPM). The motor I have works at 100 RPM but it hardly works below 80-90 RPM and it doesn't work at all at 40 RPM. Is there a (cheap) dc motor who works at 40 RPM? I've searched in the net but I didn't find one (I'm quite newbie, by the way).

Thank you very much.

How do you know ?

Pololu has a great selection of gearmotors.

1 Like

How do You control the speed?
Using good technic it will surely run at any low speed.

ebay has a plethora of dc gear motors for instance:
50 RPM motor

I've tried with a very simple program (below). I change the speed value and it works fine with high values but it seems that the motor I have can't work with low values. I work with Arduino Mega 2560, a dc motor and a L293D.

// Motor connections
int enA = 9;
int in1 = 8;
int in2 = 7;

void setup() {
// Set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);

// Turn off motor - Initial state
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);

}

void loop() {
musikakutxa();
delay(1000);
}

void musikakutxa() {

analogWrite(enA, 100); // Doesn't work with low values

// Turn on motor
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
delay(20000); 

// Turn off motor
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);

}

With this program (I work with Arduino Mega 2560, a dc motor and a L293D).

// Motor connections
int enA = 9;
int in1 = 8;
int in2 = 7;

void setup() {
// Set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);

// Turn off motor - Initial state
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);

}

void loop() {
musikakutxa();
delay(1000);
}

void musikakutxa() {

analogWrite(enA, 100); // Doesn't work with low values

// Turn on motor
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
delay(20000); 

// Turn off motor
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);

}

Thank you!

Hi, @matxain
Welcome to the forum.

Can you tell us what your motor is, and or post an image of it.

Can you please post a link to specs/data of your motor?

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

The big problem with the L293 is that it is a very old design and uses transistors in a Darlington pair to switch the positive and negative power to the motors. This means that the voltage available to drive your motor is down by between 2 and 4 volts on what you put in as a power source.

You have not mentioned what voltage you are trying to use, but my guess is that you do not have enough voltage, once you start to apply PWM, for the motor to turn.

This can be cured by getting a proper modern driver that uses FETs instead of (bipolar) transistors.

Pololu sell motor drivers as well.

Check that pin 9, Ena, peovides PWM. I'm an UNO guy, not Mega...

The problem with small (and cheap) DC motors is that they aren't very good at low speed, 40 rpm is less than 1 rpm. They rely on a commutator to switch current from one rotor coil to the next and at low speed this is pretty discontinuous and there isn't enough rotor inertia to keep it spinning smoothly. If you do want a low rpm, as suggested in post #2 a geared motor is better - then the actual motor bit is working at a speed where it runs smoothly and you have gearing to get the output shaft speed. The type shown are very nice but there are lots around at probably lower prices.

Hi,
Can you tell us the application of your project?

Why 40rpm?

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.