background image

III. Tuning the PID Filter

(Continued)

TABLE 12. Step Generation Section — Filter Tuning Program

Port

Bytes

Command

Comments

c

1F

LTRJ

This command initiates loading the trajectory parameters input buffers.

Busy-bit Check Module

d

d

00

2B

HB

LB

These two bytes are the trajectory control word. A 2B hex LB indicates acceleration,

velocity, and position will be loaded and both acceleration and velocity are absolute

while position is relative.

Busy-bit Check Module

d

d

00

04

HB

LB

Acceleration is loaded in two data words. These two bytes are the high data word.

Busy-bit Check Module

d

93

HB

acceleration data word (low)

d

E0

LB

Busy-bit Check Module

d

d

00

07

HB

LB

Velocity is loaded in two data words. These two bytes are the high data word.

Busy-bit Check Module

d

A1

HB

velocity data word (low)

d

20

LB

Busy-bit Check Module

d

d

00

00

HB

LB

Position is loaded in two data words. These two bytes are the high data word.

Busy-bit Check Module

d

00

HB

position data word (low)

d

C8

LB

Busy-bit Check Module

c

01

STT

STT must be issued to execute the desired trajectory.

Busy-bit Check Module

c

xx

RDSTAT

This command reads the Status Byte. It is directly supported by LM628 hardware and

can be executed at any time by pulling CS, PS, and RD logic low. Status information

remains valid as long as RD is logic low.

decision

If the Trajectory Complete interrupt bit is set, continue. Otherwise loop back to RDSTAT.

c

1D

RSTI

This command resets

only

the interrupts indicated by zeros in bits one through six of

the next data word. It also resets bit fifteen of the Signals Register and the host

interrupt pin (pin 17).

d

xx

HB

don’t care

d

00

LB

Zeros in bits one through six indicate

all

interrupts will be reset.

wait

This wait block inserts a delay between repetitions of the step input. The delay is

application specific, but a good range of values for the delay is 5 ms to 5000 ms.

loop

Loop back to STT.

Hardware Considerations

For a motor control system, an oscilloscope trace of the
system step response is a graph of the real position of the
shaft versus time after a small and instantaneous change in
desired position.

For an LM628-based system, no extra hardware is needed
to view the system step response. During a step, the voltage
across the motor represents the system step response, and
an oscilloscope is used to generate a graph of this response
(voltage).

For an LM629-based system, extra hardware is needed to
view the system step response.

Figure 20

illustrates a circuit

for this purpose. During a step, the voltage output of this
circuit represents the system step response, and an oscillo-
scope is used to generate a graph of this response.

The oscilloscope trigger signal, a rectangular pulse train, is
taken from the host interrupt output pin (pin 17) of the
LM628/LM629. This signal is generated by the combination
of a trajectory complete interrupt and a reset interrupts
(RSTI) command. See

Figure 19

.

Note:

The circuit of

Figure 20

can be used to view the step response of an

LM628-based system.

AN-693

www.national.com

22

Summary of Contents for LM628

Page 1: ...ence System Figure 15 is a detailed schematic of a closed loop motor control system All programs presented in this paper were developed using this system For application of the pro grams in other LM628 based systems changes in basic programming structure are not required but modification of filter coefficients and trajectory parameters may be required I Program Modules Breaking programs for the LM...

Page 2: ... hardware reset block and a PORT 12 command Hardware Reset Block Immediately following power up a hardware reset must be executed Hardware reset is initiated by strobing RST pin 27 logic low for a minimum of eight LM628 clock periods The reset routine begins after RST is returned to logic high During the reset execution time 1 5 ms maximum the LM628 will ignore any commands or attempts to transfer...

Page 3: ...t is eight bits This command initializes the DAC port for a 12 bit DAC It should not be issued in systems with an 8 bit DAC Busy bit Check Module Note 2 The 8 bit host I O port is a dual mode port it operates in command or data mode The logic level at PS pin 16 selects the mode Port c represents the LM628 command port commands are written to the command port and the Status Byte is read from the co...

Page 4: ...1 5 ms c 06 PORT12 The RESET default size of the DAC port is eight bits This command initializes the DAC port for a 12 bit DAC It should not be issued in a system with an 8 bit DAC Busy bit Check Module c 1D RSTI This command resets only the interrupts indicated by zeros in bits one through six of the next data word It also resets bit fifteen of the Signals Register and pin 17 the host interrupt o...

Page 5: ...r coeffi cients are written Each coefficient is written as a pair of data bytes a data word Because any combination of the four coefficients can be loaded within a single LFIL command sequence the number of data words following the filter control word can vary in the range from zero to four In the case of the example module the first byte of the filter control word 00 hex programs a derivative sam...

Page 6: ...er Control Word Bit Position ds Selected Derivative Term Sampling Interval T d 15 14 13 12 11 10 9 8 0 0 0 0 0 0 0 0 1 Ts 0 0 0 0 0 0 0 1 2 2Ts 0 0 0 0 0 0 1 0 3 3Ts 0 0 0 0 0 0 1 1 4 4Ts 1 1 1 1 1 1 1 1 256 256Ts 01086010 FIGURE 8 Filter Control Word Bit Allocation AN 693 www national com 6 ...

Page 7: ...variable number of data words The LTRJ command initiates loading trajectory parameters into input buffers The two data bytes written immediately after LTRJ com prise the trajectory control word The first byte programs with logical ones in respective bit positions the trajectory mode velocity or position velocity mode direction and stopping mode See Stop Module The second byte indi cates with logic...

