Вы находитесь на странице: 1из 133

Stepping Motors

Unit: 4/EE/A0 Mechatronics


Lecturer: James Grimbleby
URL: http://www.personal.rdg.ac.uk/~stsgrimb/
email: j.b.grimbleby reading.ac.uk
Number of Lectures: 10
Recommended text book:
P P.
P.
P Acarnley:
A
l
Stepping Motors: A Guide to Modern Theory and Practice
Peter Peregrinus (for IEE)
ISBN 0-86341-027-8
James Grimbleby

School of Systems Engineering - Electronic Engineering

Syllabus
Types of stepping motor: variable-reluctance, permanentmagnet, hybrid, single-phase.
Stepping motor drivers,
drivers H
H-bridge,
bridge resistor ballasting
ballasting,
chopper drives, drive sequences
Microprocessor control of stepping motors
Static
St
ti torque
t
characteristic,
h
t i ti dynamic
d
i response, resonance,
pull-in and pull-out characteristics, micro stepping
Stepping motor model, high-speed operation, simulation,
velocity-error
velocity
error plane diagrams
Closed-loop control of stepping motors
James Grimbleby

School of Systems Engineering - Electronic Engineering

Stepping Motors
Stepping motors convert switched excitation changes to
precise increments of rotation
This property allows stepping motors to be used in
positioning systems without the need for feedback
Rotor positioning
R
i i i iis achieved
hi
db
by magnetic
i alignment
li
off rotor
and stator poles
There are 3 classes of stepping motor: variable-reluctance
motors permanent
motors,
permanent-magnet
magnet motors and hybrid motors
motors.

James Grimbleby

School of Systems Engineering - Electronic Engineering

Variable Reluctance Stepping


Variable-Reluctance
Motor
A

Soft iron
stator
t t

S
Soft iron
rotor
t
N
A
James Grimbleby

Induced
magnetisation

School of Systems Engineering - Electronic Engineering

Variable Reluctance Stepping


Variable-Reluctance
Motor
Soft iron
stator

Soft
S
ft iron
i
rotor

Stator
stack A
James Grimbleby

Stator
stack B

Stator
stack C

School of Systems Engineering - Electronic Engineering

Variable Reluctance Stepping


Variable-Reluctance
Motor
A

A:

B:

B
B

A
A
C:

A:

C
C

A
James Grimbleby

School of Systems Engineering - Electronic Engineering

Variable Reluctance Stepping


Variable-Reluctance
Motor
Anti-clockwise rotation can be produced by exciting the
stator windings in the sequence:
A B C A B C A ..
and clockwise rotation can be produced by the sequence:
A C B A C B A ..
If the
h windings
i di
A B C A are excited
i d iin turn, the
h rotor
moves by one rotor tooth pitch. Thus if p is the number of
rotor
t teeth
t th then
th the
th step
t angle
l s is
i given
i
b
by:
s = 360/3p
p = 120/p
p
A typical variable-reluctance stepping motor has 8 rotor
teeth giving a stepping angle of 15
James Grimbleby

School of Systems Engineering - Electronic Engineering

Variable Reluctance Stepping


Variable-Reluctance
Motor

James Grimbleby

School of Systems Engineering - Electronic Engineering

Permanent Magnet Stepping


Permanent-Magnet
Motor
B

Soft
S
ft iron
i
stator

S
N

S
N

A
James Grimbleby

B
B

Permanent
magnet rotor

S
School of Systems Engineering - Electronic Engineering

Permanent Magnet Stepping


Permanent-Magnet
Motor
N

A+:

N
S

S
N

N
S

B+:

S N
S N

S N
S N

S
S
A:
A-:

S
N

N
S

S
N

B:
B-:

N S
N S

N S
N S

N
James Grimbleby

School of Systems Engineering - Electronic Engineering

Permanent Magnet Stepping


Permanent-Magnet
Motor
Clockwise
Cl
k i rotation
t ti can be
b produced
d
d by
b exciting
iti th
the stator
t t
windings in the sequence:
A+ B+ AA BB A+ B+ AA ..
and anti-clockwise rotation can be produced by the
sequence:
A+ B- A- B+ A+ B- A- ..
If the windings A+ B+ A- B- A+ are excited in turn, the rotor
moves byy one rotor N p
pole p
pitch. Thus if p is the number of
rotor N poles then the step angle s is given by:
s = 360/4p = 90/p
A typical permanent magnet stepping motor has 4 N poles
giving a stepping angle of 22
22.5
5
James Grimbleby

School of Systems Engineering - Electronic Engineering

Permanent Magnet Stepping


Permanent-Magnet
Motor
0 mm
0.5

Implantable pressure release valve


James Grimbleby

School of Systems Engineering - Electronic Engineering

Hybrid Stepping Motor


B

Soft iron
stator

N
S

A
James Grimbleby

S
N
S

Rotor: soft
iron +
permanent
magnet

School of Systems Engineering - Electronic Engineering

Hybrid Stepping Motor

Permanentt
P
magnet

N
Soft iron
stator

Soft iron
rotor

James Grimbleby

School of Systems Engineering - Electronic Engineering

Hybrid Stepping Motor


A

N
S

B
S N

S N

N S

N S

N
S
A

S
N

S
N
James Grimbleby

School of Systems Engineering - Electronic Engineering

Hybrid Stepping Motor


Anti-clockwise rotation can be produced by exciting the
stator windings in the sequence:
A+ B+ AA BB A+ B+ AA ..
and clockwise rotation can be produced by the sequence:
A+ B- A- B+ A+ B- A- ..
If the windings A+ B+ A- B- A+ are excited in turn
turn, the rotor
moves by one rotor tooth pitch. Thus if p is the number of
rotor teeth then the step angle s is given by:
s = 360/4p = 90/p
A typical hybrid stepping motor has 50 rotor teeth giving a
stepping angle of 1.8
James Grimbleby

School of Systems Engineering - Electronic Engineering

Hybrid Stepping Motor


Soft iron
rotor

