Assembly Language - Department of Electrical

Applications of PPI
Stepper Motors - D/A - A/D - Temperature Sensor
Stepper Motors
• More accurately controlled than a normal motor
allowing fractional turns or n revolutions to be
easily done
• Lower speed, and lower torque than a
comparable D.C. motor
• useful for precise positioning for robotics
• Servomotors require a position feedback signal
for control
Stepper Motor Diagram
Rotor Alignment
Stepper Motor Step Angles
SA: Step Angle (degree)
SPR: Steps per Revolution
0.72
500
1.8
200
2
180
2.5
144
5
72
7.5
48
15
24
360
SPR 
SA
SPS: Steps per second
SPS = (RPM * SPR) /60
Stepper Motor Types
– Variable Reluctance
– Permanent Magnet
Variable Reluctance Motors
Variable Reluctance Motors
• This is usually a four wire motor – the
common wire goes to the +ve supply and the
windings are stepped through
• The current example is a 30o motor
• The rotor has 4 poles and the stator has 6
poles
• Example
Stable State
1
3
5
Transient State
0
2
30
4
60
25
50
6
75
Variable Reluctance Motors
• To rotate we excite the 3 windings in sequence
– W1 – 1 0 0 1 0 0 1 0 0 1 0 0 1 001001001001
– W2 – 0 1 0 0 1 0 0 1 0 0 1 0 0 100100100100
– W3 – 0 0 1 0 0 1 0 0 1 0 0 1 0 010010010010
•
0
30
60
90 120
150 180 210 240 270
300 330 360
• This gives two full revolutions
30
Unipolar Motors
Half Cycle Stepping
0
15
30
45
60
75
90
105
Full Cycle Stepping
Unipolar Motors (Full)
• To rotate we excite the 2 windings in sequence
– W1a – 1 0 0 0 1 0 0 0 1 0 0 0 1000100010001
– W1b – 0 0 1 0 0 0 1 0 0 0 1 0 0010001000100
– W2a – 0 1 0 0 0 1 0 0 0 1 0 0 0100010001000
– W2b – 0 0 0 1 0 0 0 1 0 0 0 1 0001000100010
–
0
30
60
90 120 150 180
210 240 270 300 330 360
• This gives two full revolutions
Basic Actuation Wave Forms
Unipolar Motors (Half)
• The two sequences are not the same, so by
combining the two you can produce half
stepping
– W1a – 1 1 0 0 0 0 0 1 1 1 0000011100000111
– W1b – 0 0 0 1 1 1 0 0 0 0 0111000001110000
– W2a – 0 1 1 1 0 0 0 0 0 1 1100000111000001
– W2b – 0 0 0 0 0 1 1 1 0 0 0001110000011100
–
0
15
30
45
60
75
90
105 120 145 150
Enhanced Waveforms (Full)
• better torque
• more precise control
Unipolar Motors (Enhanced Full)
• To rotate we excite the 2 windings in sequence
– W1a - 1100110011001100110011001
– W1b - 0011001100110011001100110
– W2a - 0110011001100110011001100
– W2b - 1001100110011001100110011
• This gives two full revolutions at 1.4 times
greater torque but twice the power
Motor Control Circuits
• For low current options the ULN200x
family of Darlington Arrays will drive the
windings direct.
Interfacing to Stepper Motors
8255 Control Word
Example (Enhanced Full)
Required Sequence: 1100 – 0110 – 0011 - 1001
Digital to Analog Converter
Example – Step Ramp
Analog to Digital
Vin Range
Timing
Interfacing ADC
Example
Temperature Sensor
Printer Connection
IO Base Address for LPT
Printer’s Ports
8255 Mode Definition Summary
Mode 0
• Provides simple input and output operations
for each of the three ports.
– No “handshaking” is required, data is simply
written to or read from a specified port.
– Two 8-bit ports and two 4-bit ports.
– Any port can be input or output.
– Outputs are latched.
– Inputs are not latched
•
Mode 1 Basic functional Definitions:
–
–
–
–
Two Groups (Group A and Group B).
Each group has one 8-bit data port and one 4-bit control/data port.
The 8-bit data port can be either input or output. Both inputs and outputs are latched.
The 4-bit port is used for control and status of the 8-bit data port.
8255 mode 1 (output)
Mode 1 – Control Signals
• Output Control Signal Definition
– OBF (Output Buffer Full F/F). (C7 for A, C1 for B)
• The OBF output will go “low” to indicate that the CPU has written
data out to the specified port.
– A signal to the device that there is data to be read.
– ACK (Acknowledge Input). (C6 for A, C2 for B)
• A “low” on this input informs the 8255 that the data from Port A
or Port B has been accepted.
– A response from the peripheral device indicating that it has read the
data.
– INTR (Interrupt Request). (C3 for A, C0 for B)
• A “high” on this output can be used to interrupt the CPU when an
output device has accepted data transmitted by the CPU.
Timing diagram for mode1(output)
8255 mode 1 (input)
Mode 1 – Control Signals
• Input Control Signal Definition
– STB (Strobe Input). (C4 for A, C2 for B)
• A “low” on this input loads data into the input latch.
– IBF (Input Buffer Full F/F) (C5 for A, C1 for B)
• A “high” on this output indicates that the data has been loaded
into the input latch; in essence, an acknowledgement from the
8255 to the device.
– INTR (Interrupt Request) (C3 for A, C0 for B)
• A “high” on this output can be used to interrupt the CPU when an
input device is requesting service.
Timing diagram for mode1(input)
•
MODE 2 Basic Functional Definitions:
–
–
–
–
Used in Group A only.
One 8-bit, bi-directional bus port (Port A) and a 5-bit control port (Port C).
Both inputs and outputs are latched.
The 5-bit control port (Port C) is used for control and status for the 8-bit, bi-directional bus
port (Port A).
• Output Operations
Mode 2
– OBF (Output Buffer Full). The OBF output will go
low to indicate that the CPU has written data out
to port A.
– ACK (Acknowledge). A low on this input enables
the tri-state output buffer of Port A to send out
the data. Otherwise, the output buffer will be in
the high impedance state.
• Input Operations
– STB (Strobe Input). A low on this input loads data
into the input latch.
– IBF (Input Buffer Full F/F). A high on this output
indicates that data has been loaded into the
input latch.
Pin
Function
PC7
/OBF
PC6
/ACK
PC5
IBF
PC4
/STB
PC3
INTR
PC2
I/O
PC1
I/O
PC0
I/O