- Configuring LinuxCNC
- Advanced Configuration
- Servo tuning / debugging help - clarification of context….
Servo tuning / debugging help - clarification of context….
08 Feb 2021 21:22 #198076
by PCW
This indicates a problem in the hal file.
pretty sure there is a bug in 2.7 vintage pncconf
relative to changes in the PID component
that causes this issue.
Can you post your current hal/ini files?
Replied by PCW on topic Servo tuning / debugging help - clarification of context….
Thank you, Todd.
any value of FF1, whether positive or negative, does not affect the f-error curve. I tried values from -10 to +10.
This indicates a problem in the hal file.
pretty sure there is a bug in 2.7 vintage pncconf
relative to changes in the PID component
that causes this issue.
Can you post your current hal/ini files?
Please Log in or Create an account to join the conversation.
08 Feb 2021 21:44 #198080
by Jaro
Replied by Jaro on topic Servo tuning / debugging help - clarification of context….
yes I'll manualy comment: net x-vel-cmd => pid.x.command-deriv
motor have limit 2000rpm/min, gear ratio is 1:2 and ballscrew pitch is 5mm.
I tried to set max 2100mm/min like rapid speed was set in heidenain tnc 135 for this mill.
motor have limit 2000rpm/min, gear ratio is 1:2 and ballscrew pitch is 5mm.
I tried to set max 2100mm/min like rapid speed was set in heidenain tnc 135 for this mill.
Please Log in or Create an account to join the conversation.
08 Feb 2021 22:00 #198084
by Jaro
Replied by Jaro on topic Servo tuning / debugging help - clarification of context….
here is the current .ini and .hal file
not cleaned yet (I played with the probe screen ....)
not cleaned yet (I played with the probe screen ....)
Attachments:
Please Log in or Create an account to join the conversation.
08 Feb 2021 22:03 #198085
by PCW
Replied by PCW on topic Servo tuning / debugging help - clarification of context….
This should not be commented out:
#setp pid.x.error-previous-target true
and this should be commented out:
net x-vel-cmd => pid.x.command-deriv
(for all axis)
#setp pid.x.error-previous-target true
and this should be commented out:
net x-vel-cmd => pid.x.command-deriv
(for all axis)
Please Log in or Create an account to join the conversation.
09 Feb 2021 10:38 #198135
by db1981
Replied by db1981 on topic Servo tuning / debugging help - clarification of context….
Then your axis scaling is wrong, with this numbers i get 83.33mm/s.
the max_velocity from each axis should be ~ the theoretical mechanical speed at max Output. (you can correct this with ff1, but normaly in an velocity controll loop this should be 1.0. )
So, if you only want 2100mm/min then [Axis]max velocity should be 35.0 and [Axis] Outputscale = 4.2 (if your servo drive is set to 10V=2000rpm), ff1 = 1.0.
Then Limit the Pid output to near your output scale for example +5 / -5 so the controller would never output more than 1000rpm. 5V becaus you will need some
headroom for the controller to correct moves at max speed.
the max_velocity from each axis should be ~ the theoretical mechanical speed at max Output. (you can correct this with ff1, but normaly in an velocity controll loop this should be 1.0. )
So, if you only want 2100mm/min then [Axis]max velocity should be 35.0 and [Axis] Outputscale = 4.2 (if your servo drive is set to 10V=2000rpm), ff1 = 1.0.
Then Limit the Pid output to near your output scale for example +5 / -5 so the controller would never output more than 1000rpm. 5V becaus you will need some
headroom for the controller to correct moves at max speed.
Please Log in or Create an account to join the conversation.
09 Feb 2021 18:59 - 09 Feb 2021 21:48 #198182
by Jaro
Replied by Jaro on topic Servo tuning / debugging help - clarification of context….
Thanks DB.
please, can you explain me how to calculate max velocity and outputscale?
servo has 2000rpm/10V
gear ratio is 1:2 so i get 1000rpm/10V behind the transfer
balscrew pitch is 5mm
1000 x 5 / 60 = 83.33mm/sec (this is maximal theoretical velocity)
meantime i corrected MAX-VELOCITY = 16.6 (last ini file )
but how this everything I can calculate on OUTPUT_SCALE, OUTPUT_MIN_LIMIT , OUTPUT_MAX_LIMIT and MAX_OUTPUT?
please, try to explane. what is necessy to stet or change?
when I set servo 800rpm/10V (i think it is possible configure driver for that)
and set
MAX_LINEAR_VELOCITY = 33.33
(TRAJ)
MAX_VELOCITY = 33.33
(AXIS X,AXIS Y,AXIS Z)
MAX_OUTPUT = 10
OUTPUT_SCALE = 9
OUTPUT_MIN_LIMIT = -10
OUTPUT_MAX_LIMIT = 10
is this correct?
thanks
Jaro
please, can you explain me how to calculate max velocity and outputscale?
servo has 2000rpm/10V
gear ratio is 1:2 so i get 1000rpm/10V behind the transfer
balscrew pitch is 5mm
1000 x 5 / 60 = 83.33mm/sec (this is maximal theoretical velocity)
meantime i corrected MAX-VELOCITY = 16.6 (last ini file )
but how this everything I can calculate on OUTPUT_SCALE, OUTPUT_MIN_LIMIT , OUTPUT_MAX_LIMIT and MAX_OUTPUT?
please, try to explane. what is necessy to stet or change?
when I set servo 800rpm/10V (i think it is possible configure driver for that)
and set
MAX_LINEAR_VELOCITY = 33.33
(TRAJ)
MAX_VELOCITY = 33.33
(AXIS X,AXIS Y,AXIS Z)
MAX_OUTPUT = 10
OUTPUT_SCALE = 9
OUTPUT_MIN_LIMIT = -10
OUTPUT_MAX_LIMIT = 10
is this correct?
thanks
Jaro
Last edit: 09 Feb 2021 21:48 by Jaro.
Please Log in or Create an account to join the conversation.
09 Feb 2021 19:04 - 09 Feb 2021 19:04 #198183
by Jaro
Replied by Jaro on topic Servo tuning / debugging help - clarification of context….
thank you very much PCW and TODD.
today I manualy comment: net x-vel-cmd => pid.x.command-deriv and
uncommented #setp pid.x.error-previous-target true.
now I can use FF1 and FF2 for F-error tuning with halscope.
thanks again
Jaro
today I manualy comment: net x-vel-cmd => pid.x.command-deriv and
uncommented #setp pid.x.error-previous-target true.
now I can use FF1 and FF2 for F-error tuning with halscope.
thanks again
Jaro
Last edit: 09 Feb 2021 19:04 by Jaro.
Please Log in or Create an account to join the conversation.
- Configuring LinuxCNC
- Advanced Configuration
- Servo tuning / debugging help - clarification of context….
Time to create page: 0.078 seconds