Stepper setup and pncconf
30 Dec 2015 19:34 #67533
by trilobyte
Stepper setup and pncconf was created by trilobyte
i installed a fresh 2.7.3 on a D945GCLF2 Mainboard together with a 5i20, 5i52s, 7i37TA, 7i37COM.
im working on 3axis stepper machine. i used the 5i52s to generat the 3 stepgens, and the 7i37com vor the limit switches.
pnccconf uses closed loop PIDs for my stepper setup! how can i force pnnconf to generat a open loop stepper setup?
some code from the ini file:
this is something from my other machine running with linuxcnc 2.5.4, generated with the older version of pncconf (same mesa cards)
any idea?
My English is not the best, I hope you understand it anyway
thanks
Peter
im working on 3axis stepper machine. i used the 5i52s to generat the 3 stepgens, and the 7i37com vor the limit switches.
pnccconf uses closed loop PIDs for my stepper setup! how can i force pnnconf to generat a open loop stepper setup?
some code from the ini file:
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 6000.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 125.00
STEPGEN_MAXACCEL = 7500.00
P = 100.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 125.0
# these are in nanoseconds
DIRSETUP = 5000
DIRHOLD = 5000
STEPLEN = 2500
STEPSPACE = 2500
STEP_SCALE = 320.0
MIN_LIMIT = -200.0
MAX_LIMIT = 200.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -10.000000
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
this is something from my other machine running with linuxcnc 2.5.4, generated with the older version of pncconf (same mesa cards)
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 500.0
# these are in nanoseconds
DIRSETUP = 5000
DIRHOLD = 5000
STEPLEN = 2500
STEPSPACE = 2000
STEP_SCALE = 500.0
MIN_LIMIT = -10.0
MAX_LIMIT = 350.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -8.316667
HOME_LATCH_VEL = 3.316667
HOME_FINAL_VEL = 1.666667
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
any idea?
My English is not the best, I hope you understand it anyway
thanks
Peter
Please Log in or Create an account to join the conversation.
30 Dec 2015 19:45 - 30 Dec 2015 19:47 #67535
by PCW
Replied by PCW on topic Stepper setup and pncconf
Well... all LinuxCNC stepper configs are closed loop in some sense.
That is the actual stepgen position count is compared with the commanded
position and corrections are made. This is still open loop in the sense that it has
no external position feedback.
The comparison can be done internally in the stepgen driver or externally with a PID component
It has been found that the PID closed loop has better performance relative to host servo thread jitter
so has been adopted by PNCCONF
So basically you do have a open loop configuration, with the improved performance
possible by using the PID component to close the _internal_ loop
That is the actual stepgen position count is compared with the commanded
position and corrections are made. This is still open loop in the sense that it has
no external position feedback.
The comparison can be done internally in the stepgen driver or externally with a PID component
It has been found that the PID closed loop has better performance relative to host servo thread jitter
so has been adopted by PNCCONF
So basically you do have a open loop configuration, with the improved performance
possible by using the PID component to close the _internal_ loop
Last edit: 30 Dec 2015 19:47 by PCW. Reason: sp
The following user(s) said Thank You: trilobyte
Please Log in or Create an account to join the conversation.
30 Dec 2015 20:02 #67539
by trilobyte
Replied by trilobyte on topic Stepper setup and pncconf
thanks for this fast answer!
i had a problem with the test of my axes. they were very slow until i manualy edited the MAX_OUTPUT value!
i lost many hours until i found this solution to get them faster.
i'll usw 12800steps per revision.
with the wizzard it is not allwas possible to edit the PID values and sometime changes on these values are missing if i reopen this config.
i had a problem with the test of my axes. they were very slow until i manualy edited the MAX_OUTPUT value!
i lost many hours until i found this solution to get them faster.
i'll usw 12800steps per revision.
with the wizzard it is not allwas possible to edit the PID values and sometime changes on these values are missing if i reopen this config.
Please Log in or Create an account to join the conversation.
30 Dec 2015 20:59 #67540
by PCW
Replied by PCW on topic Stepper setup and pncconf
The MAX_OUTPUT value should probably be set to 0 (no limit)
by PNCCONF. Also the P value should normally be 1/servo thread period
(= 1000 at 1 ms servo thread period)
by PNCCONF. Also the P value should normally be 1/servo thread period
(= 1000 at 1 ms servo thread period)
The following user(s) said Thank You: trilobyte
Please Log in or Create an account to join the conversation.
30 Dec 2015 21:54 #67545
by trilobyte
ok. how about the "FF1 = 1.0" is this value ok?
Replied by trilobyte on topic Stepper setup and pncconf
The MAX_OUTPUT value should probably be set to 0 (no limit)
by PNCCONF. Also the P value should normally be 1/servo thread period
(= 1000 at 1 ms servo thread period)
ok. how about the "FF1 = 1.0" is this value ok?
Please Log in or Create an account to join the conversation.
30 Dec 2015 22:01 - 30 Dec 2015 22:15 #67546
by PCW
Replied by PCW on topic Stepper setup and pncconf
Yes, FF1 should be 1.000
The optimum FF1 value may differ very slightly from 1.000, that is by the difference
between the PC and FPGA card time bases ( this is usually less than .02% )
If you want to be fussy FF2 should be set to roughly the number of seconds
between reading the stepgen position and writing the new velocity value
so for a PCI cards maybe 0.000025, for Ethernet cards maybe 0.000120
but this does not matter unless you want stepgen absolute pulse accuracy
in the u-inch region at high accelerations.
The optimum FF1 value may differ very slightly from 1.000, that is by the difference
between the PC and FPGA card time bases ( this is usually less than .02% )
If you want to be fussy FF2 should be set to roughly the number of seconds
between reading the stepgen position and writing the new velocity value
so for a PCI cards maybe 0.000025, for Ethernet cards maybe 0.000120
but this does not matter unless you want stepgen absolute pulse accuracy
in the u-inch region at high accelerations.
Last edit: 30 Dec 2015 22:15 by PCW.
Please Log in or Create an account to join the conversation.
30 Dec 2015 22:10 #67548
by trilobyte
Replied by trilobyte on topic Stepper setup and pncconf
if i move the machine with the arrow key on the keyboard over a longer distance with fast speed (9000mm/min) the axis stops immediatley if i release the arrow key. but then the axis will move a little bit more with a very slow speed. distance is maybe 0.15mm. this takes 1-2 seconds.
is this ok?
would this be better if i change the P value from 100 to 1000?
is this ok?
would this be better if i change the P value from 100 to 1000?
Please Log in or Create an account to join the conversation.
30 Dec 2015 22:18 - 30 Dec 2015 22:28 #67552
by PCW
Replied by PCW on topic Stepper setup and pncconf
As I said P should be 1/servo period so 1000 at 1 ms servo thread period
Creeping after a fast move suggests some other bound setting is wrong
(insufficient velocity headroom somewhere for example)
Creeping after a fast move suggests some other bound setting is wrong
(insufficient velocity headroom somewhere for example)
Last edit: 30 Dec 2015 22:28 by PCW.
The following user(s) said Thank You: trilobyte
Please Log in or Create an account to join the conversation.
01 Jan 2016 21:42 #67664
by trilobyte
Replied by trilobyte on topic Stepper setup and pncconf
With P=1000 it works without creeping!
the machine is now working:
max Velocity: 9000mm/min (150mm/s)
max acceleration: x axis 6m/s^2, y axis 3m/s^2
is it possible to edit pncconf in a way to be able to set the max velocity to 9000mm/min? the biggest value i can choose is 100 (mm/min)
is there another way as after every change with the pncconf to edit the ini file?
the machine is now working:
max Velocity: 9000mm/min (150mm/s)
max acceleration: x axis 6m/s^2, y axis 3m/s^2
is it possible to edit pncconf in a way to be able to set the max velocity to 9000mm/min? the biggest value i can choose is 100 (mm/min)
is there another way as after every change with the pncconf to edit the ini file?
Please Log in or Create an account to join the conversation.
01 Jan 2016 23:45 #67669
by PCW
Replied by PCW on topic Stepper setup and pncconf
Once you have a working configuration , I would just
edit the INI and HAL files file directly and no longer use PNCCONF
edit the INI and HAL files file directly and no longer use PNCCONF
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.073 seconds