Table 70. example. e for a 10 hz input signal, Table 71. frequency resolution comparison – Campbell Scientific CR1000 Measurement and Control System User Manual

Page 319

Advertising
background image

Section 8. Operation

319

 

Table 70. Example. E for a 10 Hz input signal

Scan

Rising Edge / Scan

E

5.0 50 50

0.5 5 5

0.05 0.5 1

TimerIO() instruction measures frequencies of ≤ 1 kHz with higher frequency
resolution over short (sub-second) intervals. In contrast, sub-second frequency
measurement with PulseCount() produce measurements of lower resolution.
Consider a 1-kHz input. Table Frequency Resolution Comparison

(p. 319)

lists

frequency resolution to be expected for a 1-kHz signal measured by TimerIO()
and PulseCount() at 0.5-s and 5.0-s scan intervals.

Increasing a measurement interval from 1 second to 10 seconds, either by
increasing the scan interval (when using PulseCount()) or by averaging (when
using PulseCount() or TimerIO()), improves the resulting frequency resolution
from 1 Hz to 0.1 Hz. Averaging can be accomplished by the Average(),
AvgRun(), and AvgSpa() instructions. Also, PulseCount() has the option of
entering a number greater than 1 in the

POption

parameter. Doing so enters an

averaging interval in milliseconds for a direct running average computation.
However, use caution when averaging, Averaging of any measurement reduces
the certainty that the result truly represents a real aspect of the phenomenon being
measured.

Table 71. Frequency Resolution Comparison

0.5 s Scan

5.0 s Scan

PulseCount(),

POption

=

1

FR = 2 Hz

FR = 0.2 Hz

TimerIO(),

Function

=

2

FR = 0.0011 Hz

FR = 0.00011 Hz

 

Q — When more than one pulse is in a scan interval, what does TimerIO() return
when configured to return a frequency? Does it average the measured periods and
compute the frequency from that (f = 1/T)? For example:

Scan

(50,mSec,10,0)

TimerIO

(WindSpd(),11111111,00022000,60,Sec)

A — In the background, a 32-bit timer counter is saved each time the signal
transitions as programmed (rising or falling). This counter is running at a fixed
high frequency. A count is also incremented for each transition. When the
TimerIO() instruction executes, it uses the difference of time between the edge
prior to the last execution and the edge prior to this execution as the time
difference. The number of transitions that occur between these two times divided
by the time difference gives the calculated frequency. For multiple edges
occurring between execution intervals, this calculation does assume that the
frequency is not varying over the execution interval. The calculation returns the
average regardless of how the signal is changing.

Advertising