Permanent
magnet

Soft iron
stator
James Grimbleby

School of Systems Engineering - Electronic Engineering

Hybrid Stepping Motor

James Grimbleby

School of Systems Engineering - Electronic Engineering

Single-Phase
Single
Phase Stepping Motor

Permanent
magnet rotor

Soft iron
stator

A
James Grimbleby

A
A

School of Systems Engineering - Electronic Engineering

Single-Phase
Single
Phase Stepping Motor
S

A+:

A-:

James Grimbleby

School of Systems Engineering - Electronic Engineering

Comparison of Motor Types


Permanent-magnet
P
t
t stepping
t
i motors
t
are inferior
i f i in
i
performance to hybrid motors, and are only used in
specialised applications
Hybrid motors have a smaller step size and a higher torque
than a similar VR motor
Hybrid motors also have a detent torque
Hybrid motors have 2, rather than 3, windings
VR motors have a lower rotor inertia than hybrid motors
James Grimbleby

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Voltage Drive
+V
Vs

Q2

Q1

James Grimbleby

D2

D1

D4

D3

School of Systems Engineering - Electronic Engineering

Q4

Q3

H Bridge: Voltage Drive, Positive


H-Bridge:
Excitation
+V
Vs

Q2

D2
IL

Q1

James Grimbleby

D1

D4

Q4

ZL

D3

School of Systems Engineering - Electronic Engineering

Q3

H-Bridge:
H
Bridge: Voltage Drive
Stator winding excitation:
I
L

R
V0
dI
R.I + L. = V0
dt

-t
I = I0 .1 exp
T0

James Grimbleby

V0
where : I0 =
R

L
T0 =
R

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Voltage Drive
Motor parameters: (type ID31 motor)
Number of rotor p
poles:
Rotor inertia:
Coupling
p g coeff:
Viscous damping:
Coulomb friction:
Stator winding resistance:
Stator winding inductance:
Nominal stator current:
Thus:
and:
James Grimbleby

Nr = 50
Jr = 1.1610-5 kg m2
Kc = 0.121 V rad-1s
Dr = 0.0006 Nmrad-1s
Fr = 0.000 Nm
Rw = 0.66
Lw = 1.52 10-3 H
Iw = 2.0 A

V0 = Rw Iw = 1.32 V
T0 = Lw / Rw = 2.3 ms
School of Systems Engineering - Electronic Engineering

H Bridge: Voltage Drive,


H-Bridge:
De-excitation
+V
Vs

Q2

D2
IL

Q1

James Grimbleby

D1

D4

Q4

ZL

D3

School of Systems Engineering - Electronic Engineering

Q3

H-Bridge:
H
Bridge: Voltage Drive
Stator winding de
de-excitation:
excitation:
I
L

R
V0
dI
R.I + L. = V0
dt

-t
I = I0 .2 exp
1
T0

James Grimbleby

V0
where : I0 =
R

L
T0 =
R

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Voltage Drive
Low stepping rate:

High stepping rate:

James Grimbleby

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Resistor Ballast Drive
For the ID31 motor:

L 1.52 10 3
T0 = =
= 2.3 ms
R
0.66
Stepping
pp g rate should be less than 400 step/s
p
To increase the stepping rate it is necessary to reduce T0
Since it is not possible to reduce L the only alternative is to
increase R: an external ballast resistance is placed in series
with the winding
This reduces T0 at the expense of efficiency
James Grimbleby

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Resistor Ballast Drive
+Vs

Q2

Q1

James Grimbleby

D2

D1

D4

D3

School of Systems Engineering - Electronic Engineering

Q4

Q3

H-Bridge:
H
Bridge: Resistor Ballast Drive
Use a series ballast resistance of 11.34 :

L 1.52 10 3
T0 = =
= 0.13 ms
R 11.34 + 0.66
Stepping
pp g rate is increased to 8000 step/s
p
To maintain a stator current of 2 A requires
q
a supply
pp y voltage
g
of 24 V
Static power dissipation has increased from 2.64 W to 48 W
The poor efficiency of resistor ballast drive limits application
to low power motors
James Grimbleby

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Chopper Drive
+V
Vs

Q2

Q1

James Grimbleby

D2

D1

D4

D3

School of Systems Engineering - Electronic Engineering

Q4

Q3

H Bridge: Chopper Drive, Initial


H-Bridge:
Excitation
+V
Vs

Q2

D2
IL

Q1

James Grimbleby

D1

ZL

D4

D3

School of Systems Engineering - Electronic Engineering

Q4

Q3

H-Bridge:
H
Bridge: Chopper Drive
Stator winding initial excitation:
dI
R.I + L. = V0 where : V0 >> R.I
dt
V0
I0 .L
I .t or : T0
V0
L

T0 is the time for the current to reach the nominal stator


current I0
I0 .L 2 1.52 10 3
T0
=
= 0.13 ms
V0
24

When stator current reaches nominal current the chopper


goes into freewheel mode
drives g
James Grimbleby

School of Systems Engineering - Electronic Engineering

Winding Cu
urrent (A)

H-Bridge:
H
Bridge: Chopper Drive
76
76
e

Final current = 50/0


50/0.66
66 = 76 A

2
0.13 ms 2.3 ms
James Grimbleby

Time

School of Systems Engineering - Electronic Engineering

H Bridge: Chopper Drive,


H-Bridge:
Freewheeling
+V
Vs

Q2

D2
IL

Q1

James Grimbleby

D1

ZL

D4

D3

School of Systems Engineering - Electronic Engineering

Q4

Q3

H-Bridge:
H
Bridge: Chopper Drive
St t winding
Stator
i di freewheeling:
f
h li
dI
R.I + L. = V0 = 0
dt
L
-t
I = I0 .exp
where : T0 =
T0
R

Stator
S
a o cu
current
e decays with time
e constant
co s a T0 towards
o a ds zero
eo
By
y alternately
y applying
pp y g the full supply
pp y voltage,
g , and the
freewheeling, the stator current is maintained close to the
nominal current.
James Grimbleby

