Maker Pro
Maker Pro

Stepper Motor Speed Problem

S

sudheervemana

Hi all,

I am developing an stepper motor position control board in the
devicenet network.I want the motor to run in the microstepping (up to
1/64) mode to an target speed of 2500RPM for an stepper motor with 200
step resolution.

In the case of Fullstep, my motor can have 200
steps/revolution.Suppose if i want to rotate in the microstep
mode(1/64)(the motor can have 12,800 steps/rev)to an target speed of
2500 RPM,does the controller clock frequency 40Mhz is enough for my
controlling or else i should get the controller with some more higher
clock freq.Why because i am not able to achieve the desired speed in
the 1/64 microstepping mode.

Clear me regarding the speed of an stepper motor.Suppose
if my motor is an 1.8 deg step motor where it can rotate up to 200
steps /rev in full step mode,if i want to achieve the target speed of
2500RPM with fullstep which is (2500*200*60) 3000000 pulses/sec,my
timer freq which is 40Mhz is greater than the 3MHZ.Whereas in the case
of microstepping(1/64) the stepper motor can rotate 12,800 steps
/rev.now if want to reach an target speed of 2500RPM by using
microstepping(1/64) the target velocity will be (2500*12800*60)1280Mhz
which is less than my timer freq 40Mhz.Is this the problem for my
speed,or else my interpretation is wrong.Please clear me regarding
this speed of an stepper motor in the microstepping mode.

With Regards,
Sudheervemana.
 
P

Paul Burke

sudheervemana said:
Clear me regarding the speed of an stepper motor.Suppose
if my motor is an 1.8 deg step motor where it can rotate up to 200
steps /rev in full step mode,if i want to achieve the target speed of
2500RPM with fullstep which is (2500*200*60) 3000000 pulses/sec,my
timer freq which is 40Mhz is greater than the 3MHZ.

30M if you do the sums right, but it's wrong anyway. DIVIDE RPM by 60,
not MULTIPLY!!!!
2500 * 400 / 60 = 8333 pulses/ sec.
the target velocity will be (2500*12800*60)1280Mhz

1920M if you do the sums properly, but still wrong.


2500 * 200 * 64 / 60 = 533333 pulses / rev.

Easy slip to make, but I think it's back to school on the sums front.

Paul Burke
 
B

BFoelsch

sudheervemana said:
Hi all,

I am developing an stepper motor position control board in the
devicenet network.I want the motor to run in the microstepping (up to
1/64) mode to an target speed of 2500RPM for an stepper motor with 200
step resolution.
Snip

Clear me regarding the speed of an stepper motor.Suppose
if my motor is an 1.8 deg step motor where it can rotate up to 200
steps /rev in full step mode,if i want to achieve the target speed of
2500RPM with fullstep which is (2500*200*60) 3000000 pulses/sec

Big problem here. 2500 RPM = 41.66666 revs/second

41.666 revs/second x 200 pulses/rev = 8.333 kHz, NOT 3 MHz.

Re-work your calculations using the correct speed formula and the answers
will be much more manageable.
 
C

CFoley1064

Subject: Stepper Motor Speed Problem
From: [email protected] (sudheervemana)
Date: 10/25/2004 7:06 AM Central Daylight Time
Message-id: <[email protected]>

Hi all,

I am developing an stepper motor position control board in the
devicenet network.I want the motor to run in the microstepping (up to
1/64) mode to an target speed of 2500RPM for an stepper motor with 200
step resolution.

In the case of Fullstep, my motor can have 200
steps/revolution.Suppose if i want to rotate in the microstep
mode(1/64)(the motor can have 12,800 steps/rev)to an target speed of
2500 RPM,does the controller clock frequency 40Mhz is enough for my
controlling or else i should get the controller with some more higher
clock freq.Why because i am not able to achieve the desired speed in
the 1/64 microstepping mode.

Clear me regarding the speed of an stepper motor.Suppose
if my motor is an 1.8 deg step motor where it can rotate up to 200
steps /rev in full step mode,if i want to achieve the target speed of
2500RPM with fullstep which is (2500*200*60) 3000000 pulses/sec,my
timer freq which is 40Mhz is greater than the 3MHZ.Whereas in the case
of microstepping(1/64) the stepper motor can rotate 12,800 steps
/rev.now if want to reach an target speed of 2500RPM by using
microstepping(1/64) the target velocity will be (2500*12800*60)1280Mhz
which is less than my timer freq 40Mhz.Is this the problem for my
speed,or else my interpretation is wrong.Please clear me regarding
this speed of an stepper motor in the microstepping mode.

With Regards,
Sudheervemana.

