TF-Luna LiDAR Range Sensor

来自Waveshare Wiki
跳转至: 导航搜索
TFmini-Luna-LiDAR-Sensor
{{{name2}}}
{{{name3}}}
功能简介
特性 激光传感器
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 I2C UART

说明

产品简介

TF-Luna 是一款基于 ToF 原理的单点测距雷达,采用 850nm 红外光源,配合独特的光学,电学设计,可以实现稳定、精准、高灵敏的距离测量。
产品内置多种应用环境及目标的适配算法,并开放了多种可调节配 置和参数。可以保证在复杂环境中具有优良的测距性能,满足客户复杂的应用场景需求。

产品特点

  • 体积小
  • 重量轻
  • 低功耗
  • 性价比高

应用场景

  • 辅助对焦
  • 电梯投影
  • 入侵检测
  • 料位测量

规格参数

产品 TF-Luna LiDAR Range Sensor
产品性能 测量范围  0.2m~8m@90%反射率(室内0Klux)

0.2m~2.5m@10%反射率(室内0Klux)
0.2m~8m@90%反射率(室外90Klux)
0.2m~2.5m@10%反射率(室外90Klux)

准确度 ±6cm@(0.2m-3m)
±2%@(3m-8m)
距离分辨率 1cm
帧率 1~250Hz(可调)
抗环境光能力 70Klux
工作温度 -10℃~60℃
光学参数 光源 VCSEL
中心波长 850nm
人眼安全 Class1(IEC60825)
视场角
电学参数 供电电压 3.7V-5.2V
平均电流 ≤70mA
功耗 ≤0.35W
峰值电流 150mA
通信电平 LVTTL(3.3V)
通信接口 UART/I2C
其他 尺寸 35mm*21.25mm*13.5mm(长*宽*高)
壳体材料 ABS/PC
储存温度 -20℃~75℃
重量 <5g

外观结构

TF-Luna-size.png

工作原理

TF-Luna基于TOF(Time of Flight)即飞行时间原理。具体为产品周期性的向外发出近红外光调制波,调制波遇物体后反射。产品通过测量调制波往返相位差,得到飞行时间,再计算出产品与被测目标之间的相对距离,如下图
TOF-Principle-Analysis.png

通信接口

UART  /  I2C  /  I/O

  • UART / I2C
UART接口

默认波特率

115200(可调)

数据位

8

停止位

1

奇偶校验

None

I2C接口

最大传输速率

400kbps

主从模式

从机模式

默认地址

0x10

地址范围

0x08~0x77

  • I/O模式:
I/O 输出模式下,探测信息由引脚 6 的高低电平表示。当输出为近区电平时,测量值大于滞回区间的远端点后,输出切换为远区电平;当输出为远区电平时,测量值小于滞回区间的近端点时,输出切换为近区电平。(高电平:3.3V,低电平:0V)

接线说明

TF-Luna-Pinout.png

编号

功能

说明

1

+5V

电源正极

2

RXD/SDA

接收/数据

3

TXD/SCL

发送/时钟

4

GND

电源地

5

接口配置输入

接地:启动为I2C模式
悬空或者接3.3V:启动为串口模式

6

复用输出

开关量模式功能:开关量输出
I2C模式且开关量模式关闭:数据准备好指示

更多关于如何切换 通信接口 和 设置接口参数,详见:TF-Luna说明书

软件和示例使用说明

下文将介绍模块如何在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下快速测试

准备材料

硬件连接

TF-Luna-hw-connection.png

测试步骤

  1. 参考硬件连接图,把TF-Luna模块,通过USB TO TTL串口模块接入到电脑上。
  2. 打开TF上位机,选择『① TF-Luna』,并选择自动识别的占用串口(这里是『② COM9』)。
    然后,点击『CONNECT』进行上位机连接。连接成功后,右侧『④ TIME LINE CHART』区域会出现连续输出的数据图像,下方『⑥ REAL TIME DATA』区实时显示当前测试距离(Dist)、每秒有效数据量(Effective Points)和信号强度(Strength)。
    TF-software-01.png