School of Systems Engineering - Electronic Engineering

H Bridge: Chopper Drive,


H-Bridge:
De-excitation
+V
Vs

Q2

D2
IL

Q1

James Grimbleby

D1

ZL

D4

D3

School of Systems Engineering - Electronic Engineering

Q4

Q3

H-Bridge:
H
Bridge: Chopper Drive
Stator winding de
de-excitation:
excitation:
dI
R.I + L. = V0
dt
V0
I = I0 .t
L

where
h
: V0 >> R.I
I0 .L
or : T0 =
V0

T0 is the time for the current to fall to zero, and is the same
as the excitation time
The current in the stator winding is normally sensed by
placing
l i a smallll resistor
i t iin series
i with
ith th
the source tterminals
i l off
Q1 and Q3
James Grimbleby

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Chopper Drive
Initial
excitation
it ti
Chopping
De-excitation
Because
ecause o
of magnetostriction
ag e os c o the
e motor
o o will ge
generate
e a e noise
o se
at the chopping frequency
To prevent this causing annoyance the chopping
frequencyy is normallyy chosen to be greater
g
than 25 kHz
James Grimbleby

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Chopper Drive

D l 2 A chopper
Dual
h
d
drive
i
James Grimbleby

School of Systems Engineering - Electronic Engineering

H-Bridge:
H
Bridge: Chopper Drive

Commercial 4A chopper drive (Mclennan Servo Supplies Ltd)


James Grimbleby

School of Systems Engineering - Electronic Engineering

Stepping Motor Drive Sequences


The simplest drive sequence is the one
one-winding-on
winding on
sequence:
A+
1
0
0
0

B+
0
1
0
0

A
0
0
1
0

B
0
0
0
1

This sequence repeats after 4 steps


It is rarely used because a better performance can be
obtained from the two-windings-on or wave sequence
James Grimbleby

School of Systems Engineering - Electronic Engineering

Stepping Motor Drive Sequences


The two
two-windings-on
windings on or wave sequence:
A+
1
0
0
1

B+
1
1
0
0

A
0
1
1
0

B
0
0
1
1

This sequence also repeats after 4 steps


It provides 2=1.4 times the torque of the one-winding-on
sequence, a the expense of twice the static power
consumption
James Grimbleby

School of Systems Engineering - Electronic Engineering

Stepping Motor Drive Sequences


The half-step sequence:
A+
1
1
0
0
0
0
0
1

B+
0
1
1
1
0
0
0
0

A
0
0
0
1
1
1
0
0

B
0
0
0
0
0
1
1
1

This sequence repeats after 8 steps and provides twice the


precision of other sequences
James Grimbleby

School of Systems Engineering - Electronic Engineering

Microprocessor Control
Microprocessor
system
step
dir
step
dir
step
dir

Sequencer
and drivers
step
dir

A
B

Motor
A
B

Other
axes

The most common interface between a microprocessor


p
system and a sequencer/driver is by step and dir signals
James Grimbleby

School of Systems Engineering - Electronic Engineering

Sequencer State Machine


A,B
di 0
dir=0
B

s7

di 0
dir=0

s0

di 1
dir=1

A
s1

di 1
dir=1

dir=0

dir=0
dir=1
s6

A1,B
,

dir=1

Half-step
sequence

A,B1
,

dir=1

dir=0

dir=1

s5
A1

dir=1

dir=0

dir=1
s4

dir=0

dir=0
dir
0

s3
B1

A1 B1
A1,B1
James Grimbleby

s2

School of Systems Engineering - Electronic Engineering

Sequencer State Machine


PIN 1
PIN 2

= clock;
= dir;

/* inputs */
/
/

PIN
PIN
PIN
PIN

=
=
=
=

/* outputs */

16
17
18
19

A;
A1;
B;
B1;

PIN [12..14] = [y2..0]; /* state vars */


FIELD stepper = [y2..0];
[y2 0];
$DEFINE s0 'b'000
/* states */
$DEFINE s1 'b'001
$DEFINE s2
2 'b'011
$DEFINE s3 'b'010
$DEFINE s4 'b'110
$DEFINE s5 'b'111
$DEFINE s6 'b'101
$DEFINE s7 'b'100
b 100
James Grimbleby

School of Systems Engineering - Electronic Engineering

Sequencer State Machine


sequence stepper {
present s0
if ( dir ) next s1;
if (!dir ) next s7;
out A,B;
present s1
if ( dir)
) next s2;
;
if (!dir) next s0;
out A;
present s2
if ( dir ) next s3;
.......................
present s7
if ( dir) next s0;
if (!dir) next s6;
out B;
}
James Grimbleby

School of Systems Engineering - Electronic Engineering

Sequencer State Machine

Sequencer state machine simulation


James Grimbleby

School of Systems Engineering - Electronic Engineering

Sequencer State Machine


______________
|
Stepping
|
clock x---|1
20|---x
di x---|2
dir
|
19|---x
|
x---|3
18|---x
x---|4
x
|4
17|---x
17|
x
x---|5
16|---x
x---|6
15|---x
x---|7
|
14|---x
|
x---|8
13|---x
x---|9
x
|9
12|---x
12|
x
GND x---|10
11|---x
|______________|

Vcc
B1
B
A1
A
y0
y1
y2

GAL16V8: connection details


James Grimbleby

School of Systems Engineering - Electronic Engineering

Microprocessor Coordinator
Step class (base class) definition:
class step {
public:
step() {}
// step class constructor
~step() {}
// step class destructor
void up();
// move one step clockwise
void dn();
// move one step anti
anti-clockwise
clockwise
};

James Grimbleby

School of Systems Engineering - Electronic Engineering

Microprocessor Coordinator
Step class (base class) implementation:
#include "step.h"
#define p ((volatile unsigned char *) ...
#d fi
#define
di bi 0x01
dir_bit
0 01
#define step_bit 0x02
void step::up() {
*p = dir_bit;
*p = dir_bit
dir bit | step_bit;
step bit;
*p = dir_bit;
}
void step::dn() {
*p
p = 0;
;
*p = step_bit;
*p = 0;
}
James Grimbleby

