Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current
Posted by
Alan Rothenbush
on 2005-10-24 16:22:38 UTC
On Monday 24 October 2005 11:55, Jarrett & Heidi Johnson wrote:
as .. not completely accurate .. to be as polite as I can be.
Others might suggest "total BS" as an accurate description, but I'll remain
polite.
Driving stepper motors is a complex process, but it's also reasonably well
understood. I'd advise you to go to the files section of this group and
study all that's there, paying particular attention to the "white papers"
produced by Mariss Fremanis, but studying all that's there.
To get you started though, I'll give you a GREATLY simplified view of a couple
of points, that while not being completely technically accurate, will be
close enough to help you being.
Steppers are current operated devices. That is, you must shove electrons
(current) into them to make them work.
Shove more current into them, they make more power.
But you can't put too much current into them or they overheat and fail.
(Typically, the insulation on the wires melts). But even before they fail,
extra current may not help as the current works in conjunction with the
magnetic materials in the stepper and if you've "exhausted" the magnetic
materials, extra current just goes to heat.
So, there is a maximum current for any particular motor, it's based upon wire
size and magnetic materials, and manufacturers are pretty good at optimizing
the two.
Now, shove current into a stepper motor and it will move to a particular angle
and stay there, resisting attempts to move it. Larger motors (with larger
amounts of current shoved into them) resist harder. This resistance is the
"holding torque" and is a measure of motor's ability to retain its rotational
position. That is, it's a measure of the motor's performance when stopped.
For any given motor, this torque is proportional to the current going into it,
the "resistance to change" increasing as the current increase, right up to
the maximum current.
(The above statement is a generalization and one of those "not completely
technically accurate" referred to above, but it's close enough for this level
of discussion)
So, you want more power, feed it more current, and if you can't feed it more
current because it will melt down, buy a bigger motor.
Now, all the above implies a means of supplying an optimal amount of current
without supplying too much current, and there are a number of ways of doing
so. The first is to read the manufacturer's spec sheet, where a motor is
typically listed with a voltage and a current spec, that basically says "this
is the maximum current this motor can take, and if you give it this much
voltage, that's the current it will draw".
One such spec might be 2 volts @ 2 amps, so put 2 volts on a pair of leads and
2 amps will be drawn.
The question then becomes, if a 2 volt power supply will cause this motor to
draw the full 2 amps it can take, why not just build a 2 volt power supply
and be done with it ?
And the answer is, if all you want to motor to do is sit there, building a 2
volt supply is the right thing to do. But if you want it to rotate ...
At this point, we need to talk a bit about how a stepper motor rotates.
(Again a simplification) Steppers have two windings, and if we shove current
into one of the windings, the rotor moves to one position and if we shove
current into the other winding, it moves to another. The other key point is
that the direction we "shove" the current in is important .. shove the
current into winding one "east to west" it moves to one position, shove it
into winding 1 (same winding) "west to east" and it moves to another
position.
So, take the simplest possible stepper motor and here's the position/current
table
Winding 1 west to east 12:00
Winding 2 north to south 3:00
Winding 1 east to west 6:00
Winding 2 south to north 9:00
Two coils * two current directions = 4 positions.
OK, you say, how about just building a pair of 2 volt supplies, electronically
connecting them up as required, and in fact, that would work.
However, here's important technical concept number 1 .. it takes time to shove
that current into the winding. (I'm going to assume from here on that we want
the motor to rotate.) If we want full power out of motor, we have to wait
until we've filled a winding up before going onto the next winding.
The faster we can get current into a winding (and out again .. more on this
later), the faster a motor will turn. Now we could just stuff less current
into a motor and it would turn faster, but at lower power, and we want all
the power we've paid for.
The ONLY way to get that current into a winding is to push harder, which
electrically means using a higher voltage. But if we use a higher voltage,
we'll get more current (current is directly proportional to the voltage
applied) and we'll melt the motor down.
So there's our quandry .. how we both use a higher voltage while not exceeding
the current ? There are three solutions, a resistor, a chopper source and a
constant current source.
The resistor is the cheapest solution, but one providing only a slight
advantage .. it does have its place, but not in the context of machine tools.
Both chopper and constant current are more complex than a single resistor, but
both work very well at using a high voltage to shove just the right amount of
current in, but no more, as quickly as possible.
A basic Constant Current (CC) method is very simple to design and very
reliable, but has the disadvantage of being extremely inefficient, requiring
a much bigger power supply and turning all of that extra power into heat.
It's no surprise that a CC design would appear as a kit .. they don't have to
include the power supply and the cost of that supply does not appear in the
calculations.
Chopper supplies are somewhat more complex than a CC supply.. but only a
bit .. and are WAY more efficient, easily saving in power supply costs what
they eat up in extra parts.
Really, the market has spoken .. I would guess that 99.9% of all commercial
stepper controllers for the machine industry built in the last ten years are
chopper designs.
HOWEVER, getting the current into the coils is only half the problem .. you
have to get the current OUT of the coil as well before shoving current into
the next one.
And it is here that the K142 design appears to fall down. I say "appears"
because I have not seen a schematic for it, only a pic of the board and so
I've got to guess as to what's going on.
Suffice to say (that's shorthand for "I'm tired of typing, so I'm going with
short explanations") getting the current out .. aka, "current decay" is just
as important in the whole scheme of performance as getting the current in,
and it's not really related to CC or chopper designs. Either can have
sophisticated or primitive approaches to the question of getting the current
out.
Do some reading on this topic.
Finally, the big issue, microstepping, which I'll cover VERY briefly. The
position of a rotor is related to the direction and magnitude of the current
in the coils .. it's a vector quantity.
Take our example above
Winding 1 west to east 12:00
Winding 2 north to south 3:00
What would happen if we did both ? That is, supplied current to both windings
at the same time, in the manner shown above ?
The rotor would point to 1:30 !
So if, using our primitive stepper above, we supplied current to one winding,
then both, then one, then both, and so on, in the right sequence and the
right direction, we would get 8 positions, not just 4.
In fact, the position of the rotor is (roughly) determined by the formula
angle = sin(current in winding 1) * cos(current in winding 2)
Say, with our 2 amp motor, we shoved 2 amps into winding 1 W->E but only 1 amp
into winding 2 N->S, where would the rotor be ? Roughly 1:00
Why is this important ? NOT because of what you're thinking, greater
positional accuracy, because you don't get that (I said "roughly" earlier)
but because of an annoying flaw in stepper motors known as "resonance".
At some rotational speed, a stepper makes no power .. it is unable to move
from position to position. Won't go into why, it just does.
The RPM at which this happens is roughly related to the size of the steps. In
our simple example, steps are 90 degrees wide, but in example two, they are
only 45 degrees wide and so the RPM at which the motor becomes a problem is
doubled.
"Microstepping" .. the 1:00 scenario .. increases the number of intermediate
steps, often to the point where resonance is no longer an issue.
Microstepping is an absolute requirement in all modern stepper systems, and I
see no evidence (from staring at the PCB) that the K142 supports this in any
way.
Read about microstepping.
Hope this helps .. gotta go.
Alan
--
Alan Rothenbush
Academic Computing Services
Simon Fraser University
Burnaby, B.C., Canada
Before me things create were none, save things
Eternal, and eternal I endure.
All hope abandon ye who enter here.
> Alan, I truely don't know [ hence why I asked]. Below is a paste from himI'd wait for more in the group to comment, but what's written below strikes me
> which is off a website where he purchased his equipment. I'm sure they are
> trying to promote their product however I just want the final answer that
> isn't bias in any way :-)
as .. not completely accurate .. to be as polite as I can be.
Others might suggest "total BS" as an accurate description, but I'll remain
polite.
Driving stepper motors is a complex process, but it's also reasonably well
understood. I'd advise you to go to the files section of this group and
study all that's there, paying particular attention to the "white papers"
produced by Mariss Fremanis, but studying all that's there.
To get you started though, I'll give you a GREATLY simplified view of a couple
of points, that while not being completely technically accurate, will be
close enough to help you being.
Steppers are current operated devices. That is, you must shove electrons
(current) into them to make them work.
Shove more current into them, they make more power.
But you can't put too much current into them or they overheat and fail.
(Typically, the insulation on the wires melts). But even before they fail,
extra current may not help as the current works in conjunction with the
magnetic materials in the stepper and if you've "exhausted" the magnetic
materials, extra current just goes to heat.
So, there is a maximum current for any particular motor, it's based upon wire
size and magnetic materials, and manufacturers are pretty good at optimizing
the two.
Now, shove current into a stepper motor and it will move to a particular angle
and stay there, resisting attempts to move it. Larger motors (with larger
amounts of current shoved into them) resist harder. This resistance is the
"holding torque" and is a measure of motor's ability to retain its rotational
position. That is, it's a measure of the motor's performance when stopped.
For any given motor, this torque is proportional to the current going into it,
the "resistance to change" increasing as the current increase, right up to
the maximum current.
(The above statement is a generalization and one of those "not completely
technically accurate" referred to above, but it's close enough for this level
of discussion)
So, you want more power, feed it more current, and if you can't feed it more
current because it will melt down, buy a bigger motor.
Now, all the above implies a means of supplying an optimal amount of current
without supplying too much current, and there are a number of ways of doing
so. The first is to read the manufacturer's spec sheet, where a motor is
typically listed with a voltage and a current spec, that basically says "this
is the maximum current this motor can take, and if you give it this much
voltage, that's the current it will draw".
One such spec might be 2 volts @ 2 amps, so put 2 volts on a pair of leads and
2 amps will be drawn.
The question then becomes, if a 2 volt power supply will cause this motor to
draw the full 2 amps it can take, why not just build a 2 volt power supply
and be done with it ?
And the answer is, if all you want to motor to do is sit there, building a 2
volt supply is the right thing to do. But if you want it to rotate ...
At this point, we need to talk a bit about how a stepper motor rotates.
(Again a simplification) Steppers have two windings, and if we shove current
into one of the windings, the rotor moves to one position and if we shove
current into the other winding, it moves to another. The other key point is
that the direction we "shove" the current in is important .. shove the
current into winding one "east to west" it moves to one position, shove it
into winding 1 (same winding) "west to east" and it moves to another
position.
So, take the simplest possible stepper motor and here's the position/current
table
Winding 1 west to east 12:00
Winding 2 north to south 3:00
Winding 1 east to west 6:00
Winding 2 south to north 9:00
Two coils * two current directions = 4 positions.
OK, you say, how about just building a pair of 2 volt supplies, electronically
connecting them up as required, and in fact, that would work.
However, here's important technical concept number 1 .. it takes time to shove
that current into the winding. (I'm going to assume from here on that we want
the motor to rotate.) If we want full power out of motor, we have to wait
until we've filled a winding up before going onto the next winding.
The faster we can get current into a winding (and out again .. more on this
later), the faster a motor will turn. Now we could just stuff less current
into a motor and it would turn faster, but at lower power, and we want all
the power we've paid for.
The ONLY way to get that current into a winding is to push harder, which
electrically means using a higher voltage. But if we use a higher voltage,
we'll get more current (current is directly proportional to the voltage
applied) and we'll melt the motor down.
So there's our quandry .. how we both use a higher voltage while not exceeding
the current ? There are three solutions, a resistor, a chopper source and a
constant current source.
The resistor is the cheapest solution, but one providing only a slight
advantage .. it does have its place, but not in the context of machine tools.
Both chopper and constant current are more complex than a single resistor, but
both work very well at using a high voltage to shove just the right amount of
current in, but no more, as quickly as possible.
A basic Constant Current (CC) method is very simple to design and very
reliable, but has the disadvantage of being extremely inefficient, requiring
a much bigger power supply and turning all of that extra power into heat.
It's no surprise that a CC design would appear as a kit .. they don't have to
include the power supply and the cost of that supply does not appear in the
calculations.
Chopper supplies are somewhat more complex than a CC supply.. but only a
bit .. and are WAY more efficient, easily saving in power supply costs what
they eat up in extra parts.
Really, the market has spoken .. I would guess that 99.9% of all commercial
stepper controllers for the machine industry built in the last ten years are
chopper designs.
HOWEVER, getting the current into the coils is only half the problem .. you
have to get the current OUT of the coil as well before shoving current into
the next one.
And it is here that the K142 design appears to fall down. I say "appears"
because I have not seen a schematic for it, only a pic of the board and so
I've got to guess as to what's going on.
Suffice to say (that's shorthand for "I'm tired of typing, so I'm going with
short explanations") getting the current out .. aka, "current decay" is just
as important in the whole scheme of performance as getting the current in,
and it's not really related to CC or chopper designs. Either can have
sophisticated or primitive approaches to the question of getting the current
out.
Do some reading on this topic.
Finally, the big issue, microstepping, which I'll cover VERY briefly. The
position of a rotor is related to the direction and magnitude of the current
in the coils .. it's a vector quantity.
Take our example above
Winding 1 west to east 12:00
Winding 2 north to south 3:00
What would happen if we did both ? That is, supplied current to both windings
at the same time, in the manner shown above ?
The rotor would point to 1:30 !
So if, using our primitive stepper above, we supplied current to one winding,
then both, then one, then both, and so on, in the right sequence and the
right direction, we would get 8 positions, not just 4.
In fact, the position of the rotor is (roughly) determined by the formula
angle = sin(current in winding 1) * cos(current in winding 2)
Say, with our 2 amp motor, we shoved 2 amps into winding 1 W->E but only 1 amp
into winding 2 N->S, where would the rotor be ? Roughly 1:00
Why is this important ? NOT because of what you're thinking, greater
positional accuracy, because you don't get that (I said "roughly" earlier)
but because of an annoying flaw in stepper motors known as "resonance".
At some rotational speed, a stepper makes no power .. it is unable to move
from position to position. Won't go into why, it just does.
The RPM at which this happens is roughly related to the size of the steps. In
our simple example, steps are 90 degrees wide, but in example two, they are
only 45 degrees wide and so the RPM at which the motor becomes a problem is
doubled.
"Microstepping" .. the 1:00 scenario .. increases the number of intermediate
steps, often to the point where resonance is no longer an issue.
Microstepping is an absolute requirement in all modern stepper systems, and I
see no evidence (from staring at the PCB) that the K142 supports this in any
way.
Read about microstepping.
Hope this helps .. gotta go.
Alan
--
Alan Rothenbush
Academic Computing Services
Simon Fraser University
Burnaby, B.C., Canada
Before me things create were none, save things
Eternal, and eternal I endure.
All hope abandon ye who enter here.
Discussion Thread
Jarrett & Heidi Johnson
2005-10-24 06:55:16 UTC
Re: PWM vs Constant current
Alan Rothenbush
2005-10-24 11:08:53 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current
Jarrett & Heidi Johnson
2005-10-24 11:55:58 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current
Alan Rothenbush
2005-10-24 16:22:38 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current
Paul Kelly
2005-10-24 16:51:49 UTC
RE: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current
Jarrett & Heidi Johnson
2005-10-24 17:45:33 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current
Jon Elson
2005-10-24 18:46:43 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current
turbulatordude
2005-10-24 19:32:24 UTC
Re: PWM vs Constant current
turbulatordude
2005-10-24 19:43:31 UTC
Re: PWM vs Constant current
R Rogers
2005-10-24 21:46:00 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
Jarrett & Heidi Johnson
2005-10-24 22:12:05 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
Jon Elson
2005-10-24 22:38:39 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current
R Rogers
2005-10-25 05:52:02 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
turbulatordude
2005-10-25 06:24:24 UTC
Re: PWM vs Constant current and G-rex
R Rogers
2005-10-25 07:07:45 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
Fred Smith
2005-10-25 10:08:26 UTC
Re: PWM vs Constant current and G-rex
Mariss Freimanis
2005-10-25 13:11:28 UTC
Re: PWM vs Constant current and G-rex
Brian
2005-10-25 14:11:41 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
Roy J. Tellason
2005-10-25 18:08:06 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
Mariss Freimanis
2005-10-25 19:02:08 UTC
Re: PWM vs Constant current and G-rex
Tony Smith
2005-10-25 19:12:37 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
Mariss Freimanis
2005-10-25 19:28:54 UTC
Re: PWM vs Constant current and G-rex
Les Newell
2005-10-26 01:17:08 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
caedave
2005-10-26 02:14:47 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
Simon Arthur
2005-10-26 16:14:52 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
KM6VV
2005-10-26 17:29:07 UTC
Re: [CAD_CAM_EDM_DRO] Re: PWM vs Constant current and G-rex
Graham Stabler
2005-10-26 17:41:49 UTC
Re: PWM vs Constant current and G-rex