Topography of small surfaces, is that possible?


I would like to create a device to tell me how flat is the surface of a piece of wood.

Is there any way to use Arduino as a topography logger for that material, considering the highest difference won't be more than 1mm and almost of the time will be between 0,1mm and 0,9mm, and the width of the surface will be around 10cm.

The mechanical parts will be an another concerning. For this time I only want to know if someone use something as a sensor for this kind of usage.

[]s Alexander Brazil - Rio de Janeiro

I’ve never heard or seen this being done, but if you’re looking for ideas:

You could drop a straightedge on the board and measure the amount of light that leaks underneath it using a row of IR emitters on one side of the straightedge and IR detectors on the other.

You want to use a circular micrometer monitored electronically, and have a stepping motor mechanism to drag it across the surface. Something like the one here:-

I have also used a spring mounted contact probe to measure the flatness of conducting surfaces to a resolution or 0.05mm using my CNC miller conversion:- Maybe you could do it with a micro switch or optical switch.

Grumpy_Mike, the micrometer seems to be the solution!

But are you sure almost of the micrometers can be monitored using Arduino?

Chagrin, it's a nice idea, thank you. I'm only in doubt about how it will work if in a 10cm flat surface has suddenly an obstacle. I mean considering the emitter and detectors in a distancce of 10cm and a straightedge above the board, a simple obstacle will tell me zero light even if it's just a small dot in a [almost] completely flat board. It's important to know about the dot (of the example), but it's important to know where the dot is. I can put a micrometer "walking" over the entire board because the measurements is made from the top. Using the IR sensors I'll have to put the sensors on the sides of the board and it will mess up the facts. I guess...

[]s Alexander Brazil

But are you sure almost of the micrometers can be monitored using Arduino?

Yes. Most micrometers have an external interface on them sending out data corresponding to the measurements. You just have to:- 1) Make sure you buy that type. Ask before you buy. 2) Interface the signals, these are normally some sort of clocked serial interface. If you search this forum there are a few examples I have helped with, plus, I am sure many others.

A micrometer will not follow a surface when dragged. The thread in them is too fine for it to be forced open and dragging it will ruin the measurement surface. Also, a micrometer has a relatively larger measurement surface (3/16" or so) so any dips in the surface smaller that that in diameter will not be detected.

If you are look at using a existing item to hack then a more suitable tool would be a digital dial indicator with a fine tip. This is made exactly for the purpose of measuring surface thickness and deviations. Plus it has a communication port for connection to exterial devices and can be easily mounted.

Yes they are $$$ but cheaper than buying and ruining a few micrometers!

A micrometer will not follow a surface when dragged.

No we are talking about the electronic equivalent of a touch gauge, these are the circular scale things that are used for setting up lathes and operate with a plunge action. We are not talking about screw micrometers.

Then I think you are talking about dial indicators, which was also my suggestion. My mistake, When I opened your first link I saw micrometers and because you were calling them micrometers I kinda had that in my mind.

Then I think you are talking about dial indicators

Yes I am but for the life of me I couldn’t think of the right name, senior moment. Thanks yes dial indicators.

Come on guys, now I'm confused, probably because my English.

I have a piece of wood, 10cm width X 4cm high X 60cm longer.

I have to "read" the whole 10cm surface and know how it is in terms of "topography". Please, correct my English if it's confusing.

So, I'm thinking about "rolling"/"dragging"/"walking" a certain device, probably something with a kind of needle (round needle) tip no top of the wood.

It will "roll" a lot of times, from one side to another, because the whole surface is too big considering the tip of the device.

And of course (it's a huge challenge yet for me) I have to find a "dock station" in a perfect square position in relation of the device that will do the reading, including the fact that probably the two sides of the wood will be a mess, so I have to find a perfect reference to grab the wood in that "not made yet" "dock station".

That is it.

So, about what device are you telling about?

[]s Alexander Brazil

I think we are all talking about the same device: a digital indicator.

Is that ok?

[]s Alexander Brazil

You need these... Dial indicator. sorry for the confusion. lol

Now that I understand your problem better, the way this is normally done is with a 3 axis CNC table and a touch probe. In your case you would start from one corner, drop the probe down until it touches, lift the probe, then repeat this process for whatever level of detail you need. You record the height of that location on the board based on how far you have to drop the probe to get it to touch (the sensor is an off/on type of sensor).

Here's a video example:

I'm sure you could see how Rob's digital indicator might make the process faster -- notably if you could find one with a suitable wheel on the bottom -- but I'm sure it's a bit more expensive to do it that way as well.

To make all this work you're going to need a budget around $500 USD or more and a lot of time. You'd essentially be building a full CNC table. You would also want to use a computer to interface with it and not an Arduino.

I feel very disloyal making the following suggestion... but...

If you were to use a bigger computer, you could shine a laser pointer beam at the surface at an oblique angle, and move the beam over the surface of the piece. Watching (with a web cam above the piece) where the "dot" of laser light appears would give you information about the surface.

What is your budget? Is this "for fun", or can you spend "serious" money on it?

@Chagrin - that is what I suggested in reply #2 @tkbyd - I am not sure you will get the accuracy he needs with this method. Especially as it also depends on how accurately you can move the laser beam.

@Chagrin - Cool. I haven't thought about a touch on/off sensor. But I guess the digital indicator, even using a touch sensor, can still be used to give a more precise information. I can spend something around $500 USD.

@tkbyd - Accuracy is essential here. It's not about getting information from more than 0.5mm (yes, mm).

So, I think I have all the solution.

I only don't know if a home made CNC table will steal some 0.1mm of the measurements, just because the mechanical movements...

Maybe if I completely avoid the up/down movement (used in a touch probe) I can get always the right information. I mean, if the dial indicator is just sustained in a tight and movable rail, the up/down movement will be done only by the dial indicator rolling itself instead of a mechanical stepper motor + axis doing a up/down touch.

Any way, thank you guys for the attention.

[]s Alexander Brazil - Rio de Janeiro