School of Systems Engineering - Electronic Engineering

Microprocessor Coordinator
Move class (derived class) definition:
#include "step.h"
p
class move: private step {
private:
i t
long int pos;
p
public:
move() { pos = 0; }
// move class constructor
~move()
() {}
// move class constructor
void g
go(long
(
g int x,
, long
g int s);
);
// move to position x at speed s
};
James Grimbleby

School of Systems Engineering - Electronic Engineering

Microprocessor Coordinator
Move class (derived class) implementation:
#include "move.h"
void move::go(long int x, long int s)
{
const long int q = 1000000 / s;
l
long
int
i
k
k;
while (pos != x) {
for (k = q; k > 0; --k);
k);
if (pos < x) {
up(); pos++;
}
else {
dn(); pos
pos--;
;
}
}
}
James Grimbleby

School of Systems Engineering - Electronic Engineering

Microprocessor Coordinator
Delayy loop:
p
; D7 <- k
; D5 <
<- q
; for (k = q; k > 0; --k);
000078 2E05
MOVE.L D5,D7
00007 6002
00007A
BRA _44
44
00007C 5387
_43
SUBQ.L #--1,D7
00007E 4A87
_44
44
TST.L D7
000080 6EFA
BGT _43

There are 3 instructions in main delay loop: at 250ns per


instruction this gives t=750ns
20,000 steps/s 50 s per step
50 750 s per step 19704 steps/s
50.750
James Grimbleby

School of Systems Engineering - Electronic Engineering

Microprocessor Coordinator
Improved move class (derived class) implementation:
#include "move.h"
void move::go(long int x, long int s)
{
unsigned long int k = 0;
while (pos != x) {
k += s;
if (k > 1000000) {
k -= 1000000;
if (x > pos) {
up(); pos++;
}
else {
dn(); pos--;
}
}
}
}
James Grimbleby

School of Systems Engineering - Electronic Engineering

k:

James Grimbleby

22
27156
6
68
83945
5
14
40734
4
59
97523
3
05
54312
2
51
11101
96
67890
0
42
24697
7
88
81468
8
33
38257
7
79
95046
6
25
51835
5

89382
24
01728
80
14073
36
26419
93
38764
48
51110
04
63456
60
75801
16
88147
72
00492
28
12838
84
25184
40

31
13578
8

85
56789
9
77
70367
7

s=123456:
123456

77036
68

64691
12

52345
56

40
00000
0

k:

40000
4
00

Microprocessor Coordinator

s 456789:
s=456789:
k += s;
;
if (k > 1000000)
k -= 1000000;

School of Systems Engineering - Electronic Engineering

Microprocessor Coordinator
Each iteration of the while loop involves around 24 machine
instructions taking t=6s.
t=6s
The proportion of iterations generating a step is s/1,000,000
s/1 000 000
and varies from 0 to 1 (as s varies from 0 to 1,000,000)
The maximum step frequency is therefore 160,000 steps/s
and the frequency increment is 160
160,000/1,000,000
000/1 000 000 = 0.16
0 16
steps/s
There will be a jitter in the step pulses of t=6s
James Grimbleby

School of Systems Engineering - Electronic Engineering

Microprocessor Coordinator
Main loop:
#include "move.h"
int main()
{
move s;
for (;;) {
delay(100000);
s.go(800, 800);
d l (100000)
delay(100000);
s.go(0, 1200);
}
return 0;
}
James Grimbleby

School of Systems Engineering - Electronic Engineering

Hardware Implementation
32-bit
MicroLatch
processor
32
32
D-bus
D Q
(s)
ce
l
le

32-bit
32-bit
Adder
Register
oflo
A
3
32
sum
D Q
clk
B
32
Clock

At each clock edge: oflo = (k + s ) > 232


k = (k + s) mod 232
James Grimbleby

School of Systems Engineering - Electronic Engineering

step
t

(k)

Microprocessor Coordinator

Commercial microprocessor-based coordinator


(Mclennan Servo Supplies Ltd)
James Grimbleby

School of Systems Engineering - Electronic Engineering

Static Torque Characteristic


Torque
T0
-4
4

-3
3

-2
2

-1
1

Steps
1
2
=2/4n

3
2 /
=2/n

T = T0 sin n
where n is the number of rotor teeth and is the rotor angle
James Grimbleby

School of Systems Engineering - Electronic Engineering

Static Torque Characteristic


The motor torque is given by:
T = T0 sin n

If a load torque TL is applied to the motor then the rotor will


be displaced
p
to an angle
g e where:
TL = T0 sin n
sin1( TL / T0 )
e =
n

This formula is true for |TL| <T0


If |TL| exceeds T0 then synchronisation is lost
James Grimbleby

School of Systems Engineering - Electronic Engineering

Static Torque Characteristic


i = 2i 0

-4

i = i0
-3 -2

Torque
q

-1

Steps
i = i0 / 2

Stator is nearly saturated at nominal current i0, so doubling


current does not double torque
James Grimbleby

School of Systems Engineering - Electronic Engineering

Static Torque Characteristic


Stator B
Stator A
A+B
-4

-3 -2

Torque

2T0
T0

-1

Steps

By exciting 2 stator windings, the torque is increased from


T0 to 2T0
James Grimbleby

School of Systems Engineering - Electronic Engineering

Torque/Speed Characteristic
Pull-out
Torque
T0/2

Stepping Speed
Pull-out
Pull
out torque is the torque that the motor can generate at a
given stepping rate: if the load torque exceeds this then the
motor loses synchronisation
James Grimbleby

School of Systems Engineering - Electronic Engineering

Static Torque Characteristic


Torque
B+

A+

AT0/2

-4

-3

-2

-1

=2/8n

2
T0
Tmin = T0 cos n.
= T0 cos =
8n
8n
4
2
James Grimbleby

