Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Stepper Motor Speed

Status
Not open for further replies.
Stepper motor speed is decided by the frequency of the drive pulses. Is it not?

What about the effect that increased motor current has on acceleration.?

Interstep 'speed' is a function of acceleration,. Is it not.?:)
 
Last edited:
What is acceleration of a motor?:confused:

hi premkumar,
Its the rate of change of angular velocity with respect to time.

If you apply a 'heavier' current at the rotational step pulse instant, this increase in power will overcome the intertia of the motor rotor in a shorter time.

The result is that the rotor movement time between steps will be reduced thus giving an apparent increase in velocity compared to a lower voltage supply.

Do you agree.?:)

EDIT:

Consider if you have a lower voltage and you increase the pulse frequency, you would reach a frequency where the motor would not rotate, but just judder/buzz.
If you now increase the motor supply voltage the the motor will now turn at the higher frequency.

Obviously there is a limit to this due to over heating of the motor coils.
 
Last edited:
Hi,
Thank you for the information. I never used stepper motors. What I wrote is based on what I read long back.
Hope I will get your valuable guidance in case I need to use a stepper motor in future.
 
hi premkumar,
Its the rate of change of angular velocity with respect to time.

If you apply a 'heavier' current at the rotational step pulse instant, this increase in power will overcome the intertia of the motor rotor in a shorter time.
There is a couple other details... It is possible to run a stepper at a higher voltage to make it possible to go faster, but as you say it will only go as fast as you command it and is actually detrimental to the mechanical system to drive it harder than the speed requires you to.

It is possible to apply a very high voltage and PWM it with the duty cycle proportional to the speed to enable a higher speed output without overheating the coils at low speeds. You can easily quadruple the power output in this manner without burning out the motor or even exceeding it's rating. The other advantage here is that as a current source it can quickly overcome the motors inductance which would limit the top speed otherwise.
 
With the correct driver, you can run stepper motors in excess of 10,000RPM. I myself have only ever run a stepper motor at 1,500RPM.

You must take into account the inductance of the windings. At higher speeds the inductance plays a bigger limitation on the speed than the DC coil heating effect it's self.
 
Hi there,


One of the limitations in driving a stepper motor is the type of
circuit used to drive it and the voltage that is supplied to that
circuit.

Let me try to explain this a bit more.

The winding of a stepper is inductive and resistive in nature.
The resistive part dissipates energy and so will eventually heat up the
motor. Normally with a pure inductance, the inductive part will
not dissipate energy and so will not contribute to the heat, but
because the inductive part of the coil is made with a non ideal
core which has various losses associated with it, the inductive
part actually dissipates energy too which results in more heating.
Thus, we have heating from both coil resistance and non ideal
inductance.
The heating from the coil resistance is based on t*I^2*R losses
and so goes up with current and the time the coil is on for
so speed is partly involved.
The heating from the coil non ideal inductance is based on the
current and the frequency, and here the frequency plays an
important role in limiting how fast we can switch the coil on and
off, and this limits speed.

This all of course depends on the type of driver, assuming we
have the best possible driver, and the best possible driver is
one that can force the current to rise as fast as possible in
the motor winding, and once it gets there, to regulate it at
the limit of the motor spec.

The circuit voltage is important too as that is what is used to
force the current to rise as fast as possible, so if the circuit
power supply voltage isnt high enough, the motor will not run
as fast as possible.
The problem is also that some circuits will not accept voltages
that are higher than maybe 10 or 20v or so.

To see how the voltage of the power supply affects speed we
can look at the equation for an inductor:

v=L*di/dt

where

v is the voltage
L is the inductance
di is the change in current
dt is the time it takes for that change in current.

We know what di is because that will be the max current that
we can put through the motor, assuming a set duty cycle,
and this would be based partly on the wire diameter,
and we know what v is because that's the power supply voltage,
and we might find out what L is by looking at the motor spec sheet,
so we solve for dt which is the time it takes for the current to
reach the level di we want:


dt=L*di/v

Now for the sake of this discussion we lump L and di to form one
constant K which reduces this equation to:

dt=K/v

Now recognizing that K never changes, we can try various values for
v and see what happens to dt. After trying a few values it becomes
obvious that because v is in the denominator, decreasing v increases
dt, and increasing v decreases dt. Because we want faster speed we
want to decrease dt, so this means we have to increase v.

Now back to the limitations...

The resistance heats the motor and so does the non ideal inductance.
The resistance limits the average current through the motor, even with
an ideal circuit that can regulate current precisely. Thus, in the above
equation di is limited based on the motor construction.
Since the non ideal inductance also heats the motor, this places a
limit on frequency, or the speed of the motor.

The idea then is to run the motor with the best circuit possible
at the limited current level and try to increase speed. As the speed
increases the motor will eventually get too hot to run without burning up.
 
Last edited:
Hi there,


One of the limitations in driving a stepper motor is the type of
circuit used to drive it and the voltage that is supplied to that
circuit.

Let me try to explain this a bit more.

The winding of a stepper is inductive and resistive in nature.
The resistive part dissipates energy and so will eventually heat up the
motor. Normally with a pure inductance, the inductive part will
not dissipate energy and so will not contribute to the heat, but
because the inductive part of the coil is made with a non ideal
core which has various losses associated with it, the inductive
part actually dissipates energy too which results in more heating.
Thus, we have heating from both coil resistance and non ideal
inductance.
The heating from the coil resistance is based on t*I^2*R losses
and so goes up with current and the time the coil is on for
so speed is partly involved.
The heating from the coil non ideal inductance is based on the
current and the frequency, and here the frequency plays an
important role in limiting how fast we can switch the coil on and
off, and this limits speed.