Hi, Sudheervemana. Apart from doing a quick check on your math, you should be
aware that most all real world microstepping stepper controllers drop some and
then all of the microsteps as speed increases, and go to straight
half-stepping. There are dedicated controller ICs available which do this job
for you. And also, 1/64th microstepping is kind of unrealistic as far as
positional accuracy on even mil-spec stepper motors. Except at _very_ low
speeds, you won't get _any_ additional torque, either. And you haven't even
looked at driver efficiency losses with switching speeds that high.

As far as it goes, a controller of this type will generally get motion commands
and then internally calculate a motion profile prior to the move. This profile
can be ON-OFF, trapezoidal, or any number of other profiles. Commands are also
issued for minimum speed (to avoid mid-range resonance), and other things.

The Guru Don Lancaster once said:

"An hour on the net is worth a week in the lab."

You might want to do some reading before you spend a lot more time on this.

And you should seriously consider purchasing a one-chip solution for your
controller instead of rolling your own, unless you're making tens of thousands
of these. Of course, if it's a one-off, just buy a board. There are so many
good products out there at such reasonable prices that reinventing the wheel
just isn't worth it.

Good luck
Chris
 
S

sudheervemana

Hi, Sudheervemana. Apart from doing a quick check on your math, you should be
aware that most all real world microstepping stepper controllers drop some and
then all of the microsteps as speed increases, and go to straight
half-stepping. There are dedicated controller ICs available which do this job
for you. And also, 1/64th microstepping is kind of unrealistic as far as
positional accuracy on even mil-spec stepper motors. Except at _very_ low
speeds, you won't get _any_ additional torque, either. And you haven't even
looked at driver efficiency losses with switching speeds that high.

As far as it goes, a controller of this type will generally get motion commands
and then internally calculate a motion profile prior to the move. This profile
can be ON-OFF, trapezoidal, or any number of other profiles. Commands are also
issued for minimum speed (to avoid mid-range resonance), and other things.

The Guru Don Lancaster once said:

"An hour on the net is worth a week in the lab."

You might want to do some reading before you spend a lot more time on this.

And you should seriously consider purchasing a one-chip solution for your
controller instead of rolling your own, unless you're making tens of thousands
of these. Of course, if it's a one-off, just buy a board. There are so many
good products out there at such reasonable prices that reinventing the wheel
just isn't worth it.

Good luck
Chris


Hi all,

Thankyou very much for your reply,yesterday i have
miscalculated the speed and afraid that my controller freq is not
enough for my controlling.The problem is with my motor whose max RPM
is 500.Anyway thankyou very much for all of your suggestions.

With Regards,
Sudheervemana.
 
J

john jardine

sudheervemana said:
Hi all,

I am developing an stepper motor position control board in the
devicenet network.I want the motor to run in the microstepping (up to
1/64) mode to an target speed of 2500RPM for an stepper motor with 200
step resolution.

In the case of Fullstep, my motor can have 200
steps/revolution.Suppose if i want to rotate in the microstep
mode(1/64)(the motor can have 12,800 steps/rev)to an target speed of
2500 RPM,does the controller clock frequency 40Mhz is enough for my
controlling or else i should get the controller with some more higher
clock freq.Why because i am not able to achieve the desired speed in
the 1/64 microstepping mode.

Clear me regarding the speed of an stepper motor.Suppose
if my motor is an 1.8 deg step motor where it can rotate up to 200
steps /rev in full step mode,if i want to achieve the target speed of
2500RPM with fullstep which is (2500*200*60) 3000000 pulses/sec,my
timer freq which is 40Mhz is greater than the 3MHZ.Whereas in the case
of microstepping(1/64) the stepper motor can rotate 12,800 steps
/rev.now if want to reach an target speed of 2500RPM by using
microstepping(1/64) the target velocity will be (2500*12800*60)1280Mhz
which is less than my timer freq 40Mhz.Is this the problem for my
speed,or else my interpretation is wrong.Please clear me regarding
this speed of an stepper motor in the microstepping mode.

With Regards,
Sudheervemana.

That's about 1/2Meg micro steps/sec. I've had 120k/sec being sent from a
10MHz PIC so a 40MHz setup should be fine.
Max step rate is pro-rata with how much machine code command parsing, you
wish to perform after each of the the incoming 'step' commands.
regards
john
 
J

Joerg

Hello Sudheervemana,
... The problem is with my motor whose max RPM is 500.Anyway thankyou very much for all of your suggestions.
That is pretty typical with steppers, they just won't run very fast. It
seems you should look at other solutions, either motors with much
coarser steps or maybe a geared DC motor with servo.

Regards, Joerg
 
B

BobGardner

You can run steppers at 1000s of steps per sec in 'current mode'. I think this
is where the LR time constant in the stepper coils is just brute force swamped
out by a strong driver. MicroMo site sells current mode controllers and rates
their motors in this mode
 
Top