Open Loop Stepper PID?
- HalaszAttila
- Offline
- Premium Member
-
Less
More
- Posts: 141
- Thank you received: 5
03 Jun 2016 13:55 #75428
by HalaszAttila
Open Loop Stepper PID? was created by HalaszAttila
Hy everybody,
I working on a large open loop stepper motor driven cnc table, X=8m x Y=2.5m x Z=1.5m with MESA 5i25 + 7i76.
On the X axis has two 10Nm stepper, drivel as a gantry.
The maximum speed of X-Y axis is 24.0 m/min.
My problem is, when jog the axis, the following error is increased (axis.0.f-error), and gave a following error message (FERROR = 5.0, MIN_FERROR = 5.0). In the scope, i see the following error has a increasing sinusoidal component.
The "hal" program is generated with PnConf, and not clear for me, why use PID control for open loop stepper system.
Obvious that the PID causes following error. I try to tune the PID for better result but without success.
I include here the HAL, and INI section for XY axis, please help me to solve this problem.
This is not my first Linuxcnc machine but first with steppers.
Thanks Attila.
I working on a large open loop stepper motor driven cnc table, X=8m x Y=2.5m x Z=1.5m with MESA 5i25 + 7i76.
On the X axis has two 10Nm stepper, drivel as a gantry.
The maximum speed of X-Y axis is 24.0 m/min.
My problem is, when jog the axis, the following error is increased (axis.0.f-error), and gave a following error message (FERROR = 5.0, MIN_FERROR = 5.0). In the scope, i see the following error has a increasing sinusoidal component.
The "hal" program is generated with PnConf, and not clear for me, why use PID control for open loop stepper system.
Obvious that the PID causes following error. I try to tune the PID for better result but without success.
I include here the HAL, and INI section for XY axis, please help me to solve this problem.
This is not my first Linuxcnc machine but first with steppers.
Thanks Attila.
Please Log in or Create an account to join the conversation.
03 Jun 2016 14:29 #75431
by PCW
Replied by PCW on topic Open Loop Stepper PID?
The tuning should be
P = 1000 assuming 1 KHz servo thread (in general P will be 1/servothread period in seconds)
FF1 = 1.000
D = 0
I = 0
also set MAX_OUTPUT to 0
P = 1000 assuming 1 KHz servo thread (in general P will be 1/servothread period in seconds)
FF1 = 1.000
D = 0
I = 0
also set MAX_OUTPUT to 0
Please Log in or Create an account to join the conversation.
- HalaszAttila
- Offline
- Premium Member
-
Less
More
- Posts: 141
- Thank you received: 5
06 Jun 2016 09:58 #75547
by HalaszAttila
Replied by HalaszAttila on topic Open Loop Stepper PID?
Tanks for Your quick replay,
I tested with given PID values, but the following-error error remains.
PID Values:
P=1000 (SERVO_PERIOD 1000000)
I=0
D=0
FF1 = 1.0
MAX_OUTPUT=0
When I jog the axis and release the button, I must wait a 5-6 seconds to settle the axis and stops moving. Until they moves, and slowly slowing down.
I tested the step_type, and contol-type with 0-0, 0-1, 1-0, 1-1 combinations but didn`t help.
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 1
Can somebody link me a working HAL file for stepper system?
I tested with given PID values, but the following-error error remains.
PID Values:
P=1000 (SERVO_PERIOD 1000000)
I=0
D=0
FF1 = 1.0
MAX_OUTPUT=0
When I jog the axis and release the button, I must wait a 5-6 seconds to settle the axis and stops moving. Until they moves, and slowly slowing down.
I tested the step_type, and contol-type with 0-0, 0-1, 1-0, 1-1 combinations but didn`t help.
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 1
Can somebody link me a working HAL file for stepper system?
Please Log in or Create an account to join the conversation.
- HalaszAttila
- Offline
- Premium Member
-
Less
More
- Posts: 141
- Thank you received: 5
06 Jun 2016 10:07 #75548
by HalaszAttila
Replied by HalaszAttila on topic Open Loop Stepper PID?
And why the PnConf put PID control for all XYZC axis, when I select stepper motors for him?
Can I control the setpgen without PID?
Can I control the setpgen without PID?
Please Log in or Create an account to join the conversation.
06 Jun 2016 14:54 #75557
by PCW
Replied by PCW on topic Open Loop Stepper PID?
For PID, control type must be 1
You can use position mode control but it is not as robust with regard to host servo thread jitter
Step type determines the output signal type (quadrature, step/dir or table driven = 0,1 or >1)
Can you post your complete current hal and ini files? something is still setup wrong
You can use position mode control but it is not as robust with regard to host servo thread jitter
Step type determines the output signal type (quadrature, step/dir or table driven = 0,1 or >1)
Can you post your complete current hal and ini files? something is still setup wrong
Please Log in or Create an account to join the conversation.
- HalaszAttila
- Offline
- Premium Member
-
Less
More
- Posts: 141
- Thank you received: 5
08 Jun 2016 21:46 #75700
by HalaszAttila
Replied by HalaszAttila on topic Open Loop Stepper PID?
Hello,
I solved the problem.
I dont use PID, instead setup the stepgen with these 3 lines.
net y-pos-cmd <= axis.1.motor-pos-cmd => hm2_5i25.0.stepgen.02.position-cmd
net y-pos-fb hm2_5i25.0.stepgen.02.position-fb => axis.1.motor-pos-fb
net y-enable axis.1.amp-enable-out => hm2_5i25.0.stepgen.02.enable
Now the machine has quick response on jogging, no oscillating on the moves, and no following error.
What You think, can I use steppers with these settings, without PID?
I solved the problem.
I dont use PID, instead setup the stepgen with these 3 lines.
net y-pos-cmd <= axis.1.motor-pos-cmd => hm2_5i25.0.stepgen.02.position-cmd
net y-pos-fb hm2_5i25.0.stepgen.02.position-fb => axis.1.motor-pos-fb
net y-enable axis.1.amp-enable-out => hm2_5i25.0.stepgen.02.enable
Now the machine has quick response on jogging, no oscillating on the moves, and no following error.
What You think, can I use steppers with these settings, without PID?
Please Log in or Create an account to join the conversation.
08 Jun 2016 21:52 #75701
by PCW
Replied by PCW on topic Open Loop Stepper PID?
You can but its less robust with regard to host servo thread jitter and has higher following error than the PID setup
The fact that you have instability in the PID setup means something is still wrong in your HAL or INI files
The fact that you have instability in the PID setup means something is still wrong in your HAL or INI files
Please Log in or Create an account to join the conversation.
Time to create page: 0.086 seconds