Page 8: ...ontrol word x1 hex selects motor off as the desired stopping mode This mode stops shaft motion by setting the motor drive signal to zero the appropriate offset binary code to apply zero drive to the motor Setting bit nine of the trajectory control word selects stop abruptly as the desired stopping mode This mode stops shaft motion at maximum deceleration by setting the target position equal to the...

Page 9: ...r Programming Module c 1F LTRJ This command initiates loading the trajectory parameters input buffers Busy bit Check Module d d 00 00 HB LB These two bytes are the trajectory control word A 00 hex LB indicates no trajectory parameters will be loaded Busy bit Check Module c 01 STT STT must be issued to execute the desired trajectory Comments Execution of command STT results in execution of the de s...

Page 10: ...te shaft revolution By definition two signals that are in quadrature are 90 out of phase When considered together channels A and B Figure 11 traverse four distinct digital states during each full cycle of either channel Each state transition represents one count of shaft motion The leading channel indicates the direction of shaft rotation Each line therefore represents one cycle of the output sign...

Page 11: ...II Programs Continued 01086029 FIGURE 12 Calculations of Trajectory Parameters for Simple Absolute Position Move AN 693 www national com 11 ...

Page 12: ...ationary and motion has not been stopped with a motor off stop module the current absolute position of the shaft is the target position If motion has been stopped with a motor off stop module or a position move has begun the absolute position that corresponds to the endpoint of the current trajectory is the target position Relative position is position measured relative to the current target posit...

Page 13: ... LB indicates all three parameters will be loaded and both acceleration and velocity will be absolute values while position will be a relative value Busy bit Check Module d d 00 00 HB LB Acceleration is loaded in two data words These two bytes are the high data word In this case the acceleration is 17 counts sample2 Busy bit Check Module d d 00 11 HB LB acceleration data word low Busy bit Check Mo...

Page 14: ... 0 rev sec2 until it reaches a maximum velocity of 4 0 rev sec After completing twenty forward direction revolutions including revolutions during acceleration the shaft will decelerate at 1 0 rev sec2 to a stop See Figure 14 Mask Interrupts An MSKI command sequence allows the user to determine which interrupt conditions result in host interrupts interrupt ing the host via the host interrupt output...

Page 15: ...gram contains an absolute breakpoint set at 160 000 counts When this absolute position is reached the LM628 interrupts the host processor and the host executes a Smooth Stop Module Breakpoint positions for this example program are deter mined Load Trajectory Parameters This example program contains two LTRJ command se quences The trajectory control word of the first LTRJ com mand sequence 1828 hex...

Page 16: ...ll be loaded and it will be a relative value Busy bit Check Module d d 00 02 HB LB Velocity is loaded in two data words These two bytes are the high data word In this case velocity is 2 0 rev s Because this is a relative value the current velocity will be increased by 2 0 rev s The resultant velocity will be 4 0 rev s Busy bit Check Module d 0C HB velocity data word low d 4A LB wait This wait repr...

Page 17: ...II Programs Continued 01086004 Note All resistor values in Ω FIGURE 15 Reference System AN 693 www national com 17 ...

Page 18: ...reason ably good response characteristics are obtained Manual and visual methods are used to evaluate the effect of each coefficient on system behavior In the second step an oscil loscope trace of the system step response provides detailed information on system damping and the filter coefficients determined in step one are modified to critically damp the system Note In step one adjustments to filt...

Page 19: ...he shaft is turned the more sluggish it feels For the reference system the final values of kd and ds are 4000 and 4 respectively TABLE 11 Initialization Section Filter Tuning Program Port Bytes Command Comments c 00 RESET See Initialization Module Text wait The maximum time to complete RESET tasks is 1 5 ms c 06 PORT12 The RESET default size of the DAC port is eight bits This command initializes t...

Page 20: ...too low the system is over damped and the shaft recovers too slowly If kp is too large the system is under damped and the shaft recovers too quickly This causes overshoot ringing and possibly oscillation The pro portional gain coefficient kp is increased to the largest value that does not cause excessive overshoot or ringing At this point the system is critically damped and therefore provides opti...

Page 21: ...ogram provides the control loop with a repetitive small signal step input This is accomplished by repeatedly executing a small position move with high maximum velocity and high accel eration See Figure 19 and Table 12 01086022 FIGURE 19 Step Generation Section of Filter Tuning Program AN 693 www national com 21 ...

Page 22: ...I This command resets only the interrupts indicated by zeros in bits one through six of the next data word It also resets bit fifteen of the Signals Register and the host interrupt pin pin 17 d xx HB don t care d 00 LB Zeros in bits one through six indicate all interrupts will be reset wait This wait block inserts a delay between repetitions of the step input The delay is application specific but ...

Page 23: ...unts Note 10 The circuit of Figure 20 produces an inverted step response graph The oscilloscope input was inverted to produce a positive going more familiar step response graph Figure 21 represents the step response of an under damped control system this response exhibits excessive overshoot and long settling time The filter parameters used to gener ate this response were as follows kp 35 ki 5 kd ...

Page 24: ...ed to cause the failure of the life support device or system or to affect its safety or effectiveness National Semiconductor Corporation Americas Email support nsc com National Semiconductor Europe Fax 49 0 180 530 85 86 Email europe support nsc com Deutsch Tel 49 0 69 9508 6208 English Tel 44 0 870 24 0 2171 Français Tel 33 0 1 41 91 8790 National Semiconductor Asia Pacific Customer Response Grou...

Reviews: