概要

TFmini-S LiDAR Sensor是基于 TFmini 的升級(jí)項(xiàng)目,它是一款小型化,單點(diǎn)測(cè)距的產(chǎn)品,基于 ToF(飛行時(shí)間)原理,配合獨(dú)特的光學(xué)、電學(xué)、算法設(shè)計(jì),主要實(shí)現(xiàn)穩(wěn)定、精準(zhǔn)、高靈敏度和高速的距離測(cè)量的功能。產(chǎn)品本身除了具有 TFmini 的低成本、小體積、測(cè)距遠(yuǎn)等特點(diǎn)外,測(cè)距精度更高,對(duì)于室外強(qiáng)光、不同溫度、不同反射率等不同環(huán)境下適應(yīng)性更強(qiáng),更低功耗,探測(cè)頻率也更加靈活。產(chǎn)品同時(shí)兼容 UART 和 I2C 通信接口,可通過指令進(jìn)行切換。
TFmini-S 基于 ToF(Time of Flight)即飛行時(shí)間原理。具體為產(chǎn)品周期性的向外發(fā)出近紅外光調(diào)制波,調(diào)制波遇物體后反射。產(chǎn)品通過測(cè)量調(diào)制波往返相位差,得到飛行時(shí)間,再計(jì)算出產(chǎn)品與被測(cè)目標(biāo)之間的相對(duì)距離。
TFmini-S模塊基本參數(shù)

TFmini-S模塊引腳

TFmini-S通信接口
UART數(shù)據(jù)通信協(xié)議
IIC數(shù)據(jù)通信協(xié)議
I/O工作模式
I/O 輸出模式下,不能輸出測(cè)距值,只是在距離從小變大超過高閾值的時(shí)候或者從大到小低 于低閾值的時(shí)候讓 I/O 口電平反轉(zhuǎn)。當(dāng)輸出為近區(qū)電平時(shí),測(cè)量值大于滯回區(qū)間的遠(yuǎn)端點(diǎn)后,輸出切換為遠(yuǎn)區(qū)電平;當(dāng)輸出為遠(yuǎn)區(qū)電平時(shí),測(cè)量值小于滯回區(qū)間的近端點(diǎn)時(shí),輸出切換為近區(qū)電平。(高電平:3.3V,低電平:0V)
串口數(shù)據(jù)通信
TFmini-S 有兩種數(shù)據(jù)輸出格式,標(biāo)準(zhǔn)數(shù)據(jù)輸出格式和字符串?dāng)?shù)據(jù)格式,兩種格式可通過指令代碼相互切換。
? 標(biāo)準(zhǔn)數(shù)據(jù)輸出格式(默認(rèn)):
數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)幀長(zhǎng)度為9字節(jié)。包含距離信息(Distance)、信號(hào)強(qiáng)度信息(Strength)、 溫度(Temp)、數(shù)據(jù)校驗(yàn)字節(jié)(Checksum)等。數(shù)據(jù)格式為 16 進(jìn)制(HEX)
Dist(Distance):代表 TFmini-S 測(cè)量輸出的距離值,默認(rèn)單位為cm,解析為十進(jìn)制的值范圍為0-2000。實(shí)際使用過程中,當(dāng)信號(hào)強(qiáng)度值Strength<100時(shí),Dist的測(cè)量值被認(rèn)為不可信,默認(rèn)輸出-1。
Strength:指信號(hào)強(qiáng)度,默認(rèn)輸出值會(huì)在0-65535之間。當(dāng)測(cè)距檔位一定時(shí),測(cè)距越遠(yuǎn),信號(hào)強(qiáng)度越低;目標(biāo)物反射率越低,信號(hào)強(qiáng)度越低。
Temp(Temperature):表征芯片內(nèi)部溫度值。攝氏度 = Temp / 8 – 256。
? 字符串?dāng)?shù)據(jù)格式
以字符串形式輸出,單位為m,比如測(cè)距為1.21m,則輸出字符串1.21,后跟轉(zhuǎn)義字符rn。
ESP32與TFmini-S接線

