copyright 2006 tuning with spiiplus controllers time domain approach boaz kramer control &...

51
Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

Upload: amanda-ramson

Post on 30-Mar-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

Copyright 2006

Tuning with SPiiPlusControllers

Time Domain Approach

Boaz KramerControl & Applications Development Manager

Page 2: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

2Copyright 2006

Basic Control System

General control system can be divided into: Controller – control laws Drive – power converter Machine – plant, motors and feedback devices

The plant receives two types of signals: Controller output from the drive Disturbances

ControlLaws

-

+Command Response

Machine

Feedback

Disturbance

Drive

++

-
What is the "Plant"?Suggest to use the term "machine that you define above, or to replace the above line "Machine - plant and feedback devices" by "Plant - ...."
-
The sentence is not clear.
-
Explain what type of diturbances.
-
Suggest that in the drawing, the names of the blocks should be the (bold) names that you define above and not the mix of names and explanation. To replace "Control Laws" by "Controller".
Page 3: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

3Copyright 2006

Basic Control Principles

The goal of the control system:Make the plant follow the command “as good as possible” despite the presence of disturbances while ensuring that the system is stable.

The process of tuning:Adjusting the parameters of the control laws to attain a quick, stable command response.

Robust operation:Control laws must be designed with enough marginsto accommodate reasonable changes in the system, and from one system to another, such as change in motor constant, driver gain…

-
Suggest "Move"
Page 4: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

4Copyright 2006

SPiiPlus Control Loops

Cascaded control loops structure, ideal for motion control applications:

Current loop (external / internal drive) Velocity loop Position loop

PositionController

VelocityController

CurrentController

DriveMotor,Stage

VelocityEstimation

-- -

++ +

PositionCommand

VelocityCommand

CurrentCommand

Voltage (PWM)Command Voltage

Position

current loop

velocity loop

position loop

The position loop generates a command to the velocity loop.

The velocity loop generates a command to the current loop.

-
In the drawing, use the same names for blocks already used in a previous slide.
-
Suggest to add one slide before this one that nerrows the discussion from general motion control system to motion control system. In this slide you should state that the "Response" is position and / or its derivatives and that the controller is position+velocity+current controller.(Remember that for the trainee, many terms are new and this is what makes it so hard for them to absorbe and understand the total picture. In it not simple for them to see that this drawing is actually a private case of the general control drawing.)
Page 5: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

5Copyright 2006

SPiiPlus Servo Algorithm

Position and Velocity Loops

-
Boaz, it is difficult to see thatthis servo algorithm is related to the drawing in the previous slide. 1. Make a connection to the previous slide.2. Show it step by step. It is too overwelming for the trainee.
Page 6: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

6Copyright 2006

Tuning Approach (1)

An inner loop should be faster than an outer loop Current response should be faster than velocity

response Velocity response should be faster than position

response “Faster” => higher bandwidth The inner loops operates with higher bandwidth, at a

higher frequency zone. Typical values of bandwidths :

Current loop – 0.5 kHz- 1 kHz Velocity loop – 50 Hz – 200 Hz Position loop - 10 Hz – 50 Hz

High Frequency zone

Low Frequency zone

Page 7: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

7Copyright 2006

Tuning Approach (2)

An inner loop should be faster than an outer loop Current response should be faster than velocity response Velocity response should be faster than position response

Each closed loop looks like a low pass filter To the velocity loop, the current closed loop looks almost like

an amplifier with pure gain To the position loop, the velocity closed loop looks almost like

an amplifier with pure gain

Current loopVelocity loopPosition loop

Hz1,00020050

Page 8: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

8Copyright 2006

Zone-based Tuning Approach (1)

A frequency zone-based tuning approach: Tune one loop at a time, in the following order:

