Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

usb-6009 counter

Hello:

 

I am trying to measure the time between 2 pulses with a USB-6009 card.

I put my signal in the counter terminal. The highest resolution for the time is 1 ms but I would like to have a resolution of 1microsec. Is it possible to do it with this card? Or would we need another card with two counters?

 

Thank you for your help.

0 Kudos
Message 1 of 4
(3,387 Views)

Hi Ordizia,

 

Thanks for the post and I hope your well today. 

 

I thought I would offer my advice seeing as you've not had a response over the weekend.

 

The USB 6009 only has one counter and uses the DAQmx driver. (Assumming your using LabVIEW).

 

I have two questions,

1) Are these pulses on the same signal, or do you have two inputs - one pulse on each?

2) What do you mean by the highest resolution for the time is 1ms? - have you got example code?

 

Using LabVIEW:

Assuming these pulses are on one signal. You could setup a DAQmx Counter Input (CI) Count Edges task. Then in the read you could take a timestamp between each iteration of the while loop and when the 'data' (number of edges) changes.

 

See image above.

The DAQmx counts the number of edges. While this is running - we look for a change in the number of edges counted. If they are the same (between one iteration and the next) then do nothing. But, when the value changes - the 2nd pulse. We take a time stamp and minus the start time (or the previous time of the last pulse). 

 

I have also attached the VI - LabVIEW 8.6.

 

Please let me know if this is what your after, and if you have more questions I'd be happy to help.

Message Edited by Hillman on 01-26-2009 01:19 PM
Message Edited by Hillman on 01-26-2009 01:20 PM
Kind Regards
James Hillman
Applications Engineer 2008 to 2009 National Instruments UK & Ireland
Loughborough University UK - 2006 to 2011
Remember Kudos those who help! 😉
Download All
0 Kudos
Message 2 of 4
(3,376 Views)

Hi Ordizia:

 

The USB-6009 only can count edges or digital events (page 27 of the user manual http://www.ni.com/pdf/manuals/371303l.pdf) so cannot perform signal measurements like pulse separations via hardware.

 

If you do any measure via software instead of hardware, you will only have the precision of the OS, which means LabVIEW resolution for software measurements (that is only milliseconds). In addition, the measure will be not reliable, because the OS can add errors of few milliseconds, which are as big as the measure. Software measure is just good for resolutions of tens of microseconds.

 

To measure edge separations with 1 microsecond resolution you must use hardware measurement with any acquisition board that supports this feature. Examples of low cost devices with this feature are the PCI-6220 and the PCI-6010:

 

http://sine.ni.com/nips/cds/view/p/lang/en/nid/201612

http://sine.ni.com/nips/cds/view/p/lang/en/nid/14130

 

National Instrumets AE
0 Kudos
Message 3 of 4
(3,359 Views)

Hello, 

 

I want a program that can mesure time between two impulsion of two different signal that enter in my 6009. How can I do ? 

 

Thank you.

 

0 Kudos
Message 4 of 4
(355 Views)