说明:
a) 如果『④ TIME LINE CHART』区没有数据,请检查连接和线序,TF-Luna上电成功,正面看发射透镜内会有微弱的红光。
b) 如果TF-Luna是Pixhawk格式输出,需先勾选『③ Pix Mode』,『④ TIME LINE CHART』区才会正常输出数据图像。勾选Pix Mode后,距离单位变为m。
c) 距离输出Dist值,跟据输出单位不同会有所区别,默认单位为cm。如果通过指令修改TF-Luna的距离单位为mm,上位机并不能区分,『④ TIME LINE CHART』单位仍为cm。例如,TF-Luna实际测量距离为1m,以mm为单位则输出1000,通过该上位机读取的数值为1000,但上位机上的单位不会变化,仍显示cm。

Raspberry Pi下使用

树莓派环境配置

树莓派串口配置

由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。执行如下命令进入树莓派配置:

sudo raspi-config

选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。 A7600C1-Cat-Hat-OpenSerial.jpg
打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面:

enable_uart=1

然后重启树莓派:

sudo reboot

树莓派开启I2C

打开树莓派终端,输入以下指令进入配置界面

sudo raspi-config
选择Interfacing Options -> I2C -> Yes 开启I2C接口

树莓派开启I2C(1).png

然后重启树莓派:

sudo reboot

安装WiringPi

在安装前请确定当前系统是32位还是64位

树莓派系统为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版本,如果没有出现说明安装出错
WiringPi安装.png

树莓派系统为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

执行示例:
64-bit wiringPi环境安装1.png

64-bit wiringPi环境安装2.png

硬件连接

UART模式:(第五脚在上电前悬空或接3.3V,通信线连接GPIO14、GPIO15)                      IIC模式:(第五脚在上电前接地,通信线连接GPIO2、GPIO3)
TF-Luna-LiDAR-Sensor-Pi-connected硬件连接-UART.pngTF-Luna-LiDAR-Sensor-Pi-connected硬件连接-I2C.png

软件示例

前置操作

将程序包下载到树莓派中

wget https://www.waveshare.net/w/upload/a/aa/TF-Luna-LiDAR-Range-Sensor-Demo.zip

解压文件,新建一个同名文件解压到相应文件夹中

unzip TF-Luna-LiDAR-Range-Sensor-Demo.zip -d ./TF-Luna-LiDAR-Range-Sensor-Demo

执行示例:
TF-Luna-RaspberryPi调试图片1.png

运行C语言例程

默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
在终端中进入程序包路径“TF-Luna-LiDAR-Range-Sensor-Demo”

cd TF-Luna-LiDAR-Range-Sensor-Demo/

进入示例文件路径,文件夹下4个文件分别对应4个主控,下级文件夹中的文件分别为TF-Luna处于对应模式下的数据获取例程以及模式切换程序(例:使用UART模式获取数据)

cd Raspberry\ Pi/WiringPi/UART 

使用"gcc -o main main.c -lwiringPi"编译程序

gcc -o main main.c -lwiringPi

执行main程序(此前需打开相关功能,在前面树莓派配置那)

sudo ./main

执行示例:
TF-Luna-RaspberryPi调试图片WiringPi-1.png

运行Python语言例程

默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
在终端中进入程序包路径“TF-Luna-LiDAR-Range-Sensor-Demo”

cd TF-Luna-LiDAR-Range-Sensor-Demo/

进入示例文件路径,文件夹下4个文件分别对应4个主控,下级文件夹中的文件分别为TF-Luna处于对应模式下的数据获取例程以及模式切换程序(例:使用UART模式获取数据)

cd Raspberry\ Pi/Python/UART 

运行程序

python3 main.py

执行示例:
TF-Luna-RaspberryPi调试图片Python-1.png

Raspberry Pi Pico下使用

硬件连接

UART模式:(第五脚在上电前悬空或接3.3V,通信线连接GPIO8、GPIO9)                         IIC模式:(第五脚通电前先接地,通信线连接GPIO8、GPIO9)
TFmini-Luna-LiDAR-Range-Sensor-Pico-connected-UART.pngTFmini-Luna-LiDAR-Range-Sensor-Pico-connected-I2C.png

软件调试

前置操作

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点操作流程:
软件调试前置操作.png
连接成功效果如下:
软件调试前置操作5.png

运行示例

