Cheap digital caliper DRO


I can't remember how I stumbled on this idea. I think I noticed the connector on a set I had, and thought I'd Google it. I was thinking this would make building a CNC mill easier: no need to worry about backlash in the hardware: just measure where you are. Anyway, a long time later, I asked myself the question: how can I use the mill to accurately cut a square hole. My X-Y table doesn't have stops, and it has terrible backlash. I found a youtube video which used a DRO to do it, and was reminded.

There are lots of articles on this. I've used this one at nerdkits.com as a starting point for the adapter. It provides an easy power supply circuit.

I bought some sets of stainless steel callipers on ebay which turn out to be complete rubbish. I've just soldered some wires onto the terminals so I can play with them using a breadboard:

On reassembly, they mostly work after some screw re-tightening, but are a bit jittery. I think I won't do that again: I'll just cut away that bit of the housing, and perhaps fill the hole with epoxy afterwards. The internal screws are small and the plastic soft: they weren't ever meant to be removed.

Anyway, good enough to try out.

I have an STM32F429Idiscovery board that has a small touch screen. I got it ages ago and never used it. I suppose I might add a graphical interface to the DRO at some point, so I'll start the experiment with it. It's supported by PlatformIO. Reference manual for the STM32F429ZI. The board as an mbed device.

Here are the callipers powered by the micro controller:

I thought I could use a single mosfet level adapter, but you can't because the pull-up resistor will make the callipers think you are trying to change mode. I couldn't get a transistor to work as per the example circuit, so I ended up using an MCP6292 rail to rail op-amp set up with a gain of 2. Expensive compared to transistors, but I had some.

Here is the circuit diagram:



The eagle project is here in the source repository, along with everything else. The mode control doesn't seem to have any effect on any of the callipers I have.

Here's the whole test setup with a bitscope attached for testing:


Also in the repository is a platformio/mbed project to test reading the calipers, that uses the clock as an interrupt line. It's just enough to show it works.


Popular posts from this blog

3D Printer ramblings

Balance Bot V2

FLSUN Q5