. |
Phase-Finding for Kollmorgen CD and PicoDAD DrivesOverviewServo drives need to know the electrical angle of the shaft so that they can correctly commutate the motor. If the electrical angle is not known, it will result in a reduction of the available torque, the addition of a static bias to the torque, and possibly an inversion of the torque’s polarity. The electrical angle is available when a resolver, commutating encoder, or absolute encoder is used. However, in certain circumstances, only an incremental position measurement may be available. In such cases, a process can be used to determine the electrical angle called phase- finding. There are various phase-finding techniques which typically rely on the shaft (or the forcer in the case of a linear motor) being free of static loads or excessive inertias. If these conditions are met, then one of the following phase-finding techniques can be used.
The disadvantage of the first method is that it requires the motor to be moved, which produces a “jumpy” motion that may not be tolerable in some cases (ex: linear motor applications). The second method is designed to solve this problem by implementing a closed loop commutation-lock algorithm that adjusts the commutation angle to the motor position rather than moving the motor to a predetermined place. The motor will move very slightly; motion of about ±4 electrical degrees is expected, but it can also be as high as ±15 electrical degrees. Phase-finding is commonly used on applications with linear scales. The presence of a static load such as gravity or an end-stop spring is problematic and may cause phase-finding to generate an erroneous value.
Autonomous Drive ActionsAn autonomous drive action is one where the motion is controlled and sequenced locally by the drive rather than by the motion controller. Phase-finding is a typical autonomous drive action. Normal, networked-controlled, closed-loop operation of a drive under SynqNet involves supplying a torque demand to the drive and receiving position feedback. At this time the network is cyclic and the amplifier enable bit (AMPEN) is set. If the drive is carrying out an autonomous drive action such as phase-finding or drive-sequenced homing, then we deviate from normal SynqNet closed-loop operation of a drive. The network must by cyclic and AMPEN must be TRUE to allow the drive to operate (in some drives this is a hard-wired signal, not just a software flag). But at the same time, the motion controller’s control law must not influence the torque applied to the motor. The motion controller firmware has built-in mechanisms to manage this process. For more information, please see Motor Phase-Finding.
Parameters Used During Phase FindingINITGAININITGAIN sets the gain for the encoder initialization process controller. Generally, it is set to 1000. Set it to a lower value if too much motion is experienced.
IENCSTARTIENCSTART sets the maximum current for the commutation initialization process.
ENCSTARTENCSTART puts the drive into an Encoder Initialization state. This can be used when MENCTYPE is set to value 3 or 4, for encoder initialization without Halls. This is an “action”-type instruction; it does not read or write a parameter, but causes a specific action to be take. Use this parameter as if it were a write-only parameter with a data value of zero. If the ENCSTART instruction is executed with the encoder type (MENCTYPE) set to a value other than 3 or 4, an error message MENCTYPE MISMATCH will be returned. If ENCSTART is executed when the feedback type is Resolver, the error message NOT AVAILABLE will be returned. The ENCSTART instruction is also implemented in Direct Command 0x60. This is used in the phaseFind Utility.
INITTIMEINITTIME sets the timer for the commutation initialization process. This is the time between the first and second current steps. Increasing this time can help with phase-finding when the friction is low.
MJMJ sets the combined inertia of the motor and the load. For rotary motors, the motor inertia is that of the rotor. For linear motors, the motor inertia refers to the motor coil mass (linear motors, MOTORTYPE= 2). This parameter is necessary when “Wake-No-Shake” encoder commutation initialization is used.
Phase Finding and the MENCTYPE ParameterThe MENCTYPE parameter is set by the user to tell the drive what type of encoder is connected. When using an encoder that has A/B lines only, and for which execution of the Phase Finding process is necessary, the MENCTYPE parameter may be set to either a value of 3 or 4. When MENCTYPE is set to 3, phase-finding is triggered by two conditions:
When MENCTYPE is set to 4, phase finding is triggered by the Enable signal only. NOTE: Once phase finding has been successfully executed, enabling the drive will NOT trigger phase-finding again. In this case, if the user wishes to execute phase-finding again, an ENCSTART command needs to be issued prior to enabling the drive. CAUTION! Thus, when using MENTYPE=4, the motion controller’s Output Offset should be set to zero before the drive is enabled. After the phase-finding process has been completed, the drive should be disabled, the output offset restored, and then the drive can be re-enabled. For these reasons, it is strongly recommended to use MENCTYPE=3 only.
The Phase-Finding Process
Evaluating the Commutation Initialization ProcessThe process makes two velocity jumps. The first velocity jump varies in size and direction (depending on initial location). By examining the nature of the velocity during the commutation initialization, we can come to certain conclusions regarding the validity of the tuning parameters that were used. The following plot shows what form we are looking for in the velocity. We see that the velocity is smooth (more or less), and we see that there is no oscillation.
In the plot above, we see some velocity instability at the end of the deceleration. Ideally, the parameters (IENCSTART and INITGAIN) should be tuned in such a way that this oscillation is not seen.
|
| | Copyright © 2001-2021 Motion Engineering |