Template:Peripheral/Servo Tuning

From ZaberWiki
Jump to navigation Jump to search

Servo Tuning

This peripheral is a closed-loop positioning servo system. When not in force mode, it continuously monitors and corrects its position via the linear encoder. As with any servo system, the behaviour is dependent on the controller tuning. The {{{Device}}}, when paired with a compatible Zaber controller, such as an X-MCC series Universal Motor Controller, will be appropriately tuned out of the box with settings that are optimized for regular use under a light load. However, as with any closed-loop feedback system, the device performance is load-dependent, and conditions significantly outside of the intended operating range have the potential for reduced performance or instability. Thus, if operation with large or unconventional dynamic loads is desired, or if the application demands specific performance characteristics, it may be necessary to tune the servo parameters. This may be conveniently done by using Zaber Console’s servo tuning plugin, or via the ASCII protocol servo interface.

Tip lightbulb symbol.png Tip: Because servo devices continuously monitor and correct position, it is necessary to specify how accurate and stable the final position must be at the end of the movement. Criteria required for the controller to report IDLE status after movement are specified using the cloop.settle.tolerance and cloop.settle.period settings. For applications requiring utmost precision, you may want to specify a smaller tolerance and longer period. Note that there is a direct, inverse relationship between settling time and cloop.settle.tolerance, and the controller may never report IDLE status if the tolerance is too small.

Servo Tuning with Zaber Console

Zaber Console provides several convenient ways to tune your servo device. In Zaber Console, open the Servo Tuning tab and select your {{{Device}}} from the device list. For most users, the recommended way is to use the Simple tuning method. As the dynamics of most loads are dominated by their inertia (the moving mass), simply enter the total moving mass supported by the device, and the moving mass of the {{{Device}}} carriage. Click “Write to Device” and Zaber Console will apply the optimized servo parameters to your device. Servo tuning always represents an optimization that balances different performance tradeoffs. For example, an overly aggressive (high gain, high bandwidth) servo tuning will have very fast reaction to compensate for disturbances, good trajectory following, and a high stiffness. However, it will also overreact to sensor noise, which may result in a “hissing” sound generated by the motor. In contrast, a gentler servo tuning will do a good job of filtering out noise and thus offer smooth performance, but at the cost of a reduced ability to compensate for disturbance forces and weaker trajectory following. The optimal choice of tuning parameters will therefore vary depending on the application: An imaging application will have minimal disturbance forces and benefit from smoother tuning, while a machining application may benefit from the parameters adjusted to a higher stiffness. The Simple tuning method provides a slider that allows you to adjust the servo aggressiveness to suit your application. If you are just getting started or aren’t sure what values would work best for you, setting the slider to the middle provides a well-rounded starting point. For more advanced users, Zaber Console provides additional methods of servo tuning, which are discussed in the Servo Tuning section of the Zaber Console manual.