Real world output is WAAAY off!
24 Sep 2019 22:38 #146112
by Scot
Real world output is WAAAY off! was created by Scot
Hello all,
I have my my brushless Keling servo connected to my Pico Systems amp and I'm able to jog the motor. I'm getting ready to start tuning but I thought I should check the real world output for the table that I'm moving with that motor. So I put a plunge-type .001" dial indicator on the slide and gave it an incremental jog of .1". The real world output is just about .015", though. It's quite inaccurate, for sure!
The motor is a 36v, 4000rpm brushless servo. I'm using a 42volt power supply, the motor to screw pulley ratio is 16:20 teeth or 4:5, motor to spindle, not spindle to motor. The screw is a 2.5mm ballscrew and I'm using a 500ppr quadrature encoder. This set of numbers is offered up, in case someone might be able to check my math on the OUTPUT_SCALE number I edited into that line of 6.124222222222222. The current setting for the INPUT_SCALE I set to 4000, but quadrature encoders always have confused the daylights out of me. So I'm not sure if that number is correct
What parameter am I supposed to change to make this an accurate output? Also, if I change the INPUT_SCALE, I'm going to have to change the parameter OUTPUT_SCALE, also, correct?
Here's a copy of the axis settings I currently have in the .ini file.
# First axis
[AXIS_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 1.20
MAX_ACCELERATION = 20.0
PID_MAX_VEL = 1.5
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 6.124222222222222
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
FERROR = 0.0100
MIN_FERROR = 1.000
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
DEADBAND = 9e-06
P = 90
I = 100
D = 0.3
BIAS = 0
FF0 = 0
FF1 = 1
FF2 = 0
Thanks in advance,
Scot
I have my my brushless Keling servo connected to my Pico Systems amp and I'm able to jog the motor. I'm getting ready to start tuning but I thought I should check the real world output for the table that I'm moving with that motor. So I put a plunge-type .001" dial indicator on the slide and gave it an incremental jog of .1". The real world output is just about .015", though. It's quite inaccurate, for sure!
The motor is a 36v, 4000rpm brushless servo. I'm using a 42volt power supply, the motor to screw pulley ratio is 16:20 teeth or 4:5, motor to spindle, not spindle to motor. The screw is a 2.5mm ballscrew and I'm using a 500ppr quadrature encoder. This set of numbers is offered up, in case someone might be able to check my math on the OUTPUT_SCALE number I edited into that line of 6.124222222222222. The current setting for the INPUT_SCALE I set to 4000, but quadrature encoders always have confused the daylights out of me. So I'm not sure if that number is correct
What parameter am I supposed to change to make this an accurate output? Also, if I change the INPUT_SCALE, I'm going to have to change the parameter OUTPUT_SCALE, also, correct?
Here's a copy of the axis settings I currently have in the .ini file.
# First axis
[AXIS_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 1.20
MAX_ACCELERATION = 20.0
PID_MAX_VEL = 1.5
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 6.124222222222222
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
FERROR = 0.0100
MIN_FERROR = 1.000
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
DEADBAND = 9e-06
P = 90
I = 100
D = 0.3
BIAS = 0
FF0 = 0
FF1 = 1
FF2 = 0
Thanks in advance,
Scot
Please Log in or Create an account to join the conversation.
24 Sep 2019 22:47 - 24 Sep 2019 22:50 #146113
by PCW
Replied by PCW on topic Real world output is WAAAY off!
With a 4:5 motor to 2.5 mm pitch ballscrew ratio, you should move
2.0 mm per motor rotation, a 500 line encoder is 2000 counts per turn or
1000 counts per mm so INPUT_SCALE should be 1000
OUTPUT_SCALE is in units of velocity and is typically machine units per
second at full scale
(OUTPUT_SCALE can be different and still work fine but tuning will change
with OUTPUT_SCALE and FF1 is only 1.0 if output scale is correct)
2.0 mm per motor rotation, a 500 line encoder is 2000 counts per turn or
1000 counts per mm so INPUT_SCALE should be 1000
OUTPUT_SCALE is in units of velocity and is typically machine units per
second at full scale
(OUTPUT_SCALE can be different and still work fine but tuning will change
with OUTPUT_SCALE and FF1 is only 1.0 if output scale is correct)
Last edit: 24 Sep 2019 22:50 by PCW.
The following user(s) said Thank You: Scot
Please Log in or Create an account to join the conversation.
24 Sep 2019 23:27 #146117
by Scot
Replied by Scot on topic Real world output is WAAAY off!
Well, I changed that value and immediately got a following error, followed by a servo amp fault. So I'm going to take it that the INPUT_SCALE value being set at 1000 is incorrect for that PID setup. Then I doubled the original INPUT_SCALE value to 8000 and the real world output doubled. Then I changed it to 20,000 and got about 3/4 of the right, real world output. And finally I switched that value to 25000 and got a nearly perfect real world output. Maybe my encoder info is wrong?
At this point, I'm kind of intrigued about what I'm missing.
25 times the value you provided seems incredibly large in comparison, but it's working. Any idea as to why?
Scot
At this point, I'm kind of intrigued about what I'm missing.
25 times the value you provided seems incredibly large in comparison, but it's working. Any idea as to why?
Scot
Please Log in or Create an account to join the conversation.
24 Sep 2019 23:42 #146119
by Scot
Replied by Scot on topic Real world output is WAAAY off!
Strange, though. My limit switches don't stop the axis now? The jog at 60 ipm is great. No big seeking, no noticeable dithering. When I move at .1" increments, it overshoots about .001" to .002" and seeks for a few seconds. It moves to position quickly and snaps to a stop, pretty strong.
All in all, the performance changed dramatically and for the better by changing that value to 25000. I honestly have no idea as to why, though.
All in all, the performance changed dramatically and for the better by changing that value to 25000. I honestly have no idea as to why, though.
Please Log in or Create an account to join the conversation.
24 Sep 2019 23:46 - 24 Sep 2019 23:48 #146120
by PCW
Replied by PCW on topic Real world output is WAAAY off!
I think I missed that you had inch units so the scale is 1000*25.4
(1000 counts/mm *25.4 mm/inch)
(1000 counts/mm *25.4 mm/inch)
Last edit: 24 Sep 2019 23:48 by PCW.
Please Log in or Create an account to join the conversation.
25 Sep 2019 00:18 #146122
by Scot
Replied by Scot on topic Real world output is WAAAY off!
Well, that would explain it! It's getting really close to hitting the .0001" increment mark on the DRO. There is a slight overshoot in both directions. But this is a first for me, doing a servo system and I guess I picked a tougher version of servo, in that I chose brushless servos.
So here's a quandary. The limits were working and the home seeking was working. Then when I changed the values to considerably higher, the switches didn't stop the axis. I have no idea where to start with that.
Any idea what I may have done?
Thanks in advance,
Scot
So here's a quandary. The limits were working and the home seeking was working. Then when I changed the values to considerably higher, the switches didn't stop the axis. I have no idea where to start with that.
Any idea what I may have done?
Thanks in advance,
Scot
Please Log in or Create an account to join the conversation.
26 Sep 2019 00:03 #146206
by andypugh
Replied by andypugh on topic Real world output is WAAAY off!
Is it that the switches are not detected, or that the machine moves too fast to stop in time?
Please Log in or Create an account to join the conversation.
26 Sep 2019 01:06 #146207
by Scot
Replied by Scot on topic Real world output is WAAAY off!
The hard switches started working again when I started it up. I think it was a homing issue, though. Thanks for sure, though.
Please Log in or Create an account to join the conversation.
Time to create page: 0.074 seconds