LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

how to measure RPM using USB-6000

Hello 

 

Here I'm using USB-6000 to find the RPM and 

using this function 

DAQmxReadCounterScalarU32(pTaskHandle,10.0,&data,NULL)

I'm getting count values..Now i want to find the RPM can any one please help me how to do that....

0 Kudos
Message 1 of 10
(3,543 Views)

Please reply any one...

0 Kudos
Message 2 of 10
(3,536 Views)

Unfortunately USB-6000 lacks the capability to get frequency / period measurements so you cannot use it fro RPM.

With DAQmxReadCounterScalarU32 you are performing an edge counting, that is you are simply counting how many slopes are present in your input signal; to obtain the frequency (and thus the speed) you should have a precise timebase to divide with, which your board is missing.

 

To get frequency / period measurements you must use higher class devices like the USB-6210.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 3 of 10
(3,532 Views)

Thanks for the reply ....I have another DAQ device USB-6009 Can i do with that...& How to check weather my DAQ is compatiable to do or not...... if i brought the compatialbe DAQ how to find the RPM of a motor ...Please do reply for this....

0 Kudos
Message 4 of 10
(3,528 Views)

USB-6009 too cannot perform frequency measurement. To check this, look into board specifications (here those for the 6009) and search for capabilities of the counter section: in this case you find Counter measurements: Edge counting, which means the board can only count events, without time correlation.

For comparison, specifications for the 6210 recitate:

Counter measurements: Edge counting, pulse, semi-period, period, two-edge separation (I have highlighted the one you can use for frequency measurement).

 

Once you have chosen a board, you can look into CVI examples to see if some code exists that can help you. Open CVI, next open the example finder (Help >> Search Examples...) and search by keyword and board type: this will guarantee you also that the board supports the functions needed.

 

Screenshot 2015-10-14 11.52.30.png



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 5 of 10
(3,518 Views)

Thanks a lot for the clear information.

 

Here I have one VI file which shows the RPM and works with the USB-6009(It is their in attachment).I want to use the same thing in labwindows but it not went on..can you please help in this.

Becauese now I can use this DAQ usb-6009 only to find the RPM 😞 

0 Kudos
Message 6 of 10
(3,512 Views)

I cannot open the VI because is too new for the version of LV I have installed. Nevertheless, you can have a rough speed measurement with the 6009: you can simply read the counter in two moments and divide the difference in reading by the time elapsed between readings: this will give you the frequency in Hz of the transducer. Once got the frequency, divide it by the transducer pulses per revulution and multiply by 60 to get RPM measurement.

 

The problem here is that you cannot be sure of the time component: besides the inaccuracy of the OS timebase, you cannot correlate the counter reading with a precise moment in time, since you suffer for all the delays of the software and the communications channel. For these reasons, the value calculated must be intended as a tough approximation of the actual speed. Depending on your requirements it may be enough or not. Nevertheless, consider that this measure is totally unreliable on the long run: there is absolutely no guarantee that some OS task will not interfere with your system delaying activities and making the measure inaccurate.

 

 



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 7 of 10
(3,509 Views)

HI Proven ,

 

As i am looking for same scenario in my application here i am asking you some thing regarding your answers

 

2 time moments :set 2 timers say ( one for 100msec and other for 200msec ) th(count1 - count 2)/100msec = frequency 

Now what does the sentence "transducer pulses per revulution" mean here , i am not quite sure on this please help me to get in with this .

 

 

please let me know am i on correct path in understanding your concept for RPM measurement ?

 

0 Kudos
Message 8 of 10
(3,481 Views)

That's quite simple. The basic idea is that you have an encoder or similar device mechanically coupled to the motor that generates the output frequency. Depending on its design, the encoder may have a fixed amount of pulses per revolution (ppr): I've seen 1024, 4096 and similar but also 600 and 3600 ppr; your actual encoder may have a different design.

Let's consider for simplicity you have a 4 pulse/rev model: when you count the pulses, you know that count/4 gives you the revolutions made by the encoder. The same applies for frequency (which is pulse-per-second): frequency / 4 gives you the rotations-per-second value. Multiply it by 60 to obtain rotations-per-minute value, or RPM.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 9 of 10
(3,470 Views)

Hi Proven

 

Thank you for the information you provided on this,let me implment it in my application and let you know the result

0 Kudos
Message 10 of 10
(3,458 Views)