Many motion applications require smooth motion and high accuracy, both during and at the end of the move, in particular for for medical and laboratory applications.
Even if you are using perfectly optimized PID (Proportional, Integral, Derivative) servo parameters to control position, the compensation loop is never perfect because it must manage the influence of a wide range of forces on the actual mechanical system.
The most obvious source of such forces is the motor axis’ load itself. The load has mass which reflects inertial forces back to the servo loop, and to the extent that the motor or downstream mechanical connections have friction and compliance (are not infinitely stiff) these forces also reflect back to the motor and affect servo tracking.
What good thing happens when the motor torque output is perfectly linear? The answer is smoother motion, less noise, and more precise moves.
Go Ahead, Make My Torque
Figure 1 shows a typical electronic motor control scheme, with a profile generator, a PID position compensator, a current loop, and downstream PWM signal generation and switching amplifier. Current flowing through the motor is ultimately what drives the machine axis by generating a torque.
Some simpler control systems dispense with the current loop and directly output a voltage command to the motor, which in turn creates current in the motor coils. As it turns out though, the relationship between the voltage at the motor’s coils and the actual current flowing through the motor can be rather complicated.
The two most important such effects are that if the motor is spinning, the motor will become a generator and develop its own ‘back-EMF’ voltage, and that as current flows through the motor coil, it will tend to resist itself through self-induction. Both effects result in an actual current flow in the coil that may be quite different than the voltage command applied.
So for the majority of motion control applications, a current loop is used which measures and actively controls the motor current. Modern controllers perform this task digitally, using A/D (Analog to Digital) converters. In a DC Brush motor, a single phase current loop is used, while in step motors and especially Brushless DC motors, more complicated multi-phase schemes such as Field-oriented Control (FOC) are used.
These computationally intensive schemes have been in use for a while and are popular because they provide more torque at higher spin rates, and therefore help to linearize the motor’s torque output over a wider operating range.
With a well-chosen current loop in place, even more advanced techniques are possible which utilize information about the motor, or the application, to adjust the commanded current in such a way that the motor torque is more linear.
Why is this necessary? Whether configured as a rotary motor or a linear motor, the physical torque generated by the motor is not necessarily uniform, or even linear. And the machine itself, once it begins to move, is awash in forces not only from the motor but induced by the motion of the machine itself.
Our goal is to compensate for machine or motor forces that we know about in advance, thereby reducing the torque command output needed from the PID loop.
The simplest possible kind of torque feedforward is constant bias in the desired torque command to compensate for forces such as gravity. Beyond that but still very straightforward are linear single-axis velocity and acceleration proportional torque feedforward terms, compensating for forces such as friction and inertia.
Figure 2 shows an axis moving through a trapezoidal motion profile, and a possible position error response from a well-tuned PID controller. The graph shows the position error with no feedforward compensation, velocity-feedforward applied, and acceleration feedforward applied.
Kinematics We Talk?
Machines that are built with ‘orthogonal’ actuators, such as an X Y stage, have simple reflected forces that are relatively easy to compensate for. Some robot configurations however, such as PUMA-style articulated arms (these are the arms you see welding cars, or moving pallets in factories) have much more complicated reflected torques, and include entirely new forces such as centripetal forces.
A very simple example of forces that can come from non-orthogonal mechanisms is shown in Figure 3, where the gravitational force transmitted to a shoulder joint motor is not constant, but is a function of the position of the shoulder joint.
A machine mechanism that moves and thereby induces reflected torques at its motors is one major category of forces (torques) that can be compensated for electronically. Another major category comes from the motor itself. The reason for this is that motors, whether rotary or linear, do not provide perfect proportional conversion of current flow into generated torque.
One such effect is motor ‘detents’. Detents are felt in a step motor as regular bumps during rotation. With Brushless DC motors detents exist for motors that are not ‘slotless’. Similar to step motors, these bumps cause a variation in generated torque even when provided a ‘perfect’ control waveform.
So how do we correct for detents? The answer is that we can map the torque motion profile of a motor as it goes through an electrical rotation and generate a compensating map of torque values (yet another form of feedforward) to counteract detents or any other systematic non-linearity of the torque . While this compensation technique rarely provides perfect linearization – particularly when motor to motor variation is included. But it can often provide a very meaningful improvement.
By way of example, Figure 4 shows a table that was constructed for a Brushless DC motor in the PMD lab. Note that it has a regular repeating pattern within the 360 deg electrical rotation. This is common for motors and relates back to the complicated shape of actual magnetic field interactions between the stator and rotor. For this motor the total magnitude of the adjustment was no greater than 5%, but for applications that want to go to the ‘next level’ of smoothness and accuracy, that small adjustment can be important.
It is worth noting that step motors can have their positioning accuracy improved by a similar technique. At a fine resolution, even when presented with a perfect sinusoidal waveform, step motors do not move in exact increments. Small adjustments to the commanded Sin/Cos vector torque lookup table can improve the microstepping accuracy just as was the case for BLDC motors.
Although they take time to set up, for software-based motion controllers these torque adjustment techniques are so computationally efficient that are essentially free. Modern DSPs and dedicated motion control ICs have so much computing power available that they can easily support features such as FOC, velocity and acceleration feedforward terms, and more complex torque compensation mapping.
So to take your machine’s performance to the next level, designers of medical machinery should be aware of the trend toward electronic compensation of the motor torque output.
Juno PMD’s MC73112 Torque Control IC provides advanced torque control for Brushless DC motors.The MC73112 IC is a member of PMD’s Juno family of ICs which includes ICs that provide control of DC Brush motors and step motors, and provide high performance velocity control.
More details in Juno PMD’s MC73112 Torque Control IC product page.
Content inspired by the article “Motion Control Technology Trends for Medical and Laboratory Applications” by Chuck Lewin, on pmdcorp.com
For information please contact: firstname.lastname@example.org