Difference between revisions of "Tuning velocity controller"
From Granite Devices Knowledge Wiki
[checked revision] | [checked revision] |
Line 1: | Line 1: | ||
ARTICLE UNDER CONSTRUCTION - DON'T USE | ARTICLE UNDER CONSTRUCTION - DON'T USE | ||
− | [[ | + | Velocity controller tuning means finding the correct drive settings and feedback gain values to achieve a proper [[Servo stiffness]] and response to a velocity [[Setpoint signal|setpoint]] change. |
− | [[File: | + | |
− | [[File: | + | This tuning guide is for you if the final application uses the motor in velocity [[Control modes|control mode]] such as spindle or as position mode with external closed loop position controller such as [[EMC2]]. |
− | [[ | + | |
− | [[ | + | ==Velocity control tuning method== |
+ | {{tip|If motor has been tuned without the real load (i.e. motor shaft not attached), tuning parameters should be re-adjusted with the real load as the dynamic properties of the load has a significant effect on them. Large change of load properties may even cause servo instability.}} | ||
+ | |||
+ | ===Preparations=== | ||
+ | [[File:veltestingtab.png|thumb|An example of Testing tab settings for velocity controller tuning. Different settings should be experimented during the process to observe the stability and behavior of the settings.]][[File:Veltuning1.png|thumb|Initial settings on Goals tab before beginning the example in this tuning guide.]] | ||
+ | Steps to do to begin position tuning: | ||
+ | *Ensure that motor is [[Argon user guide/Drive parameterization|parameterized]] correctly and working and [[Tuning torque controller|torque control tuning]] has been properly done. | ||
+ | *Attach motor to the target load and ensure it can rotate in both directions '''infinitely''' | ||
+ | *Make following parameter changes to Granity and click apply afterwards: | ||
+ | **Set drive in velocity control mode [[CM]] | ||
+ | **Choose ''Serial only'' setpoint input [[CM]] | ||
+ | **Make other necessary adjustments to have drive powered and enabled | ||
+ | **Untick Setpoint smoothing [[CIS]] | ||
+ | **Set Goals tab [[DIV]] and [[MUL]] to 50 | ||
+ | **Set acceleration [[CAL]] & velocity [[CVL]] limits reasonably to the levels that motor is expected to handle | ||
+ | *Set-up the test stimulus and capture settings from Testing tab (an example, may be varied): | ||
+ | **Set target setpoint 1 [[TSP1]] between 1000 and 16383 (16383 equals the max speed that is configured via [[CVL]]) | ||
+ | **Set delay 1 [[TSD1]] to 0.25 seconds | ||
+ | **Set target setpoint 2 [[TSP2]] to same, but ''negative'', value of TSP1 | ||
+ | **Set delay1 [[STD2]] to 0.25 s | ||
+ | **Choose sample rate [[TSR]] of 500 to 2500 Hz | ||
+ | **Choose ''Capture setpoint change in positive direction'' from the dropdown | ||
+ | **''Tick Continuously repeating capture'' | ||
+ | **Tick ''Velocity setpoint'' and ''Velocity achieved'' from signals | ||
+ | **Tick ''Start capture'' to begin continous capture. | ||
+ | **Tick Enable test stimulus [[TSE]] to begin a continuous position back and forth spinning motion generation | ||
+ | |||
+ | Once the steps above are done, motor should be generating direction reversing spinning and velocity response graphs should appear on the right side of Granity about once in 3-5 seconds. | ||
+ | |||
+ | ===Finding velocity control gain values=== | ||
− | |||
− | |||
[[File:Veltuning2.png|800px]] | [[File:Veltuning2.png|800px]] | ||
[[File:Veltuning3.png|800px]] | [[File:Veltuning3.png|800px]] | ||
Line 15: | Line 42: | ||
[[File:Veltuning6.png|800px]] | [[File:Veltuning6.png|800px]] | ||
− | [[ | + | [[File:velocitylowgain.png|800px]] |
+ | [[File:velocitylowgainff.png|800px]] | ||
+ | [[File:velocitystable.png|800px]] | ||
+ | [[File:currentsaturatin.png|800px]] | ||
+ | [[File:velocityunstable.png|800px]] | ||
+ | |||
+ | ===Steps to do after tuning finished=== | ||
+ | *Stop test stimulus by unticking [[TSE]] | ||
+ | *Stop scope catpure by unticking ''Continuously repeating capture'' | ||
+ | *Undo all temporary changes made to settings | ||
+ | *Save settings to drive memory by clicking ''Save settings on drive non-volatile memory'' button | ||
+ | *Set preferred setpoint source [[CRI]], also consider the use of [[CIS]] | ||
+ | *If setpoint signal scaling is needed, adjust [[MUL]] and [[DIV]] values | ||
+ | |||
+ | {{tip|If drive will be controlled by an external motion [[controller]] with acceleration & velocity limits, such as CNC controller programs like '''Mach3''' or '''EMC2''', then its recommended to increase acceleration limit [[CAL]] to the maximum value of 32767 and disable setpoint smoothing [[CIS]] to prevent drive's internal acceleration limiter modifying the [[setpoint signal]]. Using these settings effectively disables the internal acceleration limit and let's external controller to control accelerations.}} | ||
+ | |||
[[category:Granity user guide]] | [[category:Granity user guide]] | ||
+ | [[category:Tuning guide]] |
Revision as of 22:23, 28 August 2013
ARTICLE UNDER CONSTRUCTION - DON'T USE
Velocity controller tuning means finding the correct drive settings and feedback gain values to achieve a proper Servo stiffness and response to a velocity setpoint change.
This tuning guide is for you if the final application uses the motor in velocity control mode such as spindle or as position mode with external closed loop position controller such as EMC2.
Contents
Velocity control tuning method
If motor has been tuned without the real load (i.e. motor shaft not attached), tuning parameters should be re-adjusted with the real load as the dynamic properties of the load has a significant effect on them. Large change of load properties may even cause servo instability. |
Preparations
Steps to do to begin position tuning:
- Ensure that motor is parameterized correctly and working and torque control tuning has been properly done.
- Attach motor to the target load and ensure it can rotate in both directions infinitely
- Make following parameter changes to Granity and click apply afterwards:
- Set drive in velocity control mode CM
- Choose Serial only setpoint input CM
- Make other necessary adjustments to have drive powered and enabled
- Untick Setpoint smoothing CIS
- Set Goals tab DIV and MUL to 50
- Set acceleration CAL & velocity CVL limits reasonably to the levels that motor is expected to handle
- Set-up the test stimulus and capture settings from Testing tab (an example, may be varied):
- Set target setpoint 1 TSP1 between 1000 and 16383 (16383 equals the max speed that is configured via CVL)
- Set delay 1 TSD1 to 0.25 seconds
- Set target setpoint 2 TSP2 to same, but negative, value of TSP1
- Set delay1 STD2 to 0.25 s
- Choose sample rate TSR of 500 to 2500 Hz
- Choose Capture setpoint change in positive direction from the dropdown
- Tick Continuously repeating capture
- Tick Velocity setpoint and Velocity achieved from signals
- Tick Start capture to begin continous capture.
- Tick Enable test stimulus TSE to begin a continuous position back and forth spinning motion generation
Once the steps above are done, motor should be generating direction reversing spinning and velocity response graphs should appear on the right side of Granity about once in 3-5 seconds.
Finding velocity control gain values
Steps to do after tuning finished
- Stop test stimulus by unticking TSE
- Stop scope catpure by unticking Continuously repeating capture
- Undo all temporary changes made to settings
- Save settings to drive memory by clicking Save settings on drive non-volatile memory button
- Set preferred setpoint source CRI, also consider the use of CIS
- If setpoint signal scaling is needed, adjust MUL and DIV values
If drive will be controlled by an external motion controller with acceleration & velocity limits, such as CNC controller programs like Mach3 or EMC2, then its recommended to increase acceleration limit CAL to the maximum value of 32767 and disable setpoint smoothing CIS to prevent drive's internal acceleration limiter modifying the setpoint signal. Using these settings effectively disables the internal acceleration limit and let's external controller to control accelerations. |