SIMPLE
80 MHz FREQUENCY
COUNTER
FOR PC (DOS)
Low
budget frequency counter with only two chips.
Connect
it to the printer port. It works only in DOS mode, not in Windows!
Only
two simple chips and a few components
This
is a design of a simple frequency counter up to 80 MHz. It can use
it's own internal crystal oscillator or an external reference
frequency. It works from 100 kHz to 80 MHz, for square wave signals
it goes down to frequencies of 20 Hz. So if you want to use it for
LF, then add an op-amp amplifier / comparator to make a square wave
of the sine wave.
Circuit
diagram
big
diagram
Working
principle
Normally,
frequency counters count the number of periods during for example 1
second. This counter is different. It measures the exact time of a
number of periods and the frequency is calculated. This has the
advantage that the accuracy is the same for all frequencies. It is
possible to measure the frequency of a 1 kHz LF signal with an
accuracy of 0.01 Hz when using a measuring period of 1 second. For
normal frequency counters the accuracy is 1 period or 1 Hz.
The
PC measures frequencies using its internal timer. However, the
accuracy of the timer of the PC is not good enough. Therefore, the
first step of the test is to measure a reference source (the internal
crystal oscillator or external reference oscillator) and calculate
the required correction for the PC timer inaccuracy. Then the actual
frequency measurement is carried out and corrected with the
correction factor for the PC timer inaccuracy.
As
only LF frequencies can be measured with the PC, RF frequencies are
prescaled to LF frequencies with use of a simple preamplifier /
prescaler, a 74 HC4066 chip.
Running
the program
Connect
the counter to LPT1 via a Centronics printer cable.
For
accurate results, your PC should run in DOS mode, not in Windows.
Start the program by typing FREQPC.EXE REFERENCE_FREQUENCY. In my
case FREQPC.EXE 3578880, as the exact frequency of the crystal
oscillator of my counter is 3578880 Hz. When I use my 10 MHz
reference standard, the command is FREQPC.EXE 10000000 or FREQPC.EXE
1e7.
No
time out
For
maximum accuracy, there is no timeout during the measurement.
Therefore it is possible that the program halts if the input signal
is removed. So the procedure is: Stop the program and then remove the
input signal. Before the measurement begins, the program checks if
there is an input signal. Although the circuit could get it's supply
from the printer port, I use a separate 5 V supply for better
performance.
Download
the program(s)
FREQPC.ZIP
(35k)
containing FREQPC.EXE DOS Program and FREQPC.C Source code.
Performance
Frequency (MHz) |
Sensitivity (mV RMS) |
0.1 |
10 |
Accuracy: |
1e-6 |
Inside
view
The
PC program, here opened in Windows, but use it only with DOS for
accurate results!
Use
the up-down cursor keys to select, right cursor key to activate a
menu choice and left cursor key to return.