Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

position error

I am having encoder position issues.

I am using 3 Kollmorgen servos attached to 3 AKD Ethercat drives. I have a cRio running as the Ecat master. All of my Vis are running in scan mode on the cRio.

 I am building a capstan pulling system that will have a constantly changing velocity based upon position within a 3 meter repeating cycle. I change the velocity based upon sensor input every mm of the cycle and then start the 3 meter cycle over. The velocity various from 1 RVS to 10RVS.  I use the encoder position to determine my position within a cycle. The system runs great for around 5 minutes and then my encoder goes crazy. Even when I stop the servo the encoder continues to increase. In the help for the “Reset Position” command I noticed that encoder values higher than 2^52 can be unstable. Does this apply to user units or RAW encoder pulses?

 

  I have tried the following methods to try and fix the problem.

  • Test and verified that the issue occurs in the Axis test panel.
    • I just set a long move at a given speed. After a time the position error goes crazy as in 4.0 e +12 and the position continues to increase after the servo stops.
    • I removed my units and used just encoder pulses and again after a few minutes the same thing occurred.
    • Changed my VI so that after each 3 meter cycle the encoder was reset to zero. Again after roughly the same amount of time the issue occurred.
    • One strange thing is that I can still control the servo accurately. If I tell it to go 100mm it goes 100mm, but once there I cannot read the position because it returns a very large and inaccurate number.

A further observation is that I can recover by resetting the cRio. This makes me think that the encoder number is exceeding some register U32 or U64. If that were the case I would have thought that resetting it after each cycle would have fixed it. Unless when you reset the position you are just setting an offset that is subtracted for the actual encoder from that point forward.

 I am sure that I have confused you all but any and all help is greatly appreciated.

 

Perpetual LabView noob…..

Jeff Lee

0 Kudos
Message 1 of 3
(5,666 Views)

One other snippet of info.

This does not occur in the Kollmorgen setup software when jogging the drive.

0 Kudos
Message 2 of 3
(5,662 Views)

Hi Jeff,

 

I have a few questions for you to help me get a better understanding of the issue:

 

- What version of LabVIEW software is your application written in (2010? 2011 SP1?, 2012? etc)?

 

- Have you tried swapping your motor with a different one?  Or your Drive?  Did you still observe the same behavior?  If possible, I think this would be a useful test to help narrow down the issue.

 

- What does your motion system look like at a high level (What components are involved and how are they connected to eachother)?  Does the encoder feedback connect back to the drive or back to your cRIO controller?  

Andrew T.
National Instruments
0 Kudos
Message 3 of 3
(5,609 Views)