Streaming Timers & Counters on U3


GDTEng

Recommended Posts

My application is a small engine dynamometer. Engine tachometer is an optical sensor with a 12 hole interrupter plate. At a maximum engine speed of 3600 RPM, the tachometer produces a 720 Hz signal. The inertial flywheel tachometer is same as the engine's tachometer. With a gear reduction ratio of 3.4, the flywheel tachometer produces a 212 Hz signal. The data acquisition goal is to collect the RPM data for both devices and total engine revolutions over a time period of 5 to 8 seconds.

I have modified the DAQFactory Express sample file Basicstream.ctl. I use Timer 0 (Channel F104) in 16 bit period in mode for the engine tachometer. I use Timer 1 (Channel F105) in 16 bit period in mode for the flywheel tachometer. I configured the U3 clock for 1 MHz. Counter 1 (Channel F106) is used to count the total engine revolutions. In DAQFactory Express, I configure a channels F104, F105, and F106 as A to D with 0.0 timing, 0.0 offset, and a history of 36000. I adjusted the streaming frequency to 5000 Hz.

To test this configuration, I inject a 720 Hz square wave signal into all three test points. The amplitude of the square wave signal varies between ground and 4 volts. In general the test results are as expected with most data points at about 1389 microsecond period for Channel F104 and F105 as displayed in the Channel Table. Channel F106 show an increasing count over time.

However in the last 25000 data points, Channel F104 contains approximately 20 spurious data values that have values that range from 1400 to 64470. These spurious data values are scattered throughout the 5 seconds worth of data. Channel F105 also contain a similar number of spurious data values. The spurious data values in Channel F104 and Channel F105 are not synchronized in time with each other. Each test run produces a similar number of spurious data values at what appear to be random points in time.

I have attached my test file. Any suggestions that might eliminate these spurious data values would be appreciated.

BasicStreamTimer.ctl

Link to comment
Share on other sites

As requested, I performed the same test with LJStreamUD. I entered 200 in the +Ch and 200 in the -Ch for the first channel. I entered 201 in both for the second channel. I entered 211 in both for the third channel.

The spurious data values also appear using LJStreamUD. The spurious data values appear on theLJStreamUD's graph and well as in data files.

Based on your recommendation, I will now move this topic to the LabJack Forum.

For completeness, I am using a U3-LV with 1.300 hardware. Firmware Version 1.320.

LabJack UD Driver Version 3.25 and DAQFactory Express Release 5.84.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.