background image

I. Program Modules

(Continued)

TABLE 4. Filter Programming Module

Port

Bytes

Command

Comments

c

1E

LFIL

This command initiates loading the filter coefficients input buffers.

Busy-bit Check Module

d

d

00

x8

HB

LB

These two bytes are the filter control word. A 00 hex HB sets the derivative sampling

interval to 2048/f

CLK

by setting d

s

to one. A x8 hex LB indicates only k

p

will be loaded.

The other filter parameters will remain at zero, their reset default value.

Busy-bit Check Module

d

d

00

0A

HB

LB

These two bytes set k

p

to ten.

Busy-bit Check Module

c

04

UDF

This command transfers new filter coefficients from input buffers to working registers.

Until UDF is executed, coefficients loaded via the LFIL command do not affect the filter

transfer characteristic.

Busy-bit Check Module

Comments

After executing both the example initialization and example
filter programming modules, the following observations are
made. Filter gain is nonzero, but desired shaft position con-
tinues to track actual shaft position. Under these conditions,
the motor drive signal remains at zero. The shaft should be
stationary and “free wheeling”. If there is significant drive
amplifier offset, the shaft may rotate slowly, but with minimal
torque capability.

Initially, k

p

should be set below twenty, d

s

should be set to

one, and k

i

, k

d

, and i

l

should remain at zero. These values

will not provide optimum system performance, but they will
be sufficient to test system functionality. See Tuning the PID
Filter.

TRAJECTORY PROGRAMMING MODULE

Table 5

details the example trajectory programming module.

Load Trajectory Parameters

An LTRJ (Load TRaJectory) command sequence includes
command LTRJ, a trajectory control word, and a 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 logical ones in respective bit positions, which of
the three trajectory parameters will be loaded. It also indi-
cates whether the parameters are absolute or relative. See

Figure 9

Any combination of the three parameters can be

loaded within a single LTRJ command sequence.

Immediately following the trajectory control word, the trajec-
tory parameters are written. Each parameter is written as a
pair of data words (four data bytes). Because any combina-
tion of the three parameters can be loaded within a single
LTRJ command sequence, the number of data words follow-
ing the trajectory control word can vary in the range from
zero to six.

In the case of the example module, the first byte of the
trajectory control word, 00 hex, programs the LM628 to
operate in position mode. The second byte, 0A hex, indi-
cates velocity and position will be loaded and both param-
eters are absolute. Four data words, two for each parameter
loaded, follow the trajectory control word.

Start Motion Control

The start motion control command, STT (STarT), transfers
new trajectory parameters from input buffers to working reg-
isters and begins execution of the new trajectory. Until STT is
executed, the new trajectory parameters do not affect shaft
motion.

Note:

At this point no actual trajectory parameters are loaded. Calculation of

trajectory parameters and execution of example moves is left for a
later section.

high byte

01086011

low byte

01086012

FIGURE 9. Trajectory Control Word Bit Allocation

AN-693

www.national.com

7

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: