Kinetix servo not finding exact position

phuz

Member
Join Date
Jun 2008
Location
Mohnton, PA
Posts
1,044
I'll start off with admitting I have a lack of experience when it comes to servos, but the previous ones I've done have all been rather successful. I'm working with some Kinetix 5700 controllers and VPL motors. I'm finding that, on one of my axes, I cannot move to the exact position I want.
The motors are connected to a 5mm ball screw, so my scaling is 5mm/rev. If my position is .250mm and I want to move it 0.1mm, it may only move a fraction of that. I assume the tuning is goofed, but I've tried the auto tune and it makes a terrible noise when I try to run it, so I've had to revert to original settings. (I've actually experienced that before)
 
Thanks Randy. After the noises I heard after performing the "auto tune" I was afraid to start messing with those parameters again. ;)
 
Are you doing auto-tune with motor only or connected to the load? Tuning a disconnected motor will make your timing very "hot" since there is nearly zero inertia.
Although what you are describing sounds like something else is going on. Does the ball-screw and load move freely without the motor?
 
...If my position is .250mm and I want to move it 0.1mm, it may only move a fraction of that.

In this situation I would look at the motor command and actual positions from the axis tag in an online data monitor. This will indicate whether there is a mechanical issue (e.g., coupling slip), something wrong with the servo configuration (e.g., incorrect conversion), or servo positioning trouble. If the motor is not reaching command position in time, and you are not getting a following error fault, then position tolerance is too high. Lock Tolerance could also be too high, (maybe?) allowing the motion control to stop before reaching command position.
 
Are you doing auto-tune with motor only or connected to the load? Tuning a disconnected motor will make your timing very "hot" since there is nearly zero inertia.
Although what you are describing sounds like something else is going on. Does the ball-screw and load move freely without the motor?

With load connected. Ball screws turn freely by themselves. I'm wondering if I didn't put a large enough distance for tuning.

But, adding some integral definitely improved the position during an MAM.
 
With load connected. Ball screws turn freely by themselves. I'm wondering if I didn't put a large enough distance for tuning.

But, adding some integral definitely improved the position during an MAM.

Generally, I never recommend playing with Servo tuning manually. IMO it's too difficult to get accurate and high enough resolution on a Logix trend capture to accurately model the dynamics. The servo drive samples motor data much faster than it reports to the PLC. The auto-tune algorithms may take a little tweaking on max speed and distance. Normally I use the max speed of the axis as defined by the scaling tab as the tuning max speed. For the distance, you can normally leave this value fairly small. All the auto tune is doing is essentially starting and stopping the axis very quickly to determine load versus motor inertia ratio, and integral and dead time. It's going to be hard for you to do better than that, if the tuning process is successful, which it sounds like it isn't. If you want to adjust the tuning, the best thing to do is adjust the damping factor to make more or less aggressive.

I would try tuning the motor by itself first to make sure there isn't a problem with the motor. If that is successful, double check all of your scaling parameters, and give the axis more tuning speed and distance and try it again hooked up to the load. Usually, the auto-tune runs very briefly and stops hard suddenly. It shouldn't buzz or grind, in my experience.
 
So what I don't hear you saying is that it moves a fraction of the distance and then faults. If it's not faulting, then I assume it finished it's move. I'm also assuming that your are referring to the servo reported position and not a real world measured position (ie its not the case where the servo is moving the right distance but backlash etc is making the physical device to be wrong)

Take a look at your axis lock tolerance. If you are allowing a large possible error, then the servo just needs to get into that window to consider itself "in position". (axis properties > position loop > lock tolerance)

Tightening the allowable error may then start causing faults if your servo isn't tuned well enough, but that's the next step
 
I should have mentioned that yesterday, actually. If I close the position tolerance, it will fault, so it was stopping in a distance that it thought was OK, but was truly not. So yes, we're back to tuning. As I mentioned up a few posts, adding some integral definitely did help, but I think I need to play with it a bit. I may also try the auto tune again with different distance and speed parameters.
 
I had a similar issue with a ballscrew assembly system. My actual position was off by .2 mm relative to my commanded position. In Position Loop settings, I enabled Integrator hold and changed the bandwidth from 0 to 1 hz, and now the actual position and commanded position are virtually identical.
 

Similar Topics

Hi all, New here and new all round to PLC`s. We have a servo drive that runs a cross travel beam backwards and forwards. I am having trouble with...
Replies
3
Views
190
Hi, I had two kinetix 5500 servo driver H015 will show FLT S25…PRECHARGE FAILURE error on the drive whenever it being power up with DC 24V &...
Replies
0
Views
902
I am looking to upgrade some of our old Servo Drives to the newer kinetix 5700 style. currently we have 4 1394 axis that are all driven by 5kw...
Replies
1
Views
874
Hi! I'm trying to communicate with an old Kinetix 300 drive that is fully functioning. Is there any library I can use to monitor this drive with...
Replies
0
Views
424
Hi! I'm trying to communicate with an old Kinetix 300 drive that is fully functioning. Is there any library I can use to monitor this drive with...
Replies
0
Views
479
Back
Top Bottom