ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Resolver Rollover Math

Solved!
Go to solution

A little background on my testing application. I'm measuring a resolver and converting those measurements into angular position values. I have that part of my code working (not included in the attachment) and I'm currently working on an algorithm to keep a running total of the angular revolutions (in degrees). The algorithm is needed because the resolver is absolute and only gives me 0-360°. So, I have to have a rollover routine that senses when a rollover (0° -> 360° or 360° -> 0°) has occurred and account for it in the running angular revolutions.

 

Some information on the attached VI. The left for loop is just creating a mock resolver signal and feeding it into the algorithm in the right for loop. The right for loop is working, but I feel like it may be a little Rube Goldberg. Is there an easier, or more elegant, way of accomplishing what I'm currently doing in my algorithm (right for loop)? Any suggestions/insights are welcome.

0 Kudos
Message 1 of 4
(119,431 Views)
Solution
Accepted by jamgar90

Why not just use the Unwrap Phase VI? (There is also a point-by-point one if needed.)

 

snip.png

Message 2 of 4
(119,404 Views)

Use mcduff's suggestion!

number of revolutions can be calculated:
(output(final) - output(initial))/360.

I would also recommend making number of revolutions a DBL. The current implementation tops out at 32767 revolutions.

Doug
Enthusiast for LabVIEW, DAQmx, and Sound and Vibration
Message 3 of 4
(119,395 Views)

Thanks mcduff for pointing me to the Unwrap Phase VI. I didn't know that existed and it's exactly what I need. No need for me to reinvent the wheel.

Message 4 of 4
(119,357 Views)