School of Systems Engineering - Electronic Engineering

T0
3

Static Torque Characteristic


Torque
B+

A+

-4
4

-3
3

Tavg =
James Grimbleby

-2
2

2n

-1
1
= -/4n

/ 4n

T0 cos n d =

/ 4n

A-

T0

1
=/4n

2T0

/4

2 2T0
cos d =

/ 4

School of Systems Engineering - Electronic Engineering

Single Step: Dynamic Response


2
Rotor
position
iti
(steps)
1

0
0.0

Time (seconds)
0.1

0.2

This shows the rotor position following a change of excitation


from A+ to B+ (1 step, wave sequence)
James Grimbleby

School of Systems Engineering - Electronic Engineering

Single Step: Dynamic Response


In the absence of load torque:
d2
d
Jr
+ Dr
= T0 sin n
dt
dt 2
Where Jr is the rotor inertia, and Dr is the viscous damping
coefficient
For small displacements
p
from equilibrium:
q
d2
d
Jr
+ Dr
T0 n
dt
dt 2
This is the equation for damped simple harmonic motion
with resonance frequency:
1
f0 =
nT0 / Jr
2
James Grimbleby

School of Systems Engineering - Electronic Engineering

Single Step: Dynamic Response


For the ID31 Motor:
Number of rotor poles:
Rotor inertia:
Peak torque:

Nr = 50
Jr = 1.1610-5 kg m2
T0 = 0.242 N m

f0 = 1/ 2

nT0 / Jr

= 162 Hz

Any attempt to step the motor at the resonance rate will lead
to loss of synchronisation
The transient response from one step will reinforce the
response from a previous step, and eventually the amplitude
will exceed two steps.
James Grimbleby

School of Systems Engineering - Electronic Engineering

Multiple Step: Dynamic Response

4
Rotor
position
( p )
(steps)
1
0

0.0

Time (seconds)

This shows 4 steps at a stepping rate of 40 steps/s


James Grimbleby

School of Systems Engineering - Electronic Engineering

0.2

Multiple Step: Dynamic Response

4
Rotor
position
(steps)
1
0

0.0

Time (seconds)

0.1

This shows loss of synchronisation as a result of 4 steps at a


pp g speed
p
of 132 steps/s
p
((the resonance speed)
p
)
stepping
James Grimbleby

School of Systems Engineering - Electronic Engineering

Multiple Step: Dynamic Response

4
Rotor
position
(steps)
1
0

0.0

Time (seconds)

0.1

This shows loss of synchronisation as a result of 4 steps at a


pp g speed
p
of 66 steps/s
p
((half the resonance speed)
p
)
stepping
James Grimbleby

School of Systems Engineering - Electronic Engineering

Multiple Step: Dynamic Response

4
Rotor
position
(steps)
1
0

0.0

Time (seconds)

This shows 4 steps at a stepping speed of 200 steps/s (well


above the resonance speed)
James Grimbleby

School of Systems Engineering - Electronic Engineering

0.1

The Problem of Resonance


Smaller step
p size of half-step
p sequence
q
reduces amplitude
p
of
oscillation
R
Resonance
can b
be eliminated
li i t d b
by micro-stepping
i
t
i
Resonance can be reduced by applying extra damping
Simple viscous or Coulomb damping reduces the
perfomance (maximum stepping speed)
1. Apply electrical damping to non-excited stator winding
2 Appl
2.
Apply mechanical damping such
s ch as Viscously-Coupled
Visco sl Co pled
Inertial Damping (VCID)
James Grimbleby

School of Systems Engineering - Electronic Engineering

Electrical Damping of Resonance


When one stator
Wh
t t winding
i di is
i excited
it d th
the rotor
t move tto a
position where the torque, and the rate-of-change of
magnetic flux,
flux are zero
At this point the rate
rate-of-change
of change of magnetic flux in the
orthogonal winding is a maximum
Any change in rotor position induces a voltage in the
orthogonal winding
A resistor connected across the orthogonal winding will
extract energy and damp the oscillation
James Grimbleby

School of Systems Engineering - Electronic Engineering

Mechanical Damping of Resonance


Viscously Coupled Inertial Damper (VCID), aka Lanchester
Viscously-Coupled
damper:
D
Damper
h
housing
i

Damper rotor

Viscous fluid

There is no power loss during constant rotation


James Grimbleby

School of Systems Engineering - Electronic Engineering

Micro Stepping
Micro-Stepping
Micro-stepping involves interpolating between full or halfstep positions
This is achieved by linear control of the stator winding drive
currents
t
Micro-stepping
Micro
stepping provides greater precision and smoother
operation at low speeds, and eliminates resonance
Micro-stepping requires complex linear drives together with
DACs to set the winding currents

James Grimbleby

School of Systems Engineering - Electronic Engineering

Micro-Stepping
Micro
Stepping
In sine-cosine micro-stepping
pp g the currents in the A and B
stator windings are given by:
i a = i 0 sin
i b = i 0 cos

where varying from 0 to /2 moves the rotor position by


one full step
In principle there is no limit to the number to the number of
micro-step precision
In practice there is little point in using more than 256 microsteps
p between full steps
p
James Grimbleby

School of Systems Engineering - Electronic Engineering

Micro-Stepping
Micro
Stepping
=0

Torque

A
B

A
B

Steps

Equilibrium
position
=/3
/3

A+B

Torque
A+B
Steps

A
B
Equilibrium
position
James Grimbleby

=/6

Torque
A+B
Steps

Equilibrium
position
=/2
/2
A

Torque
A+B
Steps

Equilibrium
position

School of Systems Engineering - Electronic Engineering

Micro-Stepping
Micro
Stepping
The apparent
pp
superior
p
p
precision of micro-stepping
pp g is only
y
realised in practice in the absence of significant coulomb
friction and load torque
The actual shape of the static torque curve is not exactly
sinusoidal; this results in the micro steps being non-uniformly
spaced
DAC quantisation will also result in non-uniformly spaced
micro
i
steps
t
Very high step rates are necessar
Ver
necessary to achie
achieve
e normal rotation
speeds
James Grimbleby

