Open Loop Stepper PID?

More
03 Jun 2016 13:55 #75428 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.
Attachments:

Please Log in or Create an account to join the conversation.

More
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

Please Log in or Create an account to join the conversation.

More
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?

Please Log in or Create an account to join the conversation.

More
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?

Please Log in or Create an account to join the conversation.

More
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

Please Log in or Create an account to join the conversation.

More
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?

Please Log in or Create an account to join the conversation.

More
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

Please Log in or Create an account to join the conversation.

Time to create page: 0.289 seconds
Powered by Kunena Forum