The idea of buying a TFMini LiDAR was to build a radar but for many days nothing really got kicked off and then one day while handling the long ERW pipes for the assembly line up of ash slurry discharge pipelines, I found that my team has to take each pipe readings precisely before taking them out through the exit gate. Every day at least 30 to 50 times someone has to devote time for measurements. Out in the open under 47 degrees celsius scorching sun, holding the measuring tape at one end and a supervisor on the other end, then record the length is a very tiresome job.
The idea of creating a precision measuring gauge took birth here. The TFMini TOF laser ranger can take readings very fast and very precisely (+-1cm fastest). There’s two varieties available TFMini-S and TFMini Plus both in the UART model and both look identical but here’s what each can do.
|Product||TFMini – S (3.4 degree aperture)||TFMini Plus (3.4 degree aperture)|
|Price||USD 35||USD 45|
|Range||30 cm to 1200 cm||10 cm to 1200 cm|
|Speed||100 Hz||1000 Hz|
|Temperature||0 C to 60 C||-20 C to 60 C|
|Data bit-Parity-Stop bit||8N1||8N1|
|Baud rate||115200 bps||115200 bps|
Red = 5V
White = RXD
Blue/Green = TXD
Black = GND
Just pointing the TFMini from one end of the pipe and then directing it towards the edge plate will give accurate length of the pipe. Only I have to find someway to point the direction of the laser to the edge plate of each ERW pipe!
To increase the precision, just one has to incorporate a running average of a few points and then print it out in floating point character. However, for speed & simplicity we have kept it as a plain integer point.
[ERW Pipes are Electrically Resistant Weld long pipes of diameter 300mm or more and upto 12 meter length, major use in power plant is for ash slurry transportation]
Both TFMini and TFMini plus has a view angle of 3.4 degree. Therefore pointing is very important to get correct reading. To incorporate pointing ,we have incorporate a laser pointer with a push-to-on push button.
The TFMini works on reflection of invisible laser light from the surface of the object. In case the object does not reflect back or completely absorb or defuse the incoming laser light, the reading will be erroneous. Such surfaces can be the followings:
- Slanted & highly reflective glass window.
For all other kinds of objects ,the light gets reflected and the measurement takes place easily. Even for highly movable objects, it does not miss.
Bill of Materials & sources
Besides the TFMini ranger, the other components required for this projects are
- ESP32 MCU – 01 number: Price USD 3
- OLED 64*128 – 01 number: Price USD 2
- 1.5 volt ~ 3Volt to 5 Volt mini boost converter [for battery operation]: Price USD 1
- HT7333-A / S1113 3.3 volt regulator: Price USD 1
- Capacitors – 02 numbers: Price USD 1
- Laser Diode Red [5V]: Price USD 1
One perspective I had to keep in mind is that the device has to be absolutely portable such that my team can use it out there in the field. The TFMini needs 5 Volt so is the Laser diode that I used for pointing. But the ESP32 needs on 3.3 volts. To make both ends I’ve used a mini boost charger which can step up 2V [minimum] to 4 volts to 5Volt output. On the other side I’ve used a low loss HT7333-A regulator which makes 3.3 Volt from 5Volt for ESP32. The whole setup can run from 2*1.5 volt or a LiPo of 3.7 volts. HT7333-A mostly comes in SMD, therefore be careful while fixing it. Its pinup is – [Pin-1 is Ground, Pin-2 is Vin, Pin-3 is Vout] 1-2-3:: Gnd – Vin – Vout
After fixing the hardware on a General purpose PCB, positioning the TFMini on the edge of the board such that it has a clear view of the object, switch on the battery supply. The laser pointer is a plain Red Laser diode switches on thru’ a push-to-on switch. Fix the laser Led preferably on the body of the TFMini using glue gum such the both points on same direction. The minimum reading for TFMini-S is 30 cm, therefore, put some object beyond 30 cm to 1200 cm and then measure & cross check. Eventually you will find that the reading is all precise upto a centimeter error. The 2nd line indicates the strength of ranging. As the object moves away the strength keeps on reducing.
The libraries that I used – “tfmini.h”, Adafruit_GFX.h, Adafruit_SSD1306.h are all attached as zip files.