LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Mis-rotation with Newport PR50PP rotation stage controlled by SMC100PP motor controller -- Is it a communication or a hardware problem?

Solved!
Go to solution

Hi everyone,

 

This is a long shot, but I'm going to explain my problem and hope that someone has seen this issue before.

 

PROBLEM:

I am using a Newport PR50PP rotation stage that is controlled by a SMC100PP motorcontroller via LabVIEW. In my experiment, I rotate the stage 180 degree clockwise by 36 increments and then rotate back to "zero" counterclockwise. This "zero" point should be the same "zero" I started from before rotation. The issue is that it is off by almost an entire degree. I need it to always start at the same spot.

 

The big issue - The computer / rotation stage thinks it is back to the original "zero". I record the internal rotation unit of the stage after each movement and it tells me that it is at the same 0.00 it started at.

 

Q. Is this a communication issue between LabVIEW and the PR50PP or a mechanical problem?

 

OTHER NOTES:

  • The rotation shift is repeatable and linear. I repeated it over 15 times and got roughly the same mismatch.
  • How I discovered this problem -- I have a half-wave plate on the rotation stage and looked at it between cross polarizers. I recorded the Cos^2 intensity pattern from each sweep. Each pattern is rotated from the one before even though the computer records that they should be at the same position. 
  • I am running LabVIEW 2011 and using the SMC controls given by Newport. They communicate via USB to Serial.
  • Attached is a technical description of the problem that my labmate wrote up.

 

Any insight is greatly appreciated. 

 

~ Liz Cloos

0 Kudos
Message 1 of 6
(3,336 Views)

Sounds like hardware to me although I have no experience with these things. Can the thing rotate continuously in one direction? If so, I would see if completing a 360 degree 'loop' to reset the position works around the problem.

Message 2 of 6
(3,324 Views)

Hi ToeCutter,

 

Thanks for the reply. It can rotate 360 degrees, but it then records the position as 360. At some point, an unwind still needs to happen. I'll look into it though.

 

0 Kudos
Message 3 of 6
(3,300 Views)

Yeah not ideal but if it can keep looping you can always massage the numbers modulo 360. I looked at the specs for the thing and 1 degree is way out of spec, as I'm sure you're aware. Anyone without the hardware is going to be limited in how they can help.

 

 

Are you just using the control software in a basic manner or have you added any substantial code your end? This is a real long shot as I don't know how the software works, but if it takes a floating point number (degrees, say) as a rotation and you're feeding it a number that is not an exact multiple of the step size, then there could be some mis-accounting if the driver is poorly written, so make sure you round to an integer multiple of the minimum step size. I notice in the spec for the device that the quoted accuracy/repeatability is coarser if you rotate in both directions- but that accuracy is way finer than the 1 degree you are seeing of course. 

0 Kudos
Message 4 of 6
(3,291 Views)

I notice the compatibility between your driver and rotation stage indicates that it can only drive the thing at 40% of the rated speed. I don't know if the rotation speed is something you have  direct control over, but if you do, bear this in mind.

0 Kudos
Message 5 of 6
(3,288 Views)
Solution
Accepted by topic author efcloos

Hi everbody,

 

After running additional tests I have discovered that it is NOT a LabVIEW problem. The wave plate inside of the PR50PP rotation stage was slightly loose and gave the appearance that the zero was changing. The wave plate kept rotating slightly after every change of direction. 

 

Thanks for trying to help. 

0 Kudos
Message 6 of 6
(3,150 Views)