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
(51,525 Views)
Solution
Accepted by topic author 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
(51,498 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
(51,489 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
(51,451 Views)