Started 25th March 2017
I wanted to discover how linear the movement of my 3D printer was, I had a mechanical dial gauge (or indicator) but I couldn't be bothered to write down values - instead I bought a digital dial gauge. These are common and low cost, they appear to use the same capacitive sensor hardware and software interface that digital calipers (aka scales) use.
My aim was to get software to record the printer position. The dial gauge has a socket for a digital interface, but it uses a proprietary connector. Interfacing to the hardware is simple and is well covered by the links below. (Later, someone  did a nice connector).
My innovation is to use an ATMega 328p with no other hardware. The clock and data signals from the dial gauge go to two analogue pins, one input of the built in analogue comparator is used to look at the two pins in turn, the other comparator input comes from the on chip voltage reference. This is 1.1 V and a good enough value to find transitions on the dial gauge signal lines (download below).
The page 3D Printer Motion Accuracy contains example data from this type of dial gauge - the accuracy of the particular digital dial gauge I have turns out to be poor. Resolution may be 0.01 mm, but accuracy is of the order of 0.2 mm.
Photos. The static pcb is about 33 mm long (it contains 64 tracks - around 3 tracks per mm), the moving one 20 mm .
For comparison, photos of a cheap digital caliper. The claimed resolution is 0.1 mm, and on the pcb there are around 16 tracks in 10 mm.
Although the display on this only displays 0.1 mm units, the data format is the same as for the dial gauge and the same software (below) works with it. Other low cost calipers display 0.01 mm units.
- First project - a dial indicator reader
- Using the Data (Part 1) A project log for Digital Dial Indicator CNC Surface Probe
- Interfacing Dial Indicator to Computer (using PIC Chip)
- The Digital Dial Indicator and How to Read From It
- Reading digital calipers with an Arduino
- Chinese Scales
- Caliper Data Connector