Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

TTL Pulse Train Frequency Measurement (large channel count)

I need to monitor 20 TTL motor (fan) tachometer pulse trains to insure that the motors are running within a desired RPM range. The pulse frequencies are slow 1 pulse/revolution signals in the 5 to 50 Hz range (300-3000 RPM). I don't need anything fancy just an average RPM updated every minute or so with an alarm if a motor fails or falls out of a specified tolerance range. The duty cycle is not quite 50% and varies slightly from motor to motor (Hall effect latched sensors with debouncing).

 

I would like to use 20 digital I/O lines if at all possible as purchasing multiple counter/timer boards seems expensive and overkill for this application. Is there a slick way of doing this or will I have to read all the DIO lines several times faster than 50 Hz and do the math my self... 😞

 

I am using LabVIEW 2011, DAQMX with a PCI-6221 M Series board.

0 Kudos
Message 1 of 2
(3,999 Views)

Hi icosahedron,

 

Since you are trying to measure so many digital signals it creates an issue of needing counters to accomodate all of these signals when using the traditional way of measuring digital frequency with DAQmx.  I was able to find this example on the NI Community which looks interesting: https://decibel.ni.com/content/docs/DOC-12911.  It shows a method for calculating the characteristics of the digital waveform in software using non-counter DIO inputs.  It may be possible to build from this example to perform the calculations on all of your signals and to include the averaging functionality that you are looking for.  The processing overhead will be very large, but since your maximum signal frequency is only 50 Hz then it might be doable.

Justin D
Applications Engineer
National Instruments
http://www.ni.com/support/
0 Kudos
Message 2 of 2
(3,987 Views)