School of Systems Engineering - Electronic Engineering

Start/Stop Operation
The pull-out
Th
ll t torque-speed
t
d characteristic
h
t i ti may extend
t d tto
10,000 or 20,000 steps/s
However, a motor cannot be started or stopped at these
speeds
To move a large number of steps quickly a motor must be
started at low speed and then accelerated to high speed
The range of load torques and speeds for which the motor
will start and stop without loss of synchronisation is known
as the pull-in characteristic
James Grimbleby

School of Systems Engineering - Electronic Engineering

Start/Stop Operation
C
Consider
id a motor
t iinitially
iti ll att restt
The first step of a sequence will cause the motor to
accelerate and it must move far enough, and attain sufficient
speed for synchronisation to be maintained
speed,
If the motor moves 1/2 step during the period of the first step
then a high torque will continue to be available during the
next step
The maximum pull-in
pull in torque occurs at zero speed, and is the
same as the zero-speed pull-torque
James Grimbleby

School of Systems Engineering - Electronic Engineering

Start/Stop Operation
The maximum pull-in speed occurs when the load torque is
zero and all the motor torque is available for acceleration:
Jr

Integrating:

d2
dt 2

= Tavg =

2T0 2

1 2T0 2 2 1 2
t .
=
2 Jr
2 4n
t

2J r
4nT
T0 2

Maximum pull-in speed:


2 nT0 2
fmax =

Jr
James Grimbleby

School of Systems Engineering - Electronic Engineering

Start/Stop Operation
For the ID31 Motor:
Number of rotor poles:
Rotor inertia:
P k torque:
Peak
t

Nr = 50
Jr = 1.1610-5 kg m2
T0 = 0.242
0 242 N m

Maximum pull-in
pull in speed:
2 nT0 2
fmax =

Jr
= 773 step/s

In general fmax is related to the resonant rate f0:


2 nT0 2
= 44 2f0 = 4.8f0
fmax =

Jr
James Grimbleby

School of Systems Engineering - Electronic Engineering

Start/Stop Operation
Torque
Pull-in
Torque
Pull-out
Torque

Start at low
p
speed
Stop at low
speed
James Grimbleby

Stepping Speed
Accelerate to
high speed

Run at high
p
speed

Decelerate to
low speed

School of Systems Engineering - Electronic Engineering

Start/Stop Operation
Slew
Speed
Speed

Run at slew
speed

Base
Speed
Time
Start at base
Decelerate to
speed
base speed
Accelerate to
slew speed
James Grimbleby

Stop at low
speed

School of Systems Engineering - Electronic Engineering

Start/Stop Operation
Slew
Speed
Speed
Base
Speed
Time
Guard steps
Count steps in acceleration phase: assume that the same
number of steps will be required for deceleration
James Grimbleby

School of Systems Engineering - Electronic Engineering

Start/Stop Operation
Slew
Speed
v
Speed

Slope =
deceleration (d)

Area = remaining
steps (n)

Base
Speed

vb
Time
1
n = t (v + v b )
2

t
v vb = d t

v = v b2 + 2nd
James Grimbleby

School of Systems Engineering - Electronic Engineering

Stepping Motor Model


Stator winding A:

ia

va

ea

va is the voltage applied to the winding


g current
ia is the winding
ea is the flux-induced voltage in the winding
and for stator winding
g B:

di a
v a = Ri a + L
+ ea
dt
di b
v b = Ri b + L
+ eb
dt

James Grimbleby

School of Systems Engineering - Electronic Engineering

Stepping Motor Model


a and b are the magnetic flux in stator windings A and B,
where:

a = m cos n
b = m sin n

and m is the maximum stator flux


The voltages ea and eb that are induced in the stator
windings are given by:

da
d
ea = m
= mn m sin n .
= K c sin n
dt
dt
d b
d
eb = m
= mn
m cos n .
= K c cos n
dt
dt
where m is the number of turns on the stator winding
James Grimbleby

School of Systems Engineering - Electronic Engineering

Stepping Motor Model


Conservation of energy: mechanical power out = electrical
power in:
Ta = i aea and : Tb = i b eb
so:
Ta = i a K c sin n and : Tb = i b K c cos n
Complete model:
d2
d
Jr
+ Dr
= T + Ta + Tb
2
dt
dt
= T i aK c sin n + i b K c cos n
di a
v a = Ri a + L
K c sin n
dt
di b
v b = Ri b + L
+ K c cos n
dt
James Grimbleby

School of Systems Engineering - Electronic Engineering

Stepping Motor Model


State variable form:
d
=
dt
Kc
Kc
Dr
d T
=

ia
sin n + i b
cos n
dt Jr Jr
Jr
Jr
di a 1
Kc
R
= va ia +
sin n
dt L
L
L

di b 1
Kc
R
= vb ib
cos n
dt L
L
L

These equations can be solved numerically using, for


example, the Runge-Kutta method
James Grimbleby

School of Systems Engineering - Electronic Engineering

High Speed Operation


To determine the performance of a stepping motor with
chopper drive it is necessary to resort to computer simulation
However, if some simplifying assumptions are made an
p
describing
g the torque-speed
q
p
characteristic can be
expression
derived
If resistor-ballast drive is used then the drive voltage
waveforms are simple square waves
Because of the low-pass filtering action of the winding
inductance the current waveforms are likely to be close to
sinusoidal
James Grimbleby

School of Systems Engineering - Electronic Engineering

High Speed Operation


To estimate the high-speed motor characteristic the winding
currents are assumed to be sinusoidal
One winding on:
+Vs
-Vs
Fundamental sinusoidal component:
1 2
a1 = f ( ) cos d

2Vs / 4
4Vs
2 2Vs
=
sin =
= 0.9Vs
cos d =
/ 4

4
James Grimbleby

School of Systems Engineering - Electronic Engineering

High Speed Operation


