Feedback Control Loops

From SoftMC-Wiki
Jump to: navigation, search
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.