TFmini-S LiDAR Range Sensor
| |||||||||||||||||||||
| |||||||||||||||||||||
说明
产品简介
TFmini-S LiDAR Sensor是基于 TFmini 的升级项目,它是一款小型化,单点测距的产品,基于 ToF(飞行时间)原理,配合独特的光学、电学、算法设计,主要实现稳定、精准、高灵敏度和高速的距离测量的功能。产品本身除了具有 TFmini 的低成本、小体积、测距远等特点外,测距精度更高,对于室外强光、不同温度、不同反射率等不同环境下适应性更强,更低功耗,探测频率也更加灵活。产品同时兼容 UART 和 I2C 通信接口,可通过指令进行切换.
产品特点
- 体积小
- 重量轻
- 低功耗
- 高帧率(最高支持1000Hz 输出频率)
应用场景
- 行人检测
- 车辆检测
- 道闸防砸
- 高度计
规格参数
产品 TFmini-S LiDAR Range Sensor 产品性能 测量范围 0.1m~12m@90%反射率
0.1m~7m@10%反射率
0.1m~12m@90%反射率(70Klux)
0.1m~7m@10%反射率(70Klux)准确度 ±6cm@(0.1m-6m)
±1%@(6m-12m)距离分辨率 1cm 帧率 1-1000Hz(默认100Hz) 抗环境光能力 70Klux 工作温度 0℃~60℃ 防护等级 / 光学参数 光源 VCSEL 中心波长 850nm 人眼安全 Class1(EN60825) 视场角 2° 电学参数 供电电压 5V±0.1V 平均电流 ≤140mA 功耗 ≤0.7W 峰值电流 200mA 通信电平 LVTTL(3.3V) 通信接口 UART/I2C 其他 尺寸 42mm*15mm*16mm(长*宽*高) 壳体材料 PC/ABS 储存温度 -20℃~75℃ 重量 5g±0.3g 线长 10cm
外观结构
工作原理
TFmini-S 基于 ToF(Time of Flight)即飞行时间原理。具体为产品周期性的向外发出近红外光调制波,调制波遇物体后反射。产品通过测量调制波往返相位差,得到飞行时间,再计算出产品与被测目标之间的相对距离。
通信接口
UART / I2C / I/O
- UART / I2C
|
|
- I/O模式:
- I/O 输出模式下,不能输出测距值,只是在距离从小变大超过高阈值的时候或者从大到小低 于低阈值的时候让 I/O 口电平反转。当输出为近区电平时,测量值大于滞回区间的远端点后,输出切换为远区电平;当输出为远区电平时,测量值小于滞回区间的近端点时,输出切换为近区电平。(高电平:3.3V,低电平:0V)
接线说明
编号
颜色
功能
说明
黑
GND
电源地
2
红
+5V
电源正极
3
白
RXD/SDA
接收/数据
4
绿
TXD/SCL
发送/时钟
- 更多关于如何切换 通信接口 和 设置接口参数,详见:TFmini-S说明书
软件和示例使用说明
下文将介绍模块如何在Windows电脑、Raspberry Pi、Raspberry Pi Pico、Arduino、ESP32-S3等操作系统/开源硬件开发平台下使用。
操作系统/硬件平台
编程语言/软件
Windows电脑 上位机软件 Raspberry Pi Python、C(WiringPi) Raspberry Pi Pico MicroPython Arduino C(Arduino IDE) ESP32 C(Arduino IDE)
Windows下快速测试
准备材料
硬件连接
测试步骤
- 将 USB TO UART/I2C/SPI/JTAG 的模式拨码开关拨至模式1再进行上电
- 参考硬件连接图,把TFmini-S模块,通过 USB TO UART/I2C/SPI/JTAG 串口模块接入到电脑上。
- 打开TF上位机,选择『① TFmini-S』,并选择自动识别的占用串口(这里是『② COM9』)。
然后,点击『CONNECT』进行上位机连接。连接成功后,右侧『④ TIME LINE CHART』区域会出现连续输出的数据图像,下方『⑥ REAL TIME DATA』区实时显示当前测试距离(Dist)、每秒有效数据量(Effective Points)和信号强度(Strength)。
说明:
a) 如果『④ TIME LINE CHART』区没有数据,请检查连接和线序,TFmini-S上电成功,正面看发射透镜内会有微弱的红光。
b) 如果TFmini-S是Pixhawk格式输出,需先勾选『③ Pix Mode』,『④ TIME LINE CHART』区才会正常输出数据图像。勾选Pix Mode后,距离单位变为m。
c) 距离输出Dist值,跟据输出单位不同会有所区别,默认单位为cm。如果通过指令修改TFmini-S的距离单位为mm,上位机并不能区分,『④ TIME LINE CHART』单位仍为cm。例如,TFmini-S实际测量距离为1m,以mm为单位则输出1000,通过该上位机读取的数值为1000,但上位机上的单位不会变化,仍显示cm。
接口指令切换说明
使用相关硬件接口发送模式转换指令
以下使用 USB TO UART/I2C/SPI/JTAG 设备进行示例演示
将USB TO UART/I2C/SPI/JTAG 的模式拨码开关拨至模式1或模式2再进行上电
当TFmini-S的模式处于UART时,将其切换为I2C:
- 使用USB TO UART/I2C/SPI/JTAG 的 UART1 连接 TFmini-S
TFmini-S USB TO UART/I2C/SPI/JTAG - UART1 VCC VCC(5V) GND GND Tx Rx Rx Tx
- 打开CH347Demo,按以下顺序进行操作(不同UART设备使用的软件不同)
- 在序号6位置输入以下指令,向TFmini-S发送模式切换指令
5A 05 0A 01 6A
- 在序号6位置输入以下指令,发送保存配置指令
5A 04 11 6F
- 将TFmini-S断电,重新上电则配置完成
当模式处于I2C时,将其切换为UART:
- 使用USB TO UART/I2C/SPI/JTAG 的 I2C 设备连接TFmini-S
TFmini-S USB TO UART/I2C/SPI/JTAG VCC VCC(5V) GND GND SCL SCL SDA SDA
- 打开CH347Demo,按以下顺序进行操作(不同I2C设备使用的软件不同)
- 在序号5位置输入以下指令,向TFmini-S发送模式切换指令(请注意:记得在前面加上设备地址,默认地址为0x20)
20 5A 05 0A 00 69
- 在序号5位置输入以下指令,发送保存配置指令
20 5A 04 11 6F
- 将TFmini-S断电,重新上电则配置完成
Raspberry Pi下使用
树莓派环境配置
树莓派串口配置
由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。执行如下命令进入树莓派配置:
sudo raspi-config
选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。
打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面:
enable_uart=1
然后重启树莓派:
sudo reboot
树莓派开启I2C
打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> I2C -> Yes 开启I2C接口
sudo reboot
安装WiringPi
树莓派系统为32位
分别执行以下指令进行WiringPi的安装
wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v
(可选)若安装时出现错误可执行以下命令安装所有缺失的依赖项和其他必要的软件包,然后重新执行安装命令
sudo apt --fix-broken install
运行“gpio -v”会出现2.52版本,如果没有出现说明安装出错
树莓派系统为64位
使用指令拷贝资源包到树莓派
wget https://www.waveshare.net/w/upload/8/8c/WiringPi-master.zip
(可选,使用过解压指令可跳过这一步)安装解压环境
sudo apt-get install unzip
进入文件位置,执行解压指令
unzip WiringPi-master.zip
进入文件目录(进到“WiringPi-master”文件夹中)
cd WiringPi-master/
执行sudo ./build
sudo ./build
(可选,出现错误参考第4点)如果执行./build不成功就执行“chmod +x ./build”再执行“sudo ./build”
chmod +x ./build
硬件连接
UART模式:(连接GPIO14、GPIO15)
IIC模式:(连接GPIO2、GPIO3)
软件示例
前置操作
将程序包下载到树莓派中
wget https://www.waveshare.net/w/upload/6/65/TFmini-S-LiDAR-Range-Sensor-Demo.zip
解压文件,新建一个同名文件解压到相应文件夹中
unzip TFmini-S-LiDAR-Range-Sensor-Demo.zip -d ./TFmini-S-LiDAR-Range-Sensor-Demo
运行C语言例程
默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
在终端中进入程序包路径“TFmini-S-LiDAR-Range-Sensor-Demo”
cd TFmini-S-LiDAR-Range-Sensor-Demo/
进入示例文件路径,文件夹下4个文件分别对应4个主控,下级文件夹中的文件分别为TFmini-S处于对应模式下的数据获取例程以及模式切换程序(例:使用UART模式获取数据)
cd Raspberry\ Pi/WiringPi/UART
使用"gcc -o main main.c -lwiringPi"编译程序
gcc -o main main.c -lwiringPi
执行main程序(此前需打开相关功能,在前面树莓派配置那)
sudo ./main
运行Python语言例程
默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
在终端中进入程序包路径“TFmini-S-LiDAR-Range-Sensor-Demo”
cd TFmini-S-LiDAR-Range-Sensor-Demo/
进入示例文件路径,文件夹下4个文件分别对应4个主控,下级文件夹中的文件分别为TFmini-S处于对应模式下的数据获取例程以及模式切换程序(例:使用UART模式获取数据)
cd Raspberry\ Pi/Python/UART
运行程序
python3 main.py
Raspberry Pi Pico下使用
硬件连接
UART模式:(连接GPIO8、GPIO9)
IIC模式:(连接GPIO8、GPIO9)
软件调试
前置操作
1.安装Thonny(Thonny安装包)
2.按住Raspberry Pi Pico的“BOOTSEL”键,然后上电,上电后松开
3.电脑会出现一个新的盘符,将固件(Raspberry Pi Pico固件)解压,并将固件(后缀为uf2)拷贝至该磁盘(拷贝成功磁盘会自动消失)
4.开启Thonny,点击右下方的“Python x.x.x”,选择“Configure interpreter”
5.在弹出窗口中选择“解释器”->解释器选择“MicroPython(Raspbeery Pi Pico)”->端口选择“自动探测端口”
6.点击暂停,Shell窗口出现“MicroPython v1.20.0-50-g786013d46 on 2023-05-04; Raspberry Pi Pico with RP2040 Type "help()" for more information.”即为连接成功
- 以下为第4点与第5点操作流程:
- 连接成功效果如下:
运行示例
默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
1.打开下载的示例程序(示例程序)
2.依此进入“TFmini-S-LiDAR-Range-Sensor-Demo”->“Raspberry Pi Pico”
3.“Raspberry Pi Pico”文件夹下依次有四个文件,分别代表各自功能
4.进入“UART”文件夹,使用Thonny打开UART.py(示例为在UART模式下获取数据)
5.在Thonny中点击运行
Arduino下使用
硬件连接
UART模式:(连接D0、D1) IIC模式:(连接SDA、SCL)
软件调试
默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
1.安装Arduino(Arduino安装包)
2.打开下载的示例程序(示例程序)
3.依此进入“TFmini-S-LiDAR-Range-Sensor-Demo”->“Arduino”
3.“Arduino”文件夹下依次有4个文件,分别代表各自功能
4.进入“UART”文件夹,使用Arduino IDE打开UART.ino(示例为在UART模式下获取数据)
5.连接Arduino板子,在Arduino IDE 上选择对应的开发板及端口
6.点击验证,再点击上传
7.处于UART模式时等待上传成功后再将设备连接Arduino板子(每次上传前要保证Arduino的D0和D1没有接入设备)
- 以下为第2点到第4点操作流程:
- 调试效果如下:
ESP32下使用
本示例使用ESP32-S3-DEV-KIT-N8R8开发板
硬件连接
UART模式:(连接GPIO16、GPIO17) IIC模式:(连接GPIO16、GPIO17)
软件调试
前置操作
- 安装Arduino(Arduino安装包)
- 在Arduino IDE中安装ESP32库(ESP32/8266库文件)
- 进入第2点打开的文件中可选ESP32相应版本进行下载
- 双击运行下载下来的应用程序
- 打开Arduino IDE查看是否安装成功
运行示例
默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
1.打开下载的示例程序(示例程序)
2.依此进入“TFmini-S-LiDAR-Range-Sensor-Demo”->“ESP32”
3.“ESP32”文件夹下依次有4个文件,分别代表各自功能
4.进入“UART”文件夹,使用Arduino IDE打开UART.ino(示例为在UART模式下获取数据)
5.连接ESP32板子,在Arduino IDE 上选择对应的开发板及端口
6.点击验证,再点击上传
- 以下为操作流程:
- 调试效果如下:
资料
程序
- 模式切换时需等待其输出“UART To IIC:End of configuration. ”或“IIC To UART:End of configuration. ”,等待3秒左右重新上电
- “TFmini-S-LiDAR-Range-Sensor-Demo”文件夹下存有4个文件,分别对应4款硬件平台, 四个文件夹下各存有4个文件对应功能如下:
文件夹名
说明
UART 设备处于UART模式,进行数据获取 UART_IIC 设备处于UART模式,进行模式切换 IIC 设备处于I2C模式,进行数据获取 IIC_UART 设备处于I2C模式,进行模式切换
软件
相关文件
快速实现TFmini-S-IIC与电脑通信的操作说明
TFmini-S Product Manual
TFmini-S Datasheet
FAQ
Q1:请问 TFmini-S 是否支持 3.3V 或其他电压供电?
您好,目前不支持。TFmini-S 标准供电 5V±0.1V。如您有其他需求,可联系销售人员咨询定制事宜。
Q2:请问 TFmini-S 工作一段时间后会发热,是坏了吗?
您好,这是产品正常工作状态。芯片与电路板持续工作后,轻微发热属于正常现象。
Q3:请问 TFmini-S 可以与 Arduino 或树莓派连接使用吗?
您好,可以。TFmini-S 使用串口通信协议,只要是支持串口通信的控制板即可通信使用。
Q4:请问 2 台 TFmini-S 同时工作会相互干扰吗?
您好,当 2 台 TFmini-S 同向摆放、光斑打在同一被测物上且重合的时候,不会互相干扰;当 2 台以上的 TFmini-S 同向摆放且光斑重合的时候,相互之间会有干扰;当 2 台 TFmini-S 面对面工作的时候,会产生严重的干扰。
Q5:UART、I2C和GPIO工作电平是否支持3.3V和5V?
您好,UART、I2C和GPIO工作电平是3.3V的,若与5V的接口通信,须加电平转换电路。
售后
联系人:欧工
EMAIL:2355861365@qq.com
QQ:2355861365
微信:扫下方二维码添加