Two windings on:
+Vs
-V
Vs

2Vs / 2
4Vs
4Vs
a1 =
sin =
= 1.3Vs
cos d =
/ 2

Half
H
lf step:
t
+Vs
-Vs

2Vs 3 / 8
4Vs
3
a1 =
sin
= 1.2Vs
cos d =
8
3 / 8

James Grimbleby

School of Systems Engineering - Electronic Engineering

High Speed Operation


Torque from stator winding A:
Ta = i aK c sin n = i aK c sin nt

C
Current
t iin stator
t t winding
i di A
A:
i a = i 0 sin(nt + )

So stator torque is given by:


Ta = i 0 sin(nt + ).K c sin nt
= i 0K c .{sin
{sin nt . cos + cos nt . sin }.
} sin nt
= i 0K c .{sin2 nt . cos + sin nt . cos nt . sin }
i 0K c
i 0K c
=
.{1 cos 2nt }. cos
sin 2nt . sin
2
2
James Grimbleby

School of Systems Engineering - Electronic Engineering

High Speed Operation


Average stator torque:
i 0K c
Ta =
cos
T = Ta + Tb = i 0K c cos
2
Voltage applied to stator winding A:
di a
v a = v 0 sin(
i (nt + ) = Ri a + L
+ ea
dt
= Ri 0 sin(nt + ) + Lni 0 cos(nt + ) K c sin nt

Expanding trigonometrical functions:


v 0 sin nt . cos + v 0 cos nt . sin
= Ri 0 sin
i nt . cos + Ri 0 cos nt . sin
i
+ Lni 0 cos nt . cos Lni 0 sin nt . sin K c sin nt
James Grimbleby

School of Systems Engineering - Electronic Engineering

High Speed Operation


Comparing
p
g coefficients of sinnt and cosnt :
v 0 cos = Ri 0 cos Lni 0 sin K c
v 0 sin
i = Ri 0 sin
i + Ln
L i 0 cos

Substitute for i0sin :


R 2i 0 cos Ln{v 0 sin Lni 0 cos } = RK c + Rv 0 cos

or:

{R 2 + L2n 2 2 }.i0 cos = v0 {Ln sin + R cos } + RKc


= v 0 R 2 + L2n 2 2 sin( + ) + RK c

James Grimbleby

School of Systems Engineering - Electronic Engineering

High Speed Operation


So:

v 0 sin( + )

i 0 cos =

2 2 2

R +L n

RK c

R 2 + L2n 2 2

Total motor torque:


T =

K c v 0 sin( + )
2

2 2 2

R +L n

RK c2

R 2 + L2n 2 2

M i
Maximum
motor
t torque:
t
T =
James Grimbleby

Kcv0
2

2 2 2

R +L n

RK c2

R 2 + L2n 2 2

School of Systems Engineering - Electronic Engineering

High Speed Operation


Maximum motor torque:
T =

Kcv0
2

2 2 2

R +L n

RK c2

R 2 + L2n 2 2

Firstly the drive voltage is chosen


chosen, using the appropriate
sinusoidal component of the actual voltage drive waveform
The resistance R comprises the motor winding resistance
plus the ballast resistance (chosen to give the correct
winding current)
Surprisingly a significant torque is available at speeds above
Kc=vv0
James Grimbleby

School of Systems Engineering - Electronic Engineering

High Speed Operation


0.3
Torque-Speed
Characteristic
To
orque (Nm)

2V

0.0

5V
10V

James Grimbleby

20V

10000
Rotor speed (steps/s)
School of Systems Engineering - Electronic Engineering

20000

Steps
s

Stepping Motor Simulation

Time
0.0s
James Grimbleby

Simulation: 10 steps at 25 steps/s


School of Systems Engineering - Electronic Engineering

0.5s

Steps
s

Stepping Motor Simulation

Time
0.0s

Simulation: 10 steps at 120 steps/s

James Grimbleby

School of Systems Engineering - Electronic Engineering

0.2s

Steps
s

Stepping Motor Simulation

Time
0.0s

Simulation: 10 steps at 500 steps/s

James Grimbleby

School of Systems Engineering - Electronic Engineering

0.1s

Steps
s

Stepping Motor Simulation

Time
0.0s

Simulation: 10 steps at 900 steps/s

James Grimbleby

School of Systems Engineering - Electronic Engineering

0.5s

Velocity-Error
Velocity
Error Plane
It is convenient to display
p y the p
performance of a stepping
pp g
motor on the velocity-error plane
This plane
Thi
l
has
h positional
iti
l error as the
th horizontal
h i
t l axis,
i and
d
velocity as the vertical axis
A velocity-error plane trajectory always finishes at the zeroerror zero-velocity point if the motor remains synchronised
error,
It is therefore obvious from a simulation whether or not
synchronisation has been lost
The velocity-error plane is sometimes called the phase
plane
James Grimbleby

School of Systems Engineering - Electronic Engineering

-400
00

0 steps/ss

4
4000

Velocity-Error
Velocity
Error Plane Trajectories

-4 steps
0 steps
+4 steps
Low damping coefficient: Dr=0.0006
=0 0006

James Grimbleby

School of Systems Engineering - Electronic Engineering

-400
00

0 steps/ss

4
4000

Velocity-Error
Velocity
Error Plane Trajectories

-4 steps
0 steps
+4 steps
Hi h damping
High
d
i coefficient:
ffi i t Dr=0.006
0 006

James Grimbleby

School of Systems Engineering - Electronic Engineering

0 steps/ss

2
2500

Velocity-Error
Velocity
Error Plane Trajectories

-250
00

Initial change in
command position

James Grimbleby

-2 steps
0 steps
10 steps at 25 steps/s
School of Systems Engineering - Electronic Engineering

-250
00

0 steps/ss

2
2500

Velocity-Error
Velocity
Error Plane Trajectories

James Grimbleby

IInitial
iti l change
h
iin
command position
-2 steps
0 steps
10 steps at 120 steps/s
School of Systems Engineering - Electronic Engineering

-250
00

0 steps/ss

2
2500

Velocity-Error
Velocity
Error Plane Trajectories

James Grimbleby

Initial change in
command position
-2 steps
0 steps
10 steps at 130 steps/s
School of Systems Engineering - Electronic Engineering

-250
00

0 steps/ss

2
2500

Velocity-Error
Velocity
Error Plane Trajectories

James Grimbleby

Initial change in
command position
-2 steps
0 steps
10 steps at 140 steps/s
School of Systems Engineering - Electronic Engineering

0 steps/ss

2
2500

Velocity-Error
Velocity
Error Plane Trajectories

-250
00

Initial
a cchange
a ge in
command position

James Grimbleby

-2 steps
0 steps
10 steps
t
att 500 steps/s
t
/
School of Systems Engineering - Electronic Engineering

0 steps/ss

2
2500

Velocity-Error
Velocity
Error Plane Trajectories

-250
00

Initial
a cchange
a ge in
command position

James Grimbleby

-2 steps
0 steps
10 steps
t
att 800 steps/s
t
/
School of Systems Engineering - Electronic Engineering

0 steps/ss

2
2500

Velocity-Error
Velocity
Error Plane Trajectories

-250
00

Initial
a cchange
a ge in
command position

James Grimbleby

-2 steps
0 steps
10 steps
t
att 900 steps/s
t
/
School of Systems Engineering - Electronic Engineering

0 s
steps/s

4000
0

Velocity-Error
Velocity
Error Plane Trajectories

-2 steps
0 steps
B
Base=400,
400 slew=4000,
l
4000 accel=32000,
l 32000 d
decel=48000
l 48000
James Grimbleby

School of Systems Engineering - Electronic Engineering

0 s
steps/s

4000
0

Velocity-Error
Velocity
Error Plane Trajectories

-2 steps
0 steps
B
Base=400,
400 slew=6000,
l
6000 accel=32000,
l 32000 d
decel=48000
l 48000
James Grimbleby

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control
Stepping
pp g motor systems
y
are simple,
p robust and very
y reliable
Open-loop stepping motors lose synchronisation as a result
of:
excessive load torque
operation at the resonant step rate
too rapid acceleration or deceleration
In open-loop
open loop systems loss of synchronisation can be neither
detected nor corrected
This problem can be overcome by the use of positional
feedback
James Grimbleby

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control
In closed-loop
p stepping
pp g motor systems
y
an incremental shaft
encoder is used to sense rotor position
Alternatively
Alt
ti l the
th currentt waveforms
f
iin th
the stator
t t windings
i di
can
be used to sense position
The information gained can be used to detect and correct
loss of synchronisation
The excess torque
q capability
p
y that must be built into open-loop
p
p
systems is no longer required
Closed-loop stepping motor systems share the reliability and
robustness of open-loop systems
James Grimbleby

School of Systems Engineering - Electronic Engineering

Open-Loop
Open
Loop Control
Coordinator
step
di
dir
step
dir
step
dir

Sequencer
step
di
dir

A
B

Motor
A
B

Other
axes

The coordinator generates step and dir signals for several


axes
The sequencer generates the drive sequences for the stator
windings
James Grimbleby

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control
Coordinator

Sequencer

step
p
dir
step
dir
step
dir

step
p
dir

step
dir
cpos

James Grimbleby

Motor/encoder

A
B

A
B

step
dir
mpos

Closed-loop
controller

xpos

School of Systems Engineering - Electronic Engineering

Open-Loop
Open
Loop Control
T
Torque
Position
( steps)
-5

-4 -3 -2 -1

4 5

Static torque characteristic: 2 windings on


James Grimbleby

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control
T
Torque
Position
( steps)
-5 -4

-3 -2 -1

Ideal closed-loop static torque characteristic to maintain a


position of 0
p
James Grimbleby

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control Algorithm
Closed-loop
Closed
loop control algorithm to maintain a position of 0:
if (mpos < -2)
2)
xpos = mpos + 2;
else if (mpos > 2)
xpos = mpos - 2;
else
xpos = 0;