默认模式为UART,若进行模式切换,请记住当前模式。
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
1.打开下载的示例程序(示例程序
2.依此进入“TF-Luna-LiDAR-Range-Sensor-Demo”->“Raspberry Pi Pico”
3.“Raspberry Pi Pico”文件夹下依次有2个文件,分别代表各自功能
4.进入“UART”文件夹,使用Thonny打开UART.py(示例为在UART模式下获取数据)
5.在Thonny中点击运行
TF-Luna-RaspberryPi Pico软件调试操作.png

调试效果如下:
TF-Luna-RaspberryPi Pico程序调试图.png

Arduino下使用

硬件连接

UART模式:(第五脚通电前悬空或接3.3V,信号线连接D0、D1)                                   IIC模式:(第五脚通电前先接地,信号线连接SDA、SCL)
TF-Luna-LiDAR-Range-Sensor-Arduino-connected-UART.pngTF-Luna-LiDAR-Range-Sensor-Arduino-connected-I2C.png

软件调试

默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
1.安装Arduino(Arduino安装包
2.打开下载的示例程序(示例程序
3.依此进入“TF-Luna-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点操作流程:
TF-Luna-Arduino软件调试操作.png
  • 调试效果如下:
TF-Luna-Arduino程序调试图.png

ESP32下使用

本示例使用ESP32-S3-DEV-KIT-N8R8开发板

硬件连接

UART模式:(第五脚通电前悬空或接3.3V,信号线连接GPIO16、GPIO17)                                   IIC模式:(第五脚通电前先接地,信号线连接GPIO16、GPIO17)
TFmini-Luna-LiDAR-Range-Sensor-ESP32-connected-UART.pngTFmini-Luna-LiDAR-Range-Sensor-ESP32-connected-I2C.png

软件调试

前置操作

Arduino安装ESP32库0-1.png
  • 双击运行下载下来的应用程序
Arduino安装ESP32库0-2.png
  • 打开Arduino IDE查看是否安装成功
Arduino安装ESP32库3-3.png

运行示例

默认模式为UART,若进行模式切换,请记住当前模式
下文操作以运行"UART"例程为例。若使用I2C接口,请确保已连接和设置好对应接口,操作类似。
1.打开下载的示例程序(示例程序
2.依此进入“TF-Luna-LiDAR-Range-Sensor-Demo”->“ESP32”
3.“ESP32”文件夹下依次有2个文件,分别代表各自功能
4.进入“UART”文件夹,使用Arduino IDE打开UART.ino(示例为在UART模式下获取数据)
5.连接ESP32板子,在Arduino IDE 上选择对应的开发板及端口
6.点击验证,再点击上传

  • 以下为操作流程:
TF-Luna-ESP32软件调试操作.png
  • 调试效果如下:
TF-Luna-ESP32程序调试图.png

资料

程序

说明:

模式须在上电前确定,确定是否连接第5脚
“TF-Luna-LiDAR-Range-Sensor-Demo”文件夹下存有4个文件,分别对应4款硬件平台, 四个文件夹下各存有2个文件对应功能如下:

文件夹名

说明

UART 设备处于UART模式,进行数据获取
IIC 设备处于I2C模式,进行数据获取

软件

相关文件

TF-Luna 产品说明书
TF-Luna 产品规格书
快速实现TF-Luna-IIC与电脑通信的操作说明
TF-Luna A05 Product Manual
TF-Luna A05 Datasheet

飞控相关资料

说明:下列部分飞控相关资料,仅作为参考学习,我司暂无飞控相关的开发和使用经验,无法做飞控相关的技术支持,用户须自行参阅使用。

FAQ

Q1:请问 TF-Luna 是否支持 3.3V 或其他电压供电?

您好,目前不支持。TF-Luna 标准供电 3.7V~5.2V。如您有其他需求,可联系销售人员咨询定制事宜。

Q2:请问 TF-Luna 工作一段时间后会发热,是坏了吗?

您好,这是产品正常工作状态。芯片与电路板持续工作后,轻微发热属于正常现象。

Q3:请问 TF-Luna 可以与 Arduino 或树莓派连接使用吗?

您好,可以。TF-Luna 使用串口通信协议,只要是支持串口通信的控制板即可通信使用。

Q4:请问 2 台 TF-Luna 同时工作会相互干扰吗?

您好,当 2 台 TF-Luna 同向摆放、光斑打在同一被测物上且重合的时候,不会互相干扰;当 2 台以上的 TF-Luna 同向摆放且光斑重合的时候,相互之间会有干扰;当 2 台 TF-Luna 面对面工作的时候,会产生严重的干扰。

售后

联系人:欧工
EMAIL:2355861365@qq.com
QQ:2355861365
微信:扫下方二维码添加
欧工企业微信联系二维码.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证