Is it possible to control rpm of stepper motor by using PWM

First i apologise for asking this basic question. i am totally confused with concept of normal dc motor.

In DC motor speed control could be achieved by varying the duty cycle of pulses.
In stepper each pulse would cause the motor to rotate a single step(approx 1.8 deg).
There is any minimum and maximum pulse width required for each pulse or they must be constant.

I read increasing the frequency of applying pulses (i.e) reducing time between two adjacent pulses would cause the motor to run faster.

Now let T1 be the pulse width required to move single step 1.8deg. to increase rpm i need to reduce the offtime of pulse i.e, T2(Ton + Toff = T)
while T1+T2 decides the frequency of the pulse signal T1 remains constant , T2 is also must be a constant. then only frequency would be maintained constant.So without reducing time t2 how can i maintain the same frequency for various speed as like in DC motor.

If anyone tell me about how to control(RPM) stepper by PWM as like DC motor

i will be more thankful to you

Thanks

PON

PWM has nothing to do with stepper motors. The speed of a stepper motor is determined by the interval between step pulses.

What stepper motor driver are you using ?

Post a link to the datasheet for your stepper motor.

Have a look at stepper motor basics and this simple stepper code.

...R

You seem to be using the term 'pulse duration' and frequency interchangeably. To ensure it's clear, PWM (Pulse WIDTH Modulation) employs (as the name describes) a change in pulse width. Each pulse is of a fixed length, determined by it's frequency (see here). However, each pulse has two components; a period when the pulse is HIGH and a period when the pulse is LOW. Changing the ratio of those components is what is used for control.

You can control a DC motor's speed with PWM but only in a simple way; you would be able to slow it down or speed it up. To have any advanced control you will have to have some feedback that reports the speed of the motor so you can compare the current speed to the desired speed and make adjustments to the PWM as needed.

  • Scotty

Hi Robot very thanks for reply. it was very useful. now i have ULN2003a driver arduino micro board and faulhaber minimotor SA 2210. i did not find exact datasheet for my stepper. but i found relevant stepper information at following link

http://www.robotroom.com/FaulhaberGearmotor.html.

From above link i understand that it has encoder in it. But in my stepper apart from this six wire. i find a pair of wire separately for power(red and black). i directly gave 12v dc supply to stepper via this red and black pair, it was running. but when i tried it to connect with uln2003 it is not worked. without control signal it was running. i am doing something wrong.

connection:
arduino 8,9 to uln2003 1,2
uln 2003 16,15 to M+ and M- of stepper.
uln 2003 pin 8,9 - gnd(black) and power supply(red wire) respectively.
encoder supply and Pin out A,B of stepper left NC (No Connection)

As far as I can see the motor in your Faulhaber link is a DC motor with an encoder, not a stepper motor.

Are you saying that you have another motor which is a stepper motor ?

Which motor are you trying to control with your Arduino ?

At the moment I am too confused to give any useful advice.

...R

alagappan:
From above link i understand that it has encoder in it. But in my stepper apart from this six wire. i find a pair of wire separately for power(red and black). i directly gave 12v dc supply to stepper via this red and black pair, it was running. but when i tried it to connect with uln2003 it is not worked. without control signal it was running. i am doing something wrong.

Its definitely a DC motor, not a stepper.