Stepper setup and pncconf

More
10 years 10 months ago #67533 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:
Code:
[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)
Code:
[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 to join the conversation.

More
10 years 10 months ago #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

Please Log in to join the conversation.

More
10 years 10 months ago #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.

Please Log in to join the conversation.

More
10 years 10 months ago #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)

Please Log in to join the conversation.

More
10 years 10 months ago #67545 by trilobyte
Replied by trilobyte on topic Stepper setup and pncconf

PCW wrote: 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 to join the conversation.

More
10 years 10 months ago #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.

Please Log in to join the conversation.

More
10 years 10 months ago #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?

Please Log in to join the conversation.

More
10 years 10 months ago #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)

Please Log in to join the conversation.

More
10 years 9 months ago #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?

Please Log in to join the conversation.

More
10 years 9 months ago #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

Please Log in to join the conversation.

Time to create page: 0.108 seconds
Powered by Kunena Forum