Showing results for 
Search instead for 
Did you mean: 

how to count pulses high speed data acquisation




I am working on a project to continuously measure the rpm of an engine and a bladeshaft of a a flat saw using hall sensors and magnets.

I have solved how to do this in theory but when setting it up the program is not able to count the pulses correctly. When measuring pulses the signal never goes down and the rpm measured is the highest possible. I have tried to define a pulse in two different ways. First by measuring when the voltage goes below 0 and second by measuring when the voltage is between a certain interval. I am using a pull down resistor but it still isn't working.


I have considered using the counter but since i only have one counter that is not an option.


I am using a CDAQ-chassi with the following modules:


NI 9207 - The one I currently use

NI 9401 - The one with a counter



Download All
0 Kudos
Message 1 of 4

Hi, what do you mean the signal "never goes down" ? What speeds are you expecting to measure (e.g. 100 samples/second etc)? What cDAQ chassis are you using? If you slow the bladeshaft down does it still see the issues? Are you using 1 sensor on one bladeshaft?

Amy K
Applications Engineer
National Instruments UK & Ireland
0 Kudos
Message 2 of 4
By "the signal never goes down" I mean that the hall sensor/the program register all samples as high/pulses, even if the magnet is not currently close to the sensor. So currently it gives me a rotational speed proportional to the sample rate. That is, even if I set the DAQassistance to read 1000 samples/s it gives me a rpm of 60000, which does not seem to be right. I expect approximately 100 samples/s to be "high", i.e. a pulse. Just a little remark:To avoid confusion if you look at the VI, I count all samples below a certain value to be pulses since the signal actually goes down when the magnet passes the hall sensor. So actually I count all samples where the signal is low, not high, as pulses.

Yes, I am using one sensor per bladeshaft. If I slow the bladeshaft down to say 10 samples/second it works as expected.

I am currently using a cDAQ NI 9207 chassi.

Appreciate your assistance!
0 Kudos
Message 3 of 4

I think, first thing you have to know the pulse width, your sample rate is 10KS/s. that is 0.1ms get one sample.

If the pulse width is 1ms, so you will get 10 high signal.

The programming have to count the pulse up and down, then could say add one pulse to the counter.

You try my way, see it work?

Best wishes,

Bill Shu


0 Kudos
Message 4 of 4