LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to measure rotor rpm's?

I am using LabView 7 with a PCI-MIO-16E-4 board.  I have a rotor with an unbalance screw attached to serve as a timing mark.  I'm using proximity probes (output voltage as a function of distance) to measure the distance to the rotor.  I need this system to calculate the rpm's of the rotor.  I fully understand conceptually how to accomplish this but I need some help with LabView.  I tried searching LV examples and could not find anything.  The output signal would look something like a saw-tooth.  I thought that maybe edge counting would work but I wasn't sure considering that the signal is not a square wave.  I also was not sure about the physical connections to my SCB-68 junction box because I've never done anything with timing or frequency capture.
 
Any help or thoughtful suggestions would be greatly appreciated.
 
Thanks,
Rich
0 Kudos
Message 1 of 7
(4,858 Views)

I suggest that you need to condition the signal from the sensor into the 16E4 board.

To do this you need to limit the voltage from the proximity probe and then amplify it into a square wave (cause the amplifier gain to be very high or use a comparator, I have seen logic buffers used as amplifers; a bit amateurish if you ask me), if you add a monostable function in the hardware set to the maximum shaft frequency you will reduce false triggering from noise or other pick up issues. A filter on the amplifier might be a good ideas as well, after all its only a couple or resistors and capacitors. The output from a magnetic proximity probe can be very high as the shaft RPM increases and you can also get nasty spikes induced into the input line. With the suggested configuration you measure the period of the signal, that is rising edge to rising edge. Watch the minimum distance setting for the sensor and be aware of shaft run out as it might smash your sensor off at high speed.

The timer counter system is a really flexible system and the connection depends on the way you want to do the measurement, in the suggestion above a faily straightforward implementation is assumed i.e. one pulse measurement on demand rather than buffered.

The DAQ wizard takes you through configuring a counter system and also details the connection that you need. You should get the sticker that's provided for the SCB68 with the connection details and stick it to the box (Take a copy first so you can keep a record of the connections you make). The connections are also in the PDF file for the hardware card concerned and are available also on the web site if you get stuck.

For a simple pulse width measurement you just need to connect the GATE pin of the timer counter that you have decided to use. I think that means on an SCB68 for the PCI-MIO-16E-4 one of pins 10 (gate 0) or 41 (gate 1) or 5 (gate 3) depending on the exact timer configuration you select (but you should check the connections!!!). Don't forget to use the Digital ground connections 44, 9, 7, 39, 4, 36 etc.....

Connecting the sensor directly to the input would be realy a bad idea. Smiley Surprised

The picture is from a really old presentation (Credit - Doug Norman, Nautical Inclinations, Circa 1998)  hope it helps.

 

0 Kudos
Message 2 of 7
(4,825 Views)
Hi Rich,

I don't know much about your specific hardware, but I think I can help you with the programming issues.  How you might proceed will probably depend on what hardware sample rate you have, and what analysis rate you need to acheive with the software.  There are certainly many ways to accomplish what you want to do, and if you want to analyze your rotor speed REALLY fast, you may want to consider some other ideas... but here is what I would personally consider:

1) Sample your data as a discrete "burst."  For instance take, say, 25 voltage samples from your proximity detector over a period of 0.5 sec.  (I'm just picking some numbers at random here.  I don't assume any values for your actual rotor speed.  You'll obviously have to sample the voltage at a rate of at least half your rotation frequency.)

2) Analyze the burst.  Suppose your data is a simple 1-D array of DBLs that are evenly spaced in time.  In this case, you might use some simple peak detection routine.  I'm attaching a very simple example for this (which I haven't tested).   I chose the peak detector function since it's simple and it'll work for any sort of waveform (sine, sawtooth, square) as long as your peaks and troughs have fairly consistent heights and depths over time.

3) Determine the frequency from the analysis of that burst.  How many peaks did you find?  Over what time period?  Now you know your frequency.

4) Repeat.  Take another burst.

I can think of all kinds of fancy variations.  Maybe you could consider a producer/consumer paradigm.  Perhaps you have noisy data and need to apply some sort of filtering before your peak detector.  But I suspect that what I've described above will more or less do the trick for you.

Nick


"You keep using that word. I do not think it means what you think it means." - Inigo Montoya
0 Kudos
Message 3 of 7
(4,813 Views)
Actually, I realize this VI won't do what you want.  I'll post something better shortly.
"You keep using that word. I do not think it means what you think it means." - Inigo Montoya
0 Kudos
Message 4 of 7
(4,809 Views)
Here you go now.  Complete with a VI to test it.  How cocky am I getting that I think I don't have to debug my own code?  Sorry about that.
"You keep using that word. I do not think it means what you think it means." - Inigo Montoya
Download All
0 Kudos
Message 5 of 7
(4,806 Views)
I have a plan to my post-graduate thesis and the topic is how to measure and control the motor speed by LabVIEW, then I would like some help to have the basic LabVIEW file for RPM (revolution per minute) and so I could develop it and match it in my university and research agency.

Alvano Yulian
National Nuclear Energy Agency
Center for Nuclear Instrumentation Develpment
PUSPIPTEK, Serpong
INDONESIA
E-Mail : alvano_yulian@yahoo.com
Fax : +62-21-7560921
0 Kudos
Message 6 of 7
(4,755 Views)

Thanks for everybody's help.  I will try out the various suggestions over the next couple days.  I may post other questions in case I run into problems.

 

Thanks Again,

Rich

0 Kudos
Message 7 of 7
(4,734 Views)