Skip to main content
Submitted by Richard B on Fri, 11/18/2005 - 01:13

Galil 1860 on Linux

My system has 2 axes X and Y, which each have two encoders, one on the motor (main encoder input), and one on the load (auxiliary encoder input). Currently, I use "final point correction" to ensure that the axes move to the required position of the load encoder. This is normally sufficient, but we would like the system to correct for later disturbances on the load.

To solve this problem, I would like to use the "continuous dual loop" method. From what I understand, this involves swapping the encoders so that the load encoder is on the main encoder input, and using the DV command to change the operation of the filter. We currently have almost exactly a 1:1 ratio between the motor and load encoders. From reading other posts on this forum, I believe the motor encoder resolution should ideally be equal to or higher than the load encoder resolution, so I think our system just passes this criterion.

Stability of this system is critical, so if this methods fails to provide us a stable system, could you tell me what other dual loop methods we could try to ensure that the system always corrects for later disturbances on the load? For example, I saw mention of an advanced dual loop firmware option, and the manual mentions a "Sampled Dual Loop" method.

Comments 3

EricK on 11/21/2005 - 14:15

The �Sampled� dual loop method is accomplished by utilizing a DMC application program to make end-point corrections (just as you have currently implemented).

In the �continuous� dual loop method (DV1), the control law uses the aux encoder data from the motor shaft to provide the derivative compensation (KD). This allows for increased stability in application where there may be backlash or compliance between the load position and the motor, since the control law will now have direct motor velocity information. For best performance it requires that there is equal to or greater resolution of the motor encoder relative to the load encoder. This ensures there is always some velocity information for every position increment of the load (ideally it would be best to have 2 times or greater since we need the derivative of this inner encoder).

In some applications the simple dual loop mode is not sufficient due to excessive compliance or backlash in the system. In these cases we can apply the �advanced� dual loop method as an NRE option. This method basically provides for some additional proportional gain (KP) on the inner loop to help compensate for error in the synchronization of the motor position.

If the standard dual loop method does not provide stability, the simplest solution is to increase the resolution of the motor encoder (or decrease the load encoder resolution) or make changes/adjustment to the mechanics to decrease the compliance or backlash. If this is not possible then we can consider an NRE option (contact Galil for more info).

For a web tutorial of Galil dual loop methods, go to:

http://www.galilmc.com/training/v_dual_loop_comp_method.html

-EricK

Richard B on 03/11/2013 - 08:41

Is the "advanced" dual loop method still available for a Galil 1860?
Do you have an updated link to the Galil dual loop methods tutorial?

Galil_AndyH on 03/11/2013 - 08:50

Richard,

Advanced dual loop is a customized solution that where we work directly with the customer to understand the application. Start with standard dual loop mode (DV command) and e-mail support@galilmc.com if that is unsuccessful.

The dual loop mode tutorial can be found on our On-Line Tutorial page:
http://www.galilmc.com/learning/tutorials.php

Thank you,