This is intended as an inexpensive way to experiment with
successive approximation converters and even
tracking converters. I am not certain what kind of converters are on the sound card.

The plain circuit diagram clearly means that the software must do all the work.
Such a simple arrangement must have a few drawbacks:
-
The sampling rate is not impressive at 50k samples per second, assuming 8 bit samples and one channel
- The samples may not be entirely equally spaced. It may be that samples are missed altogether
when Windows is busy doing something else
You will probably need a port driver such as
Porttalk to run the program on a modern computer. I should mention that the sampling rate quoted assumes a port speed of 800,000 accesses per second. (You can probably get more if you look at the matter better.) The site tried an old 66MHz 486 computer and even this was capable of 440,000 port accesses per second.
The site proposes that you do not use a general purpose opamp for the comparator:
An FET input type opamp will certainly present the required high input impedance, but it may not like to
operate near the negative supply rail. Surprisingly, if you do not trim the output offset voltage, you will sooner or later run into trouble, even though only comparator operation is requested. Resistors of 50k between pin 1 and 4 (and also pin 4 and 5)
seem to cure the problem (for a pinout such as the one corresponding to the
TL071), but beware that some opamps' output may not swing low enough to switch
modern 3.3 Volt ports to the logic zero state.
The day that you would make an ADC converter from individual components is long gone,
and prices have dropped considerably, so there is no reason to favour tracking over successive approximation converters. Here is the
starting
source code and program file, anyway. High frequency response will be much attenuated
with a tracking converter. Strictly speaking, you should only accept a sample after an edge is detected
in the comparator output. If you do not want noise in the least significant bit, you must only
accept a valid reading after a positive going edge, only.
A PIC microcontroller such as the PIC18F252 can be interfaced to the parallel port, and features a much faster converter on-chip, but would
not be quite as inexpensive. A very similar arrangement was used (a very long time ago), to look at speech waveforms, and also the waveshape
of musical instruments, though the circuit could be put to other uses, especially if high conversion rates are not needed.
By the way, some people claim that you can use old parallel ports for input after setting outputs to a logic one
and getting external circuits to pull the pins low at will. The site measured less than 100 Ohms of effective
resistance between the power supply and port output, even for a ten year old port. I cannot see you pulling that low for
any practical amount of time without damaging both the port and probably the external
device, too. Will you please double check that the output of the comparator is connected to pin 10 (
Acknowledge) of the Centronics port.
The site has not verified that the comparator output is protected against overload when
sinking excessive current.
The opponent is a fool. What is the one who loses to the fool? |
For my own code up to this point:
Valid XHTML 1.0!