Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Error finding reference

Hi.
I've just replaced the encoder on a stepper (being controlled by a PCI-7344) and it is generating a following error when I try to "Find Reference". My program (which works fine on other steppers with the same setup) sends the stepper to the home position and resets the position. Another part of the program moves the motor to a given position. If the stepper is at "home" it resets fine and moves as I tell it, but the problem is in getting to the home position (or any other reference for that matter). The motor grinds noisily for a short distance and stops well short of the reference, giving the 70166 error in MAX. The position data shown in MAX and the fact that the stepper is controllable when it has been reset indicates that the new encoder is working well. I've been through the settings for the motor in MAX and can find no obvious problems.

Any suggestions???

Thanks!

Robot Sad

Message Edited by RoBoTzRaWsUm on 04-12-2008 10:04 AM
0 Kudos
Message 1 of 6
(4,487 Views)
Here are some ideas and questions:

  1. Is the resolution of the new encoder different from the old encoder? If so, please check your settings for encoder counts/rev and stepper steps/rev in MAX. If you are not sure about the resolution, please try to find out by running the motor in open loop mode. While the Main tab in 1-D Interactive displays the commanded position, you can watch the encoder position on the Advanced tab. This should help you to find the correct steps/count ratio.

  2. Do you run the axis always in closed loop mode or only during the find index move?

  3. There is no standard that defines phase A and phase B of an encoder. The test described in 1.) should also help you to identify this potential problem. You can resolve it by reversing the polarity of one of the phases in MAX (Encoder Settings) if necessary

  4. Which NI-Motion version are you using? The latest version is 7.6.
Kind regards,

Jochen Klier
National Instruments
0 Kudos
Message 2 of 6
(4,472 Views)
Hi,
1. It's the same encoder as what was on it before and as what's on other steppers in the system. I have confirmed this in MAX as per your suggestion.
2. The axis is always run in closed loop.
3. Again, encoder counts shown in MAX are consistent with what I get on a similar axis (which is itself functioning correctly). Changing the polarity of one phase results in even more erratic behaviour.
4. I'm using 7.6

Thanks.
0 Kudos
Message 3 of 6
(4,456 Views)
To better understand this issue I need some more information. Could you please plot the position and the following error over time during a normal move and during a reference move and post a screenshot here?

Thanks,

Jochen
0 Kudos
Message 4 of 6
(4,446 Views)
I assume you mean on the plot tab in MAX? I have these steppers controlled from a Lab View vi but for some reason the 1-D interactive tab doesn't control any of them. They just squeak and move about 10 steps. Is there another way to get this information?

You asked in a previous post if the system was closed loop when finding a reference AND when moving to a position. The axis is configured to be closed loop but I can't see any way of changing it so that it is open loop in one mode and closed in another. Perhaps this would explain the difference in behaviour in the two modes?
0 Kudos
Message 5 of 6
(4,437 Views)
I don't understand exactly, why you can't get this information from MAX. You should be able to use MAX in parallel to LabVIEW to monitor the moves. But anyway. You also can read and display the position and following error data in LabVIEW. This information would help a lot to better understand what's going on.

You can change the stepper mode with Set Stepper Loop Mode.flx in LabVIEW, but if you don't use this function, the stepper mode always keeps the same.

Jochen
0 Kudos
Message 6 of 6
(4,414 Views)