Provided that the motor position remains within 2 steps the


excitation remains constant
If motor position exceeds 2 steps the excitation changes to
provide maximum restoring torque
James Grimbleby

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control
T
Torque
Position
( steps)
-5 -4

-3 -2 -1

Closed-loop static torque characteristic - phase excitations


change to maintain torque
James Grimbleby

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control Algorithm
Closed-loop control algorithm to maintain a position of
cpos:
if (mpos - cpos < -2)
xpos = mpos + 2;
else if (mpos - cpos > 2)
xpos = mpos - 2;
else
xpos = cpos;
Provided that the error does not exceed 2 steps
p the
behaviour is identical to open-loop
If error exceeds 2 steps the excitation changes to provide
maximum correcting torque
James Grimbleby

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control Algorithm
Open loop:

Closed loop:

-4000
Error:

-2

-6
6 -4
4

-2
2

-4000
Error:
James Grimbleby

-6 -4

4000
Spee
ed

Operation at the
resonantt step
t rate
t
(20steps at
153steps/s)

Sp
peed

4000

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control Algorithm
4000
Sp
peed

Open loop:
Start-stop
operation
(100steps at
4000 t
4000steps/s)
/ )

-4000
Error:

-4 -2

-6
6

-4
4

Spee
ed

4000

Closed loop:

-4000
Error:
James Grimbleby

-6

-2
2

School of Systems Engineering - Electronic Engineering

Closed-Loop
Closed
Loop Control Algorithm
4000
Sp
peed

Open loop:
Disturbance
response (0.5Nm
for 10ms)

-4000
Error:

-6

-4 -2

-6
6

-4
4

Closed loop:

Spee
ed

4000
0

-4000
Error:
James Grimbleby

-2
2

School of Systems Engineering - Electronic Engineering

Stepping Motors

J. B. Grimbleby October 08

James Grimbleby

School of Systems Engineering - Electronic Engineering

Вам также может понравиться