Hi there,
We need to measure the thickness of a marble slab and we wanted to know what kind of sensor to use with Arduino.
We then thought of using Arduino OPTA.
The marble slabs in our case can be 2 or 3cm.
There does not need to be extreme precision, in the order of 20/30mm can be fine.
Slabs passing very slow (1mt per minute) and 1 slab every 6minutes.
have a look at st-time-of-flight-tof-distance-sensors
have used VL53L0X, VL5310X and VL6180X TOF sensors with ESP32 microcontrollers often in pairs, e.g. fluid heights in joined tanks
never used the OPTA so cannot comment on suitability
not used the Modulino modules
remember you still require a host microcontroller
prototype boards are fine for initial testing but if you are planning to use devices in an industrial environment I would suggest you end up building a PCB - possibly using daughter boards to reduce complexity
You could use a rotary encoder or potentiometer mounted with its rotation axis perpendicular to the direction of the conveyor's movement. Attach an arm with a wheel at the end so that the wheel rests on the conveyor surface. When there’s no slab, the wheel rolls freely along the conveyor. As a slab arrives, the wheel rides up onto it, causing the arm to pivot and change its angle. This movement is detected by the rotary encoder or potentiometer. By calibrating the system, you can translate the change in angle into a height measurement, allowing you to determine the slab’s thickness relative to the conveyor surface.
Great idea ,
Would go for a potentiometer and a rather short arm as the angle of displacement depends on vertical displacement and the arms length. Optionally a gear with two wheels could improve the resolution.
How is that fine? Don't you need to be able to distinguish between 2cm and 3cm slabs? A precision of 20mm is not sufficient to do that! You need something like a 2 or 3mm precision.
Or did you literally mean 20/30mm = 0.67mm? In which case that will be difficult to achieve and much more precision than is required.
The wheel radius should be larger than any slab thickness if you use a wheel at all. Not using a wheel means more wear on the stick in the long run.
A ping sensor over the conveyor could do the same in a more complicated less precise way. There are other ways but for simple and trouble-free I'd go with the roller.
my understanding was that OP meant that you don't need to be precise, just have the system say '"it's around 20mm" or "it's around 30mm" — ie just those 2 answers. No need to say "it's 19mm"
My understanding, from what the OP actually said in post #1 is that they need 20 or 30mm precision. I think it's important to understand why they said that, and correct any misunderstanding they may have, such as the meaning of the word "precision" or the difference between cm and mm. Otherwise their idea will never work
you read it may be as a fluent English speaker and at first I was puzzled as well since it did not make sense at all. The error was so obvious that I tried to read it with a non native speaker view and thus more lax about the wording:
first part:
There does not need to be extreme precision
➜ I don't need to know exactly how many mm are really measured.
second part:
in the order of 20/30mm can be fine
➜ two possible answers by the system in the order of 20 mm or in the order of 30 mm
That's why I did not make any comment about it.
That being said, you are right, proper wording is important when discussing requirements (and in general / life too).
I worked in precision metal fabrication.
We were precise about our precision.
All of our measurements/cuts were specified to a location and tolerance. The tolerance may be + or - some amount or just + or just - some amount.
Example 6.5 +/- 0.010. Anything from 6.49 to 6.51 is acceptable, all else is out of tolerance. Any dimension can have its own special tolerance and the rest may follow a note.
General aviation structure tends to be +/- 0.020 inch / 0.5 mm.
My guess is that the slabs will be as thick as they were made and from one run to the next may be a mm or so different?