Skip navigation links - Goto navigation bar


Table of contents - Design - Not only electronics - Mail - IT

Mini datalogger

This page explain how to build a simple 8 channels / 12 bit ADC connected to the parallel port of a personal computer. 

The circuit was designed because I need to have a simple instrument able to measure eight voltage and to transfer them to a PC: a sort of "data logger" for personal use. Also not having the performances (and costs) of similar industrial products, it resolves some problems that do not find answer in instrumentations available in the home laboratory (and not even in many professional ones...).

The main characteristics:

Description of the circuit

The circuit is rather simple and is constructed around a 12 bit resolution  ADC  with SPI interface from Maxim: the MAX147. As you can see on schematic (download max147.tgz) all the job is done by this integrated circuit: it contains the ADC, the eight channels analog multiplexer and the serial interface. I have chosen to use an external voltage reference (MAX872).

I do not describe the operation of the integrated circuit so, please, read the data sheets.

The power supply

One interesting characteristic of the Max147 is its ability to operate from single 2.7 to 5.5V supply. Thanks to low power, the presence of a voltage regulator or a battery is superfluous: the circuit is powered through five pin from parallel port .

I used a LC filter (three pin devices equivalent to a capacitor to ground and two inductors in series) to avoid PC high frequency noise ; if you do not have any LC filter, it can be replaced from a simple wire between 1 and 3 pin.

The input stage

Every input channel is preceded from Ra, Rb and a capacitor. 

Scope of Ra is protect ADC input from voltage beyond the supplies. The value to use depends on the maximum expected input voltage. Good values is some kohm.

You need to add Rb (optional) in order to measure voltage greater of 2.5V. Note: for safety reasons is not possible to measure high  voltage. Ra and Rb should be precision resistor (at least 1%) and with low thermal coefficient.

In the following table some useful value for Ra, Rb and C,

Full scale input voltage Safe input voltage RRa Rb C In COMMENT
0 - 2.5 0 -> 5 simple wire - optional 0.01uA Not advised
0 - 2.5 -2 -> 7 11 kohm - 5% - optional 0.01uA  
0 - 2.5 -20 -> 25 10 kohm 5% - 10nF 0.01uA Additional error < 10mV
0 - 5 -4 -> 14 2.2 kohm 1% 2.2 kohm 1% 10nF 1mA  
0 - 5 -40 -> 50 10 kohm 1% 10 kohm 1% 10nF 50uA Additional error < 5mV


Mini datalogget under the cover

PCB is a double layer for dimensions and performances reasons. I have not used any plated holes but it is required to insert in two holes a small wire in order to connect the two sides of the printed circuit and, for some components, use the "double-layer soldering" technique.

TThe two connectors are normal DB25 for cables assembly (not version for printed circuits board) and are embedded horizontally on the flank in the pcb, without any holes. It is important to mount a male connector on PC  side verifying the correspondence of the numeration.

The software

In max147.tgz file you will find some simple programs for Windows, Dos and Linux.

The scope is obviously only to create a base to develop your-own applications. In order to know more, you can read the pages where I describe VVIO project and, if you are using Microsoft windows, ddownload the run-Time engine of LabWindows/CVI

List of components

C1, C3, C4, C5, C6, C7, C8, C9, C10 110 nF - optional, see text and data sheet
C2 333 uF tantalum (or also aluminum electrolytic)
C11 10 nF
C12 1 uF tantalum (or polyester)
D1, D2, D3, D5, D6 1N4148 or equivalent
D4 Zener 4V7 1W - optional
LC1 Filter LC Murata DSS310 - optional - see text
P1 DB25 male cable connector
P2 DB25 female cable connector
R1, R3, R5, R7, R9, R12, R14, R16 Ra - see text
R2, R4, R6, R8, R10, R13, R15, R17 Rb - optional - see text
R11 100 ohm
U1 MAX147- 12 bit ADC
U2 MAX872 - Voltage reference

Software, schematic and PCB are contained in the max147.tgz file:  

licence.txt License
schematic.pdf CCircuit schematic, in pdf format 
top.pdf Component pcb side, in pdf format 
bottom.pdf Solder pcb side, in pdf format 
assembly.pdf Components layout, in pdf format 
LW-CVI\ Software for windows: LabWindows/CVI
VB\ Software for windows: Visual Basic
TC\ Software for dos: TurboC
qbasic\ Software for dos: Qbasic, by Giuseppe
gcc/ Software for  Linux. by Francesco Curto

To build this circuits you need:

IT - Home page - Table of contents - Privacy policy - E-mail

XHTML 1.0 Strict - CSS 3