This all of course depends on the type of driver, assuming we
have the best possible driver, and the best possible driver is
one that can force the current to rise as fast as possible in
the motor winding, and once it gets there, to regulate it at
the limit of the motor spec.

The circuit voltage is important too as that is what is used to
force the current to rise as fast as possible, so if the circuit
power supply voltage isnt high enough, the motor will not run
as fast as possible.
The problem is also that some circuits will not accept voltages
that are higher than maybe 30 or 40v or so.

To see how the voltage of the power supply affects speed we
can look at the equation for an inductor:

v=L*di/dt

where

v is the voltage
L is the inductance
di is the change in current
dt is the time it takes for that change in current.

We know what di is because that will be the peak current that
we can put through the motor, assuming a set duty cycle,
and we know what v is because that's the power supply voltage,
and we might find out what L is by looking at the motor spec sheet,
so we solve for dt which is the time it takes for the current to
reach the level di we want:


dt=L*di/v

Now for the sake of this discussion we lump L and di to form one
constant K which reduces this equation to:

dt=K/v

Now recognizing that K never changes, we can try various values for
v and see what happens to dt. After trying a few values it becomes
obvious that because v is in the denominator, decreasing v increases
dt, and increasing v decreases dt. Because we want faster speed we
want to decrease dt, so this means we have to increase v.

Now back to the limitations...

The resistance heats the motor and so does the non ideal inductance.
The resistance limits the average current through the motor, even with
an ideal circuit that can regulate current precisely. Thus, in the above
equation di is limited based on the motor construction.
Since the non ideal inductance also heats the motor, this places a
limit on frequency, or the speed of the motor.

The idea then is to run the motor with the best circuit possible and
try to increase speed. As the speed increases the motor will
eventually get too hot to run without burning up.

Explained in a simple and beautiful way. Thank you.:)
 
Most stepper driver modules use current limit and PWM technology of course, but there is also the actual performance of the motor. Some steppers are designed for sub 100 RPM others as high 11000.

A motor with a maximum frequency rating of 1kHz is not going to step at 10kHz.

The 103H3215-5770 from SanyoDenki is about 1" sqr and will operate happily at >1000RPM.
 
Most stepper driver modules use current limit and PWM technology of course, but there is also the actual performance of the motor. Some steppers are designed for sub 100 RPM others as high 11000.

A motor with a maximum frequency rating of 1kHz is not going to step at 10kHz.

The 103H3215-5770 from SanyoDenki is about 1" sqr and will operate happily at >1000RPM.
Again, as long as you are running a PWM current drive with sufficient voltage you can drive them fast.

The maximum frequency is really only the limit that you can run it at the maximum DC voltage which will be either a thermal or a demag limit. At higher voltage and frequency the IR losses may go up slightly and the core losses may go up slightly

The actual motor rating is not exceeded since the core flux density can be lower. If the current remains roughly the same, at higher voltage and frequency the core flux density is actually lower.
 
Hi again,


Power dissipation in the core material also depends on the number
of times per second we take the material through its BH loop.
More times equals more power equals more heat (hysteresis losses).
Manufacturers are well aware of this and in fact this is one
of the main limitation issues for continuous speed in a stepper.
Even though i had stated 'fastest current rise time' previously
that was just for a general description, assuming that other
factors in the circuit would limit this anyway, but the fastest
current rise time even isnt the best because it wastes power
and since there is a maximum speed that heating allows anyway
it makes no sense to go with the fastest anyway.

Also, with the limitation on current level to begin with we
run into a possible acceleration problem, where it takes
too much current to accelerate the rotor in the time needed
to achieve a given top speed.

I guess we cant overlook intermittent use however, given
enough time to cool off between shorter continuous motor
runs.
 
Last edited:
Hi again,


Power dissipation in the core material also depends on the number
of times per second we take the material through its BH loop.
More times equals more power equals more heat (hysteresis losses).
It also depends on how much of a loop there is. If your max flux density is half, your dissipation limited frequency might go up by close to an order of magnitude...well that is typical for ferrites anyhow, I do not have steel laminate data handy.

This is an easy situation to see since flux density goes down with frequency. quite a bit can be done with a good controller but the motor spec has to be based on the cheapest one.
 
that will work fine ... set it for your anything up to your max motor current and run it on any voltage between your motor "voltage" and it's max allowing for variation and tolerance (don't use an unregulated 28V, 12V unregulated puts out up to 24V at no load)

You should be able to run faster on higher supply rails and higher current drive, just remember not to exceed the motors current rating. I can when I design the controller, but these things run as switching current regulators into the motor, so it will put out what ever you set it to continuously.
 
Again, the 103H3215-5770 from SanyoDenki is about 1" sqr and will operate happily at >1000RPM. Look at their selection of 1" sqr stepper motors.....
Well I want high torque and 3600RPM ... What if he wants 10000RPM?

Part of the discussion was can you get them to go faster. The answer is yes, you put more voltage on them to overcome the inductance and run them current limited or regulated.

If you are real clever and have access to the current levels you can even put in a front end current spike for torque and back off on the continuous level at low speed to save power.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top