7I85S with TTL encoders
27 May 2013 22:34 #34760
by casetero
Replied by casetero on topic 7I85S with TTL encoders
Hello,
So it is ok then, i see stepgen and encoders I/O.
Im tunning the pid now, i have some doubts:
If i create a new thread of for example 50.000 ns and i link pid.0.pid-do-calcs to this thread, the PID will work better than linked to servo-thread?
The values of Pgain, Igain, Dgain, FF0, FF1, FF2 are different using the 5i25 instead the paralell port? I have noticed that with the 5i25 i can fix higher values than working with the paralell port. Is it possible or this values doesnt depend of the stepgen?
Now i have :
Pgain 100
Igain 0
Dgain 50
FF0 0
FF1 0
FF2 0
And it oscillates. Do you know if there is standad values for the 5i25??
Thank you and regards.
So it is ok then, i see stepgen and encoders I/O.
Im tunning the pid now, i have some doubts:
If i create a new thread of for example 50.000 ns and i link pid.0.pid-do-calcs to this thread, the PID will work better than linked to servo-thread?
The values of Pgain, Igain, Dgain, FF0, FF1, FF2 are different using the 5i25 instead the paralell port? I have noticed that with the 5i25 i can fix higher values than working with the paralell port. Is it possible or this values doesnt depend of the stepgen?
Now i have :
Pgain 100
Igain 0
Dgain 50
FF0 0
FF1 0
FF2 0
And it oscillates. Do you know if there is standad values for the 5i25??
Thank you and regards.
Please Log in or Create an account to join the conversation.
27 May 2013 23:15 - 27 May 2013 23:33 #34762
by PCW
Replied by PCW on topic 7I85S with TTL encoders
A 50 usec servo thread is not possible on most hardware.
A 1 mS servo thread rate is fine for a velocity mode control loop unless you have extreme accelerations.
If you are running a step/dir system, you are implementing
close to a pure velocity mode servo loop in LinuxCNC. A pure velocity mode servo only
needs FF1 and a little bit of P. If the PID loop in normalized (input is position error in machine units and output is in machine units per second), FF1 will be _very_ close to 1. FF1 does the bulk of the work, with P just correcting for minor errors. Because of the low required P term, stability should not be an issue (and normally no D is required)
Edit: To normalize the PID loop, you will need to set the stepgen scale so that the
velocity input command (the output of the PID component) is scaled in machine units
per second.
A 1 mS servo thread rate is fine for a velocity mode control loop unless you have extreme accelerations.
If you are running a step/dir system, you are implementing
close to a pure velocity mode servo loop in LinuxCNC. A pure velocity mode servo only
needs FF1 and a little bit of P. If the PID loop in normalized (input is position error in machine units and output is in machine units per second), FF1 will be _very_ close to 1. FF1 does the bulk of the work, with P just correcting for minor errors. Because of the low required P term, stability should not be an issue (and normally no D is required)
Edit: To normalize the PID loop, you will need to set the stepgen scale so that the
velocity input command (the output of the PID component) is scaled in machine units
per second.
Last edit: 27 May 2013 23:33 by PCW.
Please Log in or Create an account to join the conversation.
28 May 2013 23:31 #34853
by casetero
Replied by casetero on topic 7I85S with TTL encoders
Thank you PCW,
We continue the post in the other one.
Regards.
We continue the post in the other one.
Regards.
Please Log in or Create an account to join the conversation.
Time to create page: 0.098 seconds