Real world output is WAAAY off!

More
24 Sep 2019 22:38 #146112 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

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

More
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)
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.

More
24 Sep 2019 23:27 #146117 by Scot
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

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

More
24 Sep 2019 23:42 #146119 by Scot
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.

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

More
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)
Last edit: 24 Sep 2019 23:48 by PCW.

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

More
25 Sep 2019 00:18 #146122 by Scot
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

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

More
26 Sep 2019 00:03 #146206 by andypugh
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.

More
26 Sep 2019 01:06 #146207 by Scot
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.120 seconds
Powered by Kunena Forum