- Posts: 17524
- Thank you received: 0
Absolute linear scales
10 years 2 months ago #79593
by PCW
Replied by PCW on topic Absolute linear scales
Probably the P term is too high
Note that FF1 is also completely wrong
FF1 can be set to 1 _IF_ you scale the analog velocity command so that its in
machine units per second at 10V in to the servo drive
So for example, if your machine moves 200 mm/s with a analog command of 10V
you would set:
MAX_OUTPUT = 200.0
OUTPUT_MIN_LIMIT = -200.0
OUTPUT_MAX_LIMIT = 200.0
OUTPUT_SCALE = -200.0
and then FF1 would be 1 (or very close)
The advantage of doing this is that its much easier to guess good PID numbers (and the PID number are the same for inch and mm machines)
Note that FF1 is also completely wrong
FF1 can be set to 1 _IF_ you scale the analog velocity command so that its in
machine units per second at 10V in to the servo drive
So for example, if your machine moves 200 mm/s with a analog command of 10V
you would set:
MAX_OUTPUT = 200.0
OUTPUT_MIN_LIMIT = -200.0
OUTPUT_MAX_LIMIT = 200.0
OUTPUT_SCALE = -200.0
and then FF1 would be 1 (or very close)
The advantage of doing this is that its much easier to guess good PID numbers (and the PID number are the same for inch and mm machines)
Please Log in to join the conversation.
10 years 2 months ago #79601
by terkaa
Replied by terkaa on topic Absolute linear scales
What would be a good starting value for FF1 with the setup I have now? If I change to this setup:
MAX_OUTPUT = 200.0
OUTPUT_MIN_LIMIT = -200.0
OUTPUT_MAX_LIMIT = 200.0
OUTPUT_SCALE = -200.0
Can I still use this tuning guide:
gnipsel.com/linuxcnc/tuning/servo.html
? I would like to use that because it is simple enough for me to understand
Tero
MAX_OUTPUT = 200.0
OUTPUT_MIN_LIMIT = -200.0
OUTPUT_MAX_LIMIT = 200.0
OUTPUT_SCALE = -200.0
Can I still use this tuning guide:
gnipsel.com/linuxcnc/tuning/servo.html
? I would like to use that because it is simple enough for me to understand
Tero
Please Log in to join the conversation.
10 years 2 months ago #79609
by terkaa
Replied by terkaa on topic Absolute linear scales
Lowering P to 1.0 and FF1 to 0.02 made it possible to move axis slowly without too bad vibrations. What is lowest acceptable value for P ? Should I lower internal Gain of servo amplifier so I could increase LinuxCNC P value?
Tero
Tero
Please Log in to join the conversation.
10 years 2 months ago #79610
by PCW
Replied by PCW on topic Absolute linear scales
Normally you tune the drive and LinuxCNC separately
Both the drives and LinuxCNCs gains (P term on LinuxCNC amd P+I on the drives velocity loop)
should be as high as possible (while still stable) to minimize the following error
You should be able to use JTs tuning guide above in any case.
Note that if you change the output scaling from 10 to 200 this will mean you need to increase
P 20 times to get the same result
Also note that I pulled 200 out of a hat (to say it politely)
(you need to calculate this number from drive settings or measure it)
Both the drives and LinuxCNCs gains (P term on LinuxCNC amd P+I on the drives velocity loop)
should be as high as possible (while still stable) to minimize the following error
You should be able to use JTs tuning guide above in any case.
Note that if you change the output scaling from 10 to 200 this will mean you need to increase
P 20 times to get the same result
Also note that I pulled 200 out of a hat (to say it politely)
(you need to calculate this number from drive settings or measure it)
Please Log in to join the conversation.
10 years 2 months ago #79641
by terkaa
Replied by terkaa on topic Absolute linear scales
With these values I was able to get minimum f-error and stable axis:
# Second axis
[AXIS_1]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 134
MAX_ACCELERATION = 268
P = 0.4
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 0.055
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.001
BACKLASH = 0.000
MAX_OUTPUT = 10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
INPUT_SCALE = 1.000
OUTPUT_SCALE = -10.000
MIN_LIMIT = -254
MAX_LIMIT = 1200
FERROR = 0.8
MIN_FERROR = 0.2
Tero
# Second axis
[AXIS_1]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 134
MAX_ACCELERATION = 268
P = 0.4
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 0.055
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.001
BACKLASH = 0.000
MAX_OUTPUT = 10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
INPUT_SCALE = 1.000
OUTPUT_SCALE = -10.000
MIN_LIMIT = -254
MAX_LIMIT = 1200
FERROR = 0.8
MIN_FERROR = 0.2
Tero
Please Log in to join the conversation.
10 years 2 months ago #79688
by andypugh
Replied by andypugh on topic Absolute linear scales
I would normally expect to see a little bit of I and D in a fully-tuned system.
Please Log in to join the conversation.
10 years 2 months ago #79701
by terkaa
Replied by terkaa on topic Absolute linear scales
I followed this guide
gnipsel.com/linuxcnc/tuning/servo.html
and there I and D are not used. Or there is a mention that I should help a bit when tuning is close. I did not see any over/undershoots with scope so I let I alone. Also it was my first servo tune so I am quite sure it is not perfect... Well maybe some rainy day it will be :laugh:
Tero
Tero
Please Log in to join the conversation.
10 years 2 months ago #79736
by terkaa
Replied by terkaa on topic Absolute linear scales
Ok. Now everything else works but software limits. Those are not activated if not homed. If I would like to "tweak" this a little where is this done in source?
Tero
Tero
Please Log in to join the conversation.
10 years 2 months ago #79744
by andypugh
Replied by andypugh on topic Absolute linear scales
Are you running 2.7 with NO_FORCE_HOMING or 2.8 with the Absolute options?
Please Log in to join the conversation.
10 years 2 months ago #79747
by terkaa
Replied by terkaa on topic Absolute linear scales
2.7.6 with NO_FORCE_HOMING. I am considering of "tweaking" command.c a little bit:
forum.linuxcnc.org/forum/10-advanced-con...-work-without-homing
Tero
forum.linuxcnc.org/forum/10-advanced-con...-work-without-homing
Tero
Please Log in to join the conversation.
Time to create page: 3.613 seconds
