Using stepping motor with IONI
Using stepping motor with IONI drive is possible in three ways:
- Mode1 - Open loop (no encoder)
- This is the traditional stepping motor drive method. Will achieve highest speed and is easily configurable but there is no feedback, so if motor stalls/loses synchronism, the absolute position will be unknown before referencing/homing.
- Mode 2 - Closed loop (with encoder feedback)
- This is open loop mode combined with encoder feedback. The advantages are that drive can detect loss of synchronism and restore to commanded position with clear faults command. May be used also with linear encoder to enhance system accuracy.
- Mode 3 - Servo (with encoder feedback)
- In this mode, a stepping motor is used as high pole count brushless servo motor. In this mode, motor efficiency is high (no current if no load) and motor do not lose synchronism. However, motor speed is limited by back EMF of motor and typically can achieve lower top speed than the other modes. In this mode stepper can be also safely driven over it's rated current to get higher peak torque than it's rated torque (like a servo motor).
In the modes 1 and 2 stepper is driven with constant current drive and the motion produced by adjusting phase angle (traditional stepper drive method). In the mode 1 phase angle is controlled directly by setpoint trajectory and in mode 2 it is controlled by encoder based feedback loop. In the mode 3 motor current is controlled by torque controller (from zero to peak current limit) while phase angle is synchronized to rotor angle by the help of encoder. Mode 3 is similar to servo motor control (more details).
Setting up open loop mode 1
In this mode, drive emulates encoder internally and some tuning parameters need to be set to allow operation:
- Motor typeMT Motor type
- Stepping motor
- Feedback deviceFBD Feedback device
- None
- Invert feedback directionFBI Invert feedback direction
- Unticked
- Feedback device resolutionFBR Feedback device resolution
- 6400 (this is the emulated encoder resolution, 6400 PPR = 25600 steps/rev)
- Continuous current limitMCC Motor continuous current
- This is the resting current when motor stands still. Drive will switch to this after 0.5 seconds of standing still.
- Peak current limitMMC Motor peak current limit
- This is the motor rated current that is used when motor is rotating.
- Coil resistanceMR Motor coil resistance
- See motor datasheet or if not known, start with low values such as 1 ohm
- Coil inductanceML Motor coil inductance
- See motor datasheet or if not known, start with low values such as 1 mH
- Control modeCM Control mode
- Set to Position control (typical) or Velocity control mode
- Velocity P gainKVP Velocity P gain
- 0
- Velocity I gainKVI Velocity I gain
- 900
- Acceleration feed-forward gainAFF and Velocity feed-forward gainVFF
- 0
- Position P gainKPP Position P gain
- 150
- Position feed-forward gainPFF Position feed-forward gain
- 100%
- Over speed faultFEV Over speed fault
- 1000
- Position tracking error thresholdFPT and Velocity tracking error thresholdFVT fault limits
- 1000
Other settings are not critical and can be configured as desired (such as acceleration and velocity limits). If setpoint scaling is 1:1 (Setpoint multiplierMUL=Setpoint dividerDIV), then this mode yields resolution of 25600 steps/revolution. If reduction of resolution is required, then adjust scaling accordingly (if scaling is set above 4:1, then try also Setpoint smoothing Setpoint smoothingCIS).
Use Granity's Measure resistance & inductance button to automatically set MR and ML |
To save time, you may load this template settings file to drive. Usage: connect to the drive with Granity, and click Load settings from file. After loading the file, just set motor current limits MMC and MCC to match your motor. After saving & restarting drive, use Measure resistance & inductance button to automatically set MR and ML. |
NOTE: these values and settings apply from firmware version 1.2.1 (1064). For older firmware version, check out earlier version of this page here.
Seting up closed loop mode 2
In this mode, follow parameterization of closed loop mode except:
- Feedback deviceFBD Feedback device
- Choose your feedback device (other than None)
- Invert feedback directionFBI Invert feedback direction
- Try both settings and choose the one with stability
- Feedback device resolutionFBR Feedback device resolution
- Set your feedback device resolution
- Velocity I gainKVI and Position P gainKPP
- Tune KVI and KPP values (and possibly other gains if non-zero) to have nice response
- Motion fault thresholdFMO Motion fault limit
- Set non-zero value (perhaps 100-1000) to cause a fault state when motor stalls
Setting up servo mode 3
To set-up stepper as servo motor, just follow the IONI & IONICUBE user guide and consider the stepper motor as servo motor. For a typical 1.8 degree/step two-phase stepping motor the correct motor type parameters are:
In no event the Product Information or parts hereof shall be regarded as guarantee of conditions or characteristics. The Product Information or any part thereof may also not be regarded as a warranty of any kind. No liability of any kind shall be assumed by Author with respect to Product Information or any use made by you thereof, nor shall Author indemnify you against or be liable for any third party claims with respect to such information or any use thereof.
As content of this Wiki may be edited by user community, Granite Devices Oy or it's affiliates do not take any responsibility of the contents of this Wiki. Use information at your own risk. However, Granite Devices staff attempts to review all changes made to this Wiki and keep information trustworthy.
Without written consent, Granite Devices' Products or Intellectual Property shall not be used in situations or installations where living beings, material property, or immaterial property could be harmed by the operation, features or failures of Product. Products may only be used in a way where hazards like moving parts, electric shock, laser radiation, or fire can't be realized even if the content of this Wiki would suggest otherwise.