TFmini-S模塊接到了ESP32的串口2引腳上
| ESP32 | TFmini-S |
|---|---|
| 5V | 5V |
| GND | GND |
| 16 | TXD |
| 17 | RXD |
Arduino串口驅(qū)動(dòng)代碼
#include < HardwareSerial.h > // Reference the ESP32 built-in serial port library
HardwareSerial lidarSerial(2); // Using serial port 2
#define RXD2 16
#define TXD2 17
void setup() {
Serial.begin(115200); // Initializing serial port
lidarSerial.begin(115200, SERIAL_8N1, RXD2, TXD2); // Initializing serial port
}
void loop() {
uint8_t buf[9] = {0}; // An array that holds data
if (lidarSerial.available() > 0) {
lidarSerial.readBytes(buf, 9); // Read 9 bytes of data
if( buf[0] == 0x59 && buf[1] == 0x59)
{
uint16_t distance = buf[2] + buf[3] * 256;
uint16_t strength = buf[4] + buf[5] * 256;
int16_t temperature = buf[6] + buf[7] * 256;
Serial.print("Distance: ");
Serial.print(distance);
Serial.print(" cm, strength: ");
Serial.print(strength);
Serial.print(", temperature: ");
Serial.println(temperature / 8.0 - 256.0);
}
}
delay(10);
}
ESP32的串口1作為測(cè)量數(shù)據(jù)顯示到串口助手上,ESP32的串口2與TFmini-S模塊的串口通信。將以上代碼上傳到ESP32中,將TFmini-S模塊與測(cè)量目標(biāo)離開一定距離,打開串口監(jiān)視器可得到測(cè)量距離結(jié)果如下:
總結(jié)
以上實(shí)驗(yàn)使用的TFmini-S模塊默認(rèn)的串口通信協(xié)議,沒做任何內(nèi)部參數(shù)的修改,ESP32作為主控讀取并轉(zhuǎn)換出TFmini-S模塊的測(cè)量數(shù)據(jù)。其他的通信協(xié)議的使用和參數(shù)的修改,可詳細(xì)參考TFmini-S模塊的說明書。
審核編輯 黃宇
-
驅(qū)動(dòng)
+關(guān)注
關(guān)注
12文章
1978瀏覽量
88629 -
紅外激光
+關(guān)注
關(guān)注
0文章
37瀏覽量
8188 -
TOF
+關(guān)注
關(guān)注
9文章
545瀏覽量
38577 -
ESP32
+關(guān)注
關(guān)注
26文章
1207瀏覽量
22067
發(fā)布評(píng)論請(qǐng)先 登錄
XL5300 TOF測(cè)距傳感器介紹,高性價(jià)比的中短距離dToF傳感器
SDFM 激光測(cè)距模塊模組手冊(cè)
西曼傳感SDM02,1.8米D-TOF激光測(cè)距模塊。
tof測(cè)距傳感器的主要應(yīng)用場(chǎng)景
新品 | Chain ToF Unit ChainBus,激光測(cè)距節(jié)點(diǎn) Chain系列通信協(xié)議轉(zhuǎn)換單元
無人機(jī)激光測(cè)距傳感器使用指南
ESP32藍(lán)牙驅(qū)動(dòng)MAX98357對(duì)音頻音樂播放
高壓功率放大器在平衡光學(xué)的飛秒激光測(cè)距實(shí)驗(yàn)中的應(yīng)用
有沒有推薦的激光測(cè)距傳感器
低成本開源!用樂鑫科技ESP32-S3開發(fā)板輕松驅(qū)動(dòng)無刷電機(jī),保姆級(jí)教程來了!
小型激光測(cè)距模塊2000米精度1米無人機(jī)光電吊艙專用
撥動(dòng)激光測(cè)距傳感器:以毫厘之準(zhǔn),開啟精準(zhǔn)測(cè)量新紀(jì)元
小安派BW21-CBV-Kit入門教程之讀取VL53L0X紅外測(cè)距傳感器數(shù)據(jù)
ESP32驅(qū)動(dòng)MFRC522 RFID模塊讀寫IC卡數(shù)據(jù)
ESP32驅(qū)動(dòng)TFmini-S紅外激光測(cè)距ToF模塊進(jìn)行測(cè)距
評(píng)論