Difference between revisions of "Feedback Control Loops"

From SoftMC-Wiki
Jump to: navigation, search
(Velocity Loop)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Languages|Feedback_Control_Loops}}
 
=Introduction=
 
=Introduction=
 
The system supports three main loop types:
 
The system supports three main loop types:
Line 4: Line 5:
 
*Dual-feedback position loop
 
*Dual-feedback position loop
 
*Velocity loop
 
*Velocity loop
The MC sends position and velocity commands each SERCOS update cycle.  
+
The softMC sends position and velocity commands each motion bus update cycle.  
The operation of the MC is hardly affected by the loop selection because the
+
Loop selection is made in the drive and has little affect on the operation of the softMC.
loop selection is made in the drive.
+
 
 
=Standard Position Loop=
 
=Standard Position Loop=
 
Position loop is the standard operating mode of the system. For position  
 
Position loop is the standard operating mode of the system. For position  
operation, set the position loop gain to a value greater than zero. Typically,
+
operation, set the position loop gain to a value greater than zero.  
you set up the position loop using MOTIONLINK. See the MC Installation
+
 
Manual for more information.
 
 
=Dual-feedback Position Loop=
 
=Dual-feedback Position Loop=
 
Dual-feedback position loop compensates for non-linearity in mechanical  
 
Dual-feedback position loop compensates for non-linearity in mechanical  
Line 26: Line 26:
 
[[File:loopdig1.JPG|center|300px]]
 
[[File:loopdig1.JPG|center|300px]]
  
The additional hardware for dual-feedback position loop is a second encoder  
+
The additional hardware for dual-feedback position loop is a second encoder connected to the drive which is running dual-feedback position loop. The  
connected to the drive which is running dual-feedback position loop. You
+
softMC does not close the servo loops and is not directly involved in dual-feedback position operation loop. In effect, the softMC is unaware that the drive is operating in dual-feedback position loop. However, when setting up the feedback system, you must configure your units for the external encoder,  
configure the drive for dual-feedback position loop operation using
+
not the motor feedback device. In addition, you must also instruct the softMC to monitor the external encoder for position error.
MOTIONLINK. See the MC Installation Manual for more information. The  
 
MC does not close the servo loops and is not directly involved in duel-feedback position operation loop. In a sense, the MC is not aware that the drive is operating in dual-feedback position loop. However, when setting up  
 
the feedback system, you must configure your units for the external encoder,  
 
not the motor feedback device. In addition, you must also tell the MC to  
 
monitor the external encoder for position error.
 
 
<axis>.FEEDBACK. For example:
 
<axis>.FEEDBACK. For example:
 
  A1.Feedback = External 'Set the axis feedback to the load
 
  A1.Feedback = External 'Set the axis feedback to the load
 
drive is operating in dual-feedback position loop. However, when setting up
 
the feedback system, you must configure your units for the external encoder,
 
not the motor feedback device. In addition, you must also tell the MC to
 
monitor the external encoder for position error
 
  
 
=Velocity Loop=
 
=Velocity Loop=
Line 53: Line 43:
 
[[File:loopdig2.JPG|center|300px]]
 
[[File:loopdig2.JPG|center|300px]]
  
Since a lot of position error can accumulate in velocity loop, it is best to  
+
Since position error can accumulate significantly in velocity loop, it is best to  
 
configure the system to have such a large maximum position error that it  
 
configure the system to have such a large maximum position error that it  
 
never realistically generates an error.
 
never realistically generates an error.

Latest revision as of 09:04, 9 May 2017

Language: English  • 中文(简体)‎

Introduction

The system supports three main loop types:

  • Standard position loop
  • Dual-feedback position loop
  • Velocity loop

The softMC sends position and velocity commands each motion bus update cycle. Loop selection is made in the drive and has little affect on the operation of the softMC.

Standard Position Loop

Position loop is the standard operating mode of the system. For position operation, set the position loop gain to a value greater than zero.

Dual-feedback Position Loop

Dual-feedback position loop compensates for non-linearity in mechanical systems (inaccuracy from gears, belt drives, or lead screws, or backlash from gears and lead screws). Dual-feedback position loop adds a second feedback sensor (usually a linear encoder) to the system so the load position is directly determined. Unfortunately, the load sensor cannot be the sole feedback sensor in most systems. Relying wholly on the load sensor usually causes machine resonance that severely affects system response.Dual-feedback position loop compromise: uses the load sensor for position feedback (accuracy is critical)and uses the motor sensor for velocity feedback (low compliance required). This is the dual-feedback position loop shown below.

loopdig1.JPG

The additional hardware for dual-feedback position loop is a second encoder connected to the drive which is running dual-feedback position loop. The softMC does not close the servo loops and is not directly involved in dual-feedback position operation loop. In effect, the softMC is unaware that the drive is operating in dual-feedback position loop. However, when setting up the feedback system, you must configure your units for the external encoder, not the motor feedback device. In addition, you must also instruct the softMC to monitor the external encoder for position error. <axis>.FEEDBACK. For example:

A1.Feedback = External 'Set the axis feedback to the load

Velocity Loop

For some applications, the motor must be under velocity loop control. Maintaining a position is not important. The advantage is that the motor is more responsive (typically 3 to 5 times faster in settling time). When you configure an axis for velocity loop, you more or less fool the drive by setting gains to disable the position loop. You need to set the position loop gain to zero and the feed-forward gain to 100%. This produces the following servo loop:

loopdig2.JPG

Since position error can accumulate significantly in velocity loop, it is best to configure the system to have such a large maximum position error that it never realistically generates an error.