Servo tuning / debugging help - clarification of context….

More
08 Feb 2021 21:22 #198076 by PCW

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.

More
08 Feb 2021 21:44 #198080 by Jaro
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.

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

More
08 Feb 2021 22:00 #198084 by Jaro
here is the current .ini and .hal file
not cleaned yet (I played with the probe screen ....)

File Attachment:

File Name: schaublin_...2-08.hal
File Size:16 KB

File Attachment:

File Name: schaublin_...2-08.ini
File Size:4 KB
Attachments:

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

More
08 Feb 2021 22:03 #198085 by PCW
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)

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

More
09 Feb 2021 10:38 #198135 by db1981
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.

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

More
09 Feb 2021 18:59 - 09 Feb 2021 21:48 #198182 by Jaro
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
Last edit: 09 Feb 2021 21:48 by Jaro.

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

More
09 Feb 2021 19:04 - 09 Feb 2021 19:04 #198183 by Jaro
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
Last edit: 09 Feb 2021 19:04 by Jaro.

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

Time to create page: 0.078 seconds
Powered by Kunena Forum