PLC & Serial
Pre-programmed motion control algorithms enable implementation of several operators/commands for specific motion control. The key commands are for defining of speed (“Set Velocity”) and for movement to a defined position (“Destination”). These commands are resident within a library which can be accessed using either DTI’s optional programmable logic control (PLC) software, or via the serial (RS-232) port.
The algorithms, which have been optimized based on the specific dynamic characteristics of the motor, analyze encoder feedback signaling and perform real-time noise filtration and temporal processing. This provides the following advantages:
- Increase in the range of speed control range during continuous mode operation.
- Reduction in ultrasonic vibrational noise during speed control.
- Substantial increase in the accuracy of speed control (speed stabilization) with external load changes.
- Dramatic increase in system response time during speed stabilization.
Example of DTI’s PLC software using USB port communication
Set Velocity Command
Four different algorithms have been designed to control piezo motor speed, a brief description of these is provided here:
Continuous-frequency algorithm – Medium to high speeds are regulated by varying the excitation frequency along the resonance characteristic of the piezo motor within its medium-frequency region during medium to high speed motion.
Hysteresis algorithm – Low speeds are regulated by varying the excitation frequency along the resonance characteristic of the piezo motor within its high-frequency region during lower speed motion.
Modulation algorithm – Slow speeds are regulated by the on formation of train excitation packets with specific fixed repetition rates. The packets are internally frequency modulated during slow speed motion.
Frequency modulation algorithm – Very slow speeds are regulated by the formation of train excitation packets (similar to modulation algorithm) but with a varying repetition rate during very slow speed motion.
An example of the four different speed control algorithms for a rotary piezo motor is provided here.
- Medium to high speed: 2 rpm to 100 rpm (1 rpm step size)
- Low Speed: 1-2 rpm (0.1 rpm step size);
- Slow Speed: 0.2-1 rpm (0.1 rpm step size);
- Very Slow Speed: 0.01-0.2 rpm (0.01 rpm step size).
In this example, control over the entire range of speeds is performed using a root algorithm. The root algorithm is based on the interval principle, where each range of speed uses its own algorithm and its own starting frequency point. Depending on the set speed (which is specified by the “Velocity” command), the program selects the optimum algorithm to ensure stabilization of the required speed.
These algorithms, in contrast to traditional PWM algorithms, enable the user to significantly extend the range of speed control of the piezo motor, while simultaneously reducing the associated noise and parasitic ultrasonic vibration.
Set Destination Command
The main command responsible for movement and positioning is the "Destination" command. Movement using this command is specified in pulses from the encoder; where for a rotary piezo motor 1 pulse = 196 µrad, and for a linear piezo motor 1 pulse = 2.6 µm)
The underlying algorithm has been developed to optimize motion control by analyzing the required speed of movement and specific dynamic characteristics of the motor (i.e. the inertia of the rotor/carriage/loan and self-braking torque/force). The algorithm also analyses the braking distance when approaching the desired target coordinate.
Since the value of the external inertia load is initially unknown, the system is initially programmed for a fixed breaking distance and fixed speed of braking based on the follow assumptions:
- For rotary a piezo motor - moment of inertia of the rotor Io = 70 gcm2 and maximum programmed speed ωo = 60 rpm;
- For a rotary piezo motor, taking into account the additional external inertial load I, the maximum programmed speed ω in a given coordinate can be calculated as:
- For linear piezo motor - inertial mass of the movable carriage mo = 20 g and maximum programmed speed Vo = 80 mm/s.
- For a linear motor, taking into account the additional external inertial mass m, the maximum programmed speed V in a given coordinate can be calculated as:
Note: If the programmed speed exceeds the calculated above maximum speeds, the destination position can be overshot.
An example of how the Destination command implements these algorithms for a rotary piezo motor is provided here:
- The Destination command analyzes the programmed speed of rotation ω, which is set using the Set Velocity command. If the speed exceeds the fixed speed of braking, then it algorithm decelerates the motor in the span of certain number of encoder pulses in order to achieve the fixed speed of braking.
- If the speed of rotation ω (set by Set Velocity command) is equal to or less than the fixed speed of braking, then positioning is performed at the programmed speed ω.
- If the programmed speed of rotation ω is greater than the fixed speed of braking and the travel range (determined by Destination command) is smaller than the deceleration distance, then the movement is carried out at the fixed speed of braking.
These positioning algorithms can significantly improve the accuracy of positioning and can bring the positioning resolution of movement to within the actual resolution of the encoder.
An additional Command “Braking Distance” can be implemented for custom braking distance (the default value is 500 pulses). In this case the command needs to be placed before the Destination command. The Destination command will then be based on the new custom value for the braking distance. If the custom value for the braking distance is set at zero (“Braking Distance(0)”) the piezo motor will work without any deceleration when approaching the target coordinate. In this case, the risk for overshooting increases.
Note: The user must choose the correct value for the braking distance in order to achieve a positioning resolution equal to the maximum achievable resolution of the encoder.
To implement motor control via the serial port, a 3-pin connector is used, which is located on the daughter board of the driver, where:
contact G - common (GND);
contact R - data reception (Receiver or RXD);
contact T - transmission (Transmitter or TXD).
The connection diagram of the control device to the Daughter board of the motor driver is shown below.
Additional information on motion control, including PLC and Serial Port Commands is available within the product instruction manual.