Current loop (the fastest control loop) Velocity loop Position loop (the slowest control loop

While tuning a control loop, turn off all outer loops When tuning the current loop, turn off the velocity and position loops When tuning the velocity loop, turn off the position loop

Inside the loop, turn off all low frequency elements and tune high frequency elements first

The higher the bandwidth of an inner loop (= the internal loop responds faster), the better the stability of the outer loop.

So the goal is to tune a loop the maximum bandwidth possible while keeping it stable and robust (= low sensitivity to small changes)

Page 9: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

9Copyright 2006

Zone-based Tuning Approach (2)

Always tune the control loop with higher frequency zone first. Turn off all outer, slower loops and tune the inner loop first. Inside the loop turn off all lower frequency elements and

tune high frequency elements first. When inner loop is tuned, it acts like a low-pass filter within

the outer loop. Continue and tune the next outer loop. Higher bandwidth of internal loop (the internal loop responds

faster) improves the stability of the external loop.

Page 10: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

10Copyright 2006

Zone-based Tuning Approach (3)

Command CurrentController

Drive Motor-

+Current

VelocityControl

Algorithmmotor

Closed Current Loop

feedback velocity

velocity command

-

positionControl

Algorithmintegrator

Closed velocity Loop

feedback position

position command

-

Page 11: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

11Copyright 2006

Zone-based Tuning Approach (4)

Current loop: SLIKP SLIKI

Velocity loop: SLVSOF SLVKP SLVKI

Position loop: SLPKP

Tune the PI filter in the current loop (first proportional gain, then integral gain)

Set the low pass filter to 700 Hz. Disable the Notch filter. Tune the PI filter in the velocity loop (first proportional gain, then

integral gain) Tune the low-pass filter/ Notch filter to attenuate high-frequency

resonances. Tune the P filter in the position loop

High Frequency zone

Low Frequency zone

Page 12: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

12Copyright 2006

Control algorithms in the SPiiPlus

Control elements used in the SPiiPlus control algorithm: PI filter Low pass filter Notch filter

Page 13: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

13Copyright 2006

PI Filter (1)

The proportional-integral (PI) filter is a basic control element. It is included in the current loop and velocity loop. In certain cases also in the position loop.

Sum of two signals: One proportional to the error = P x Error One proportional to the integral of the error =

The proportional term (SLxKP) provides responsiveness, affects the bandwidth (how fast the response is)

The integral term (SLxKI) ensures that the average error is driven to zero.

KI

KP+

u y

ErrorI *

Page 14: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

14Copyright 2006

PI Filter (2)

Frequency response of a PI filter:

The proportional gain dominates the higher frequency zone. The integrator gain dominates the lower frequency zone.

So, first tune the gain, while turning off the integrator! In SPiiPlus the frequency of the PI zero is always at:

SLxKI/20 [Hz]

PI filterGain

f [Hz]

SLxKP

SLxKI

SLxKI/20 [Hz]

Page 15: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

15Copyright 2006

PI Filter (3)

PI Filter Digital Implementation:

Page 16: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

16Copyright 2006

SPiiPlus provides a second order low-pass filter. In many cases, it can be used to increase the overall bandwidth of the velocity loop. It attenuates high frequency noise and resonances (=phenomenon in which the plant has high gain around one frequency).

Low Pass Filter (1)

Bode plot of 2nd order low-pass filterwith different damping factors.-60

-40

-20

0

20

Mag

nitu

de (

dB)

101

102

103

104

-180

-135

-90

-45

0

Pha

se (

deg)

Bode Diagram

Frequency (Hz)

-
What is damping, why to midify its value?
Page 17: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

17Copyright 2006

The second order low-pass filter attenuates all signal components above a certain frequency. The frequency is specified by the SLVSOF variable.

Filter damping is determined by SLVSOFD variable. In many cases a proper reduction of the low pass

filter bandwidth (relative to its default value) allows to further increase the velocity gain.

The major disadvantage of the second order low pass filter is that it affects stability by adding a significant amount of phase lag and thus reducing the phase margin.

Usually, SLVSOF has to be 10-20 times above the velocity loop bandwidth. Thumb rule: set SLVSOF=SLVKI.

Low Pass Filter (2)

-
What is damping, why to midify its value?
Page 18: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

18Copyright 2006

SPiiPlus provides a Notch Filter. In many cases, it can be used to increase the overall bandwidth of the velocity loop.

The Notch filter attenuates only a narrow band of frequencies.

It is usually set above the bandwidth of the velocity loop.

Notch Filter(1)

-8

-6

-4

-2

0

Mag

nitu

de (

dB)

102

103

104

105

-20

-10

0

10

20

Pha

se (

deg)

Bode Diagram

Frequency (rad/sec)

Bode plot of Notch filterwith different widths

Page 19: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

19Copyright 2006

Notch filter advantage: less phase lag contribution in comparison to the low-

pass filter.

Notch filter disadvantages Usually the transfer function of the plant has to be

known in order to place the Notch filter properly. The Notch bandwidth has to be sufficiently wide :

resonant frequencies may vary slightly in different machines of the same kind. The resonant frequency may depend also on the position of the axes.

Notch Filter(2)

Page 20: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

20Copyright 2006

Notch filter parameters: SLVNFRQ – Notch frequency SLVNWID – Notch width (3 dB points) SLVNATT – attenuation (absolute units)

It is not recommended to use the Notch filter before measuring the frequency response of the system using SPiiPlus FRF Analyzer.

Notch Filter(3)

-
Suggest to add a frequency response drawing of a notch
Page 21: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

21Copyright 2006

Before starting tuning…

Open the Adjuster Define the Safety Parameters Define the drive/motor/encoder

parameters in Axis Setup dialog

-
Before this slide, suggest to add a slide that provides an overview of the process, actually explaining in ONE SENTENCE each step of the Adjuster.Afterwards, dive to each step.
Page 22: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

22Copyright 2006

Important Safety Parameters

Critical position error: CERRI(idle)CERRV(velocity)CERRA(acceleration)

RMS protection : XRMS (nominal current in %)XRMST (time constant in

msec) Current limits: XCURI(idle)

XCURV(velocity) Maximum velocity: XVEL

has important effect on velocity scale factor!

Maximum acceleration: XACC

Page 23: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

23Copyright 2006

Axis Setup

Define the following: Control configuration: single loop or dual loop control. Drive type and parameters: DC amplifier, DC brushless

amplifier with hardware or software commutation. Motor type and parameters: type, number of poles (for rotary

motor), magnetic pitch (for linear motor). Encoder type and parameters: primary/secondary encoders,

type (AQB, SIN-COS etc), resolution, multiplier(internal/external).

Some parameters (like amplifier/motor ratings) are not used by the controller.

Page 24: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

24Copyright 2006

Current Loop Tuning

Open the Current Loop Adjustment in the Adjuster.

Set SLIKI to zero, or set it very low (like 100). Set SLIKP low (like 10).

Apply a square wave : set the amplitude 5-10%Set the pulse length 4-10msec. Press “Run”.

Raise SLIKP gradually as long as high frequency effects (noise) are not noticed and there is little or no overshoot.

Changing SLIKI should not require returning to change SLIKP.

Raise SLIKI starting with zero, until overshoot is excessive, usually 10% - 15%.Typical values : 1000-10,000

If later on, you notice that the current loop is noisy, then it is recommended to further reduce SLIKP.

Page 25: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

25Copyright 2006

Current Loop Tuning

Zero SLIKI (or set it very low),Set SLIKP low

Apply a square wave current command

Raise SLIKP for little orno overshoot

Too noisy ?Lower SLIKP

or reduce noise

Raise SLIKI for up to15% overshoot

Done

Page 26: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

26Copyright 2006

Before Going on…

Before going on to velocity and position loop tuning. There are few additional steps that should be made Commutation for Brushless motors Open loop verification

Page 27: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

27Copyright 2006

Commutation

In any electrical motor, the electromagnetic torque is generated because of an interaction between a magnetic field and a current.

The produced torque is proportional to the following cross product:

where::magnetic flux vector

:current vector

:angle between the vectors

If the two vectors are perpendicular, the torque is proportional to the current, which is the basic and most important requirement for high performance servo action.

sinITIT

I

Page 28: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

28Copyright 2006

DC –Brush Motor Commutation

The magnetic field is generated by permanent magnets. The brushes and commutator make sure the armature current is

always maintained perpendicular to the magnetic field.

-
Boaz, the difference between DC and brushless is not clear. YSuggest to add a drawing showing the magnetic field and curents in DC and in brushless.
Page 29: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

29Copyright 2006

Brushless Motor Commutation (1)

In case of DC Brushless motor (permanent magnet synchronous motor): The magnetic field is generated by the permanent magnets. 3-phase sinusoidal currents generate a current vector.

“Sinusoidal Commutation”:

The commutation angle determines the current vectororientation.

It is desirable to keep the current vector perpendicularto the magnetic field.

)120sin())()(()(

)120sin()(

sin)(

mc

mb

ma

ItIbtIatI

ItI

ItI

=CP

a

b

c

ia

ic

ib

S

N

fieldvector

currentvector

y

Page 30: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

30Copyright 2006

Brushless Motor Commutation (2)

In the commutation process of brushless motors: A stationary current vector is generated.The motor “jumps” to align with

it

The current vector is then shifted 90. The current vector is maintained perpendicular:

If the permanent magnet field moves, the current vector moves with it.

S

N

fieldvector

currentvector

S N

fieldvector

currentvector

S N

fieldvector

currentvector

S

N

fieldvector

currentvector

Page 31: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

31Copyright 2006

Brushless Motor Commutation (3)

If the encoder is incremental, the process has to be repeated after each controller powerup.

We have to distinguish between: Initial commutation adjustment (during the first setup) Commutation after each powerup.

Initial commutation setup also includes: Phase sequence identification Commutation parameters verification

Page 32: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

32Copyright 2006

Commutation Preferences (1)

First-time commutation is executed by running commutation setup from the Adjuster.

Page 33: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

33Copyright 2006

Commutation Preferences (2)

Commutation Preferences Dialog:

Page 34: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

34Copyright 2006

Commutation Preferences (3)

Excitation Current - define amplitude of generated current vector in %, sufficiently high to overcome system friction and active load. Default is 0.95 x XRMS.

Search Velocity – determines velocity of commutation process in user units/second. It is recommended to set velocity between 1 – 1/5 of magnetic pitch per second.

Settling Time - determines time assigned to motor for settling in detent points. Default is 1000 msec.

Initial Commutation Offset – determines initial detent point in degrees. By setting a proper value (if known, for example, if the axis is known to rest close to a limit when off) user can avoid or decrease an initial motor jump. Default value is 0 degrees.

Page 35: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

35Copyright 2006

Commutation Preferences (4)

Commutation Schemes –different commutation schemes are provided: “Detent Point” (default) – encoder based only. Index based commutation schemes: finds the

correct commutation phase at the index. The value can be used later on in startup/homing programs.

Hall commutation scheme (for SPiiPlus CM) – commutation is initiated based on Hall sensors,and closed-loop operation can start immediately after powerup.

Maximum Search Distance – sets maximum allowed distance for searching for a limit or an index.

Check Motor & Feedback Parameters Default (button) – loads default values.

Page 36: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

36Copyright 2006

After Powerup….

Method 1:The Adjuster can generate a startup program based on the chosen commutation scheme. The program can be used as part of the homing routine. In all schemes the motor initially jumps to align with the current vector.

Method 2:Use the “COMMUT” command: brings the current vector to the motor in closed-loop. The current vector can be controlled with high bandwidth and motor hardly moves.

Method 3:Initial hall-based commutation: Move in six steps till the first hall transition and automatically switch to sinusoidal commutation.

S

N

fieldvector

currentvector

S

N

fieldvector

currentvector

Page 37: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

37Copyright 2006

Commutation Method 1

When the commutation bit (MFLAGS.9) is off and motor is enabled: the commutation phase is incremented according to the desired position (“stepper mode”):

KPOLE converts encoder counts to electrical degrees

When fields are aligned it is assumed: DP=CP

When MFLAGS.9 =0 and motor is disabled: the commutation phase is incremented according to the feedback position.

When MFLAGS.9 =1 the commutation phase is incremented according to the feedback position and 90 degrees are added:

DPK pole *

CPK pole 0

00 90 CPK pole

Page 38: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

38Copyright 2006

Commutation Method 1

Example for Method 1:X_MFLAGS.9 = 0 ! Commutation bit offX_DCOM = 30 ! Constant drive commandENABLE X ! Align fieldsWAIT 1000 ! Wait for motor to settlePTP/RVE X, X_SLCPRD/4 , X_SLCPRD/4 ! Move slowlyWAIT 1000 ! Wait for motor to settleDISABLE X X_DCOM = 0 ! Reset constant drive commandX_MFLAGS.9=1 ! Commutation onSTOP

Q: Is it really required to move ? Q: What about hard stops ? Vertical axis ? Important note:

When MFLAGS.9 = 0 the motor can be moved in stepper mode, without relaying on feedback. This is an important feature, that can also be used for troubleshooting the hardware !

Page 39: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

39Copyright 2006

COMMUT Command

Closed loop control of the commutation phase:

Examples: COMMUT X !use default current and settling timeCOMMUT X, 10 !use 10% current and default settling timeCOMMUT X, 10, 1000 ! Use 10% current and 1000msec

The algorithm is executed 3 times (3 “ticks”) to eliminate unstable equilibrium.

Before using COMMUT for the first time: First time Adjustment must be performed. Motor has to adjusted with proper stability

margins.

DP=CPo

Closed-LoopAlgorithm

Im

CommutationBlock

Imsin

Imsin( Drive Motor

CP

-

Page 40: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

40Copyright 2006

Open Loop Verification

Required to eliminate positive feedback for DC motors.Positive drive command should yield positive move (=encoder counts up).

Can be also used to compensate amplifier offset.

In case of brushless motors: after the initial commutation process the polarity is guaranteed.

Page 41: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

41Copyright 2006

Velocity Loop Tuning

Set SLVKI to zero, or set it very low. Set SLVKP low.

Enable the motor. If it is noisy – reduce SLVKP Apply a square wave velocity command and raise SLVKP

no higher than the high frequency effects (noise, resonances) allow.

When motor is noisy or oscillating, it is recommended to lower SLVKP by 50%(to ensure gain margin).

Changing SLVKI should not require returning to change SLVKP.

Raise SLVKI from zero until overshoot is excessive, usually 10% - 15%.

-
Boaz, should'nt you provide such a criteria also for the current loop?
Page 42: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

42Copyright 2006

Velocity Loop Tuning

Zero SLVKI (or set it very low),Set SLVKP low

Apply a square wave velocitycommand

Raise SLVKP till systembecomes noisy

Too noisy ?Lower SLVKP

50%

Raise SLVKI for up to15% overshoot

Done

Page 43: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

43Copyright 2006

Verify the value of the maximum velocity, XVEL before starting the

velocity loop tuning! The parameter has two major roles: Limits the amplitude of the velocity command. Defines the feedback velocity scale factor.

If XVEL is larger than 2E+6 counts/sec, the velocity scale factor is reduced proportionally to the XVEL parameter.

This affects the dynamic range of the velocity gain SLVKP.

Effect of XVEL Parameter

SFVelocity

-

PI filter

VelocityCommand

Velocity scale factor -reduced according to XVEL

Page 44: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

44Copyright 2006

Integrator Limit

The integrator limit is used to prevent the integrator from exceeding a certain value.

For the velocity loop the parameter is SLVLI. Default value -50%.

The integrator limit should be sufficiently high, zeroing the velocity error while the system is moving at maximum constant velocity.

The default value of 50% is usually adequate for many systems. Nevertheless, in some cases it is desirable to modify the value. If the value is too high it may cause undesirable overshoots or saturation, especially in high-inertia or short stroke systems.

Page 45: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

45Copyright 2006

The position loop is tuned after the velocity loop. The position loop includes a proportional gain KP. Apply a point-to-point profile with the highest-

acceleration command to be used in the application. Increase KP to minimize the position error.

Position Loop Tuning

Page 46: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

46Copyright 2006

Set KP low

Apply a point-to-point profile with thehighest-acceleration command to be

used in the application.

Raise KP to minimize thePosition error

Still stable ? Lower KP

Done.

Position Loop Tuning (2)

Page 47: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

47Copyright 2006

[rad/sec]

open-loop transferfunction

KP

KP

close-loop transferfunction

0 dB

If the velocity loop is properly tuned, the position loop bandwidth approximately equals KP (rad/sec) independent

of the motor parameters.

positionControl

Algorithmintegrator

Closed velocity Loop

feedback position

position command

-

Position Loop Tuning (3)

Page 48: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

48Copyright 2006

Feedforward compensations greatly improve the command

response without producing stability problems.The ideal feedforward produces the expected command.Thus, the control loop only needs to add corrections due

to disturbances.

Velocity Feedforward – is set automatically to compensate the velocity feedback. As a result, the average position error is zeroed during constant velocity.

Acceleration Feedforward (SLAFF)– should be tuned to maximally decrease the position error during acceleration and deceleration.

Velocity and Acceleration Feedforward

Page 49: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

49Copyright 2006

Summary (1)

The SPiiPlus provides a cascaded control loops structure:An internal current loop, a velocity loop on top of it and a position loop on top of the velocity loop.

This structure is ideal for most motion control applications and allows easy and fast tuning using a frequency zone-based approach.

Internal loops are tuned first, with the external loops disabled.

The tuning goal should be to get the maximum bandwidth for each loop while maintaining its stability.

A methodical tuning flow-chart was provided for each loop. High-order filters, like a 2nd order low pass and a Notch

filter, can be used to attenuate resonances and further increase the system bandwidth.

Advance commutation methods allow easy and reliable commutation of brushless motors.

Page 50: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

50Copyright 2006

Summary (2)

Further improvement can be achieved by using frequency response tools, like the SPiiPlus FRF Analyzer.

The SPiiPlus standard control algorithm will result exceptional results in most motion control applications.

Nevertheless, in very demanding applications a customized algorithm that was specifically tailored for an application can further improve performance

ACS-Tech80 has established a Control and Application Development group to help customers optimize the performance of their machines and to provide them with a competitive advantage over their industry peers.

Page 51: Copyright 2006 Tuning with SPiiPlus Controllers Time Domain Approach Boaz Kramer Control & Applications Development Manager

51Copyright 2006

Control & Application Development

Services provided by the Control & Application Development group include: Tailored customization of the standard servo algorithms offered in ACS-

Tech80 products for specific applications Development of unique algorithms to maximize machine performance and

modeling Simulation and analysis of control systems.

Particular expertise has been gained in the following areas: Mitigation of mechanical resonances Non-linear control algorithms Dual loop systems Gantry systems Observers Control of special motors Gain scheduling techniques Disturbance rejection improvement Special motion profiles