Editing Using stepping motor with IONI

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help page.

Latest revision Your text
Line 1: Line 1:
 
Using stepping motor with [[IONI]] drive is possible in three ways:
 
Using stepping motor with [[IONI]] drive is possible in three ways:
  
;Mode1 - Open loop (no encoder)
+
;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.
 
: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)
+
;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.  
 
: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)
+
;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 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 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 ([[Signal path of motor drive|more details]]).
+
 
+
==Setting up open loop mode 1==
+
In open loop mode (traditional stepper motor mode) uses smooth microstepping of 128 microsteps per one full step. Resolution may be optionally reduced by increasing the {{param|MUL}} value.
+
  
 +
==Setting up open loop mode==
 
In this mode, drive emulates encoder internally and some tuning parameters need to be set to allow operation:
 
In this mode, drive emulates encoder internally and some tuning parameters need to be set to allow operation:
 
;[[MT]] Motor type
 
;[[MT]] Motor type
Line 35: Line 31:
 
:0
 
:0
 
;[[KVI]] Velocity I gain
 
;[[KVI]] Velocity I gain
:700
+
:900
 
;[[AFF]] and [[VFF]]
 
;[[AFF]] and [[VFF]]
 
:0
 
:0
 
;[[KPP]] Position P gain
 
;[[KPP]] Position P gain
:10000
+
:150
 
;[[PFF]] Position feed-forward gain
 
;[[PFF]] Position feed-forward gain
 
:100%
 
:100%
Line 47: Line 43:
 
:1000
 
:1000
  
Other settings are not critical and can be configured as desired (such as acceleration and velocity limits). If setpoint scaling is 1:1 ([[MUL]]=[[DIV]]), 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 [[CIS]]).
+
Other settings are not critical and can be configured as desired (such as acceleration and velocity limits).
 
{{tip|Use Granity's ''Measure resistance & inductance'' button to automatically set MR and ML}}
 
{{tip|Use Granity's ''Measure resistance & inductance'' button to automatically set MR and ML}}
  
{{download|To save time, you may load [[Media:IONIStepperSettingsTemplate3.drc|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. }}
+
{{download|To save time, you may load [[Media:IONIStepperSettingsTemplate2.drc|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. }}
  
 +
{{info|These values and settings apply from firmware version 1.2.1! For older firmware version, check out earlier version of this page here.}}
  
'''NOTE:''' these values and settings apply from '''firmware version 1.5.2''' (1096). For older firmware version settings, see:
+
==Seting up closed loop mode (with encoder feedback)==
* [http://granitedevices.com/w/index.php?title=Using_stepping_motor_with_IONI&oldid=5109 Version 1.2.1 - 1.5.1]
+
In this mode, follow parameterization of closed loop mode except:
* [http://granitedevices.com/w/index.php?title=Using_stepping_motor_with_IONI&oldid=4026 Version 1.2.0 and earlier]
+
 
+
==Setting up closed loop mode 2==
+
In this mode, follow parametrization of open loop mode (mode 1) except:
+
 
;[[FBD]] Feedback device
 
;[[FBD]] Feedback device
 
:Choose your feedback device (other than None)
 
:Choose your feedback device (other than None)
Line 66: Line 59:
 
:Set your feedback device resolution
 
:Set your feedback device resolution
 
;[[KVI]] and [[KPP]]
 
;[[KVI]] and [[KPP]]
:Tune KVI, VFF, and KPP values (and possibly other gains if non-zero) to have nice response
+
:Tune KVI and KPP values (and possibly other gains if non-zero) to have nice response
 
;[[FMO]] Motion fault limit
 
;[[FMO]] Motion fault limit
 
:Set non-zero value (perhaps 100-1000) to cause a fault state when motor stalls
 
:Set non-zero value (perhaps 100-1000) to cause a fault state when motor stalls
 
+
==Setting up servo mode==
{{tip|In this mode it might give best response when KVI has been set very low value and Velocity feed-forward VFF tuned to non-zero value. As starting values you may try the ones mentioned in the example below.}}
+
{{tip|One practical system we successfully configured in Mode 2 had following equipment: a typical 200 step/rev stepper, 1 mm/rev lead screw and a 0.1 µm/count resolution linear encoder, we found following well behaving parameters: KVI 2, VFF 40, KPP 150, PFF 100. Especially VFF value should is subject to change significantly when system resolution changes (i.e. encoder or lead screw).}}
+
==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:
 
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:
 
;[[MT]] Motor type
 
;[[MT]] Motor type
 
:2 Phase AC or BLDC
 
:2 Phase AC or BLDC
 
;[[MPC]] Pole count
 
;[[MPC]] Pole count
:100          
+
:100
 
+
== Optional: reducing motor vibration and noise ==
+
IONI firmware 1.5.2 and later supports reduction of stepping motor vibration and noise by the means of parameters TRF1, TRA1, TRF2, and TRA2.
+
 
+
[[File:Stepperlinearizeparams.png]]
+
 
+
=== Usage ===
+
For typical 2-phase (4, 6 or 8 wire) stepper it is recommended to try TRF1 of Sin(4x).
+
# To adjust TRA1 to optimum value, make motor move slowly by setting up test stimulus from Granity Testing page and setting low values into acceleration and velocity limits (CAL and CVL). For example as test stimulus settings, try TSP1=10000, TSD1=0.5, TSP2=0, TSD2=0.5, CAL=1, CVL=1000.
+
# While motor is running slowly back and forth, adjust TRA1 until the motor vibration and noise is minimized.
+
# Some motors also benefit from using third harmonic of this setting, Sin(12x) which may be enabled by setting it as TRF2 and doing same procedure for finding the optimum TRA2 value.
+
'''Note:''' some motors do not receive significant benefit of these settings. In such case, it's recommended to leave these settings disabled (TRF1 & TRF2 = None and TRA1 & TRA2 = 0) to avoid making the smoothness actually worse.
+
 
+
[[Category:Setup_guides]]
+

Please note that all contributions to Granite Devices Knowledge Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Granite Devices Knowledge Wiki:Copyrights for details). Do not submit copyrighted work without permission!

Select categories:

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)