0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RP2040的ToF雷射测距装置设计

jf_cVC5iyAO 来源:易心Microbit编程 2023-08-24 16:10 次阅读

Hesam Moshiri自己打造的雷射测距装置

测距应用对许多创客而言并不陌生,例如红外线测距、超音波测距等,但较少人使用雷射(对岸称为激光)测距。近期有一名创客Hesam Moshiri就示范如何打造一个基本的雷射测距。

控制电路设计开发

Hesam先挑一片主控板,他选择的RP2040-Zero板主控芯片为RP2040,即树莓派官方的独特MCU芯片,该芯片除了供自家RaspberryPi Pico板使用外,也供其他板卡商制成自己要的控制板,RP2040-Zero即是其一。

fc94b2c6-4254-11ee-a2ef-92fbcf53809c.jpg

RP2040-Zero控制板接脚说明

娇小的RP2040-Zero板为整体控制电路的心脏,但还需要一个控制用的身体,对此Hesam设计了一片与RP2040-Zero连接的外围控制板,是运用Altium公司的云端版设计软件Altium Designer 23设计成,设计期间也透过网站搜寻可以取得的电子零件并产生料件列表(俗称BOM表),设计完成后的外围控制板为双层板,并委托他人客制生产,取得生产完成的印刷电路板后,Hesam再将购得的电子料件焊接上板子,以此实现外围控制板。

fcba6804-4254-11ee-a2ef-92fbcf53809c.jpg

Hesam Moshiri自己设计与RP2040-Zero控制板(蓝色部分)连接的外围电路板(绿色部分),外围电路板上具备继电器(偏左位置的大灰色块)

fcd5da3a-4254-11ee-a2ef-92fbcf53809c.jpg

控制板、外围控制板的立体电子零件布局图

客制的控制板毕竟不量产,故没有名字,而其上头有继电器(relay)、LED灯号、按钮等,以及有个专属连接器可连接蜂鸣器(buzzer),以便后续开发可以使用。然后,电力的部份也是先接到客制板上再传递给RP2040-Zero板,不过RP2040-Zero自身也能取得电力。

客制板还有两个特别的连接器,一个仅有4根接脚,用来连接飞时(Time-of-flight, ToF)测距传感器(distance sensor),传感器芯片是意法半导体(STMicroelectronics, STMicro)的VL53L0X(同时具有发送接收)。4根接脚的连接器本质上是I2C接口

关于VL53L0X的性能规格,STMicro官网写最远可以量测200公尺,但一般要考虑配置与外部环境因素等,实务而言约在3公分~1公尺间;分辨率方面最小可以到0.1公分,不过也有误差范围,误差在3%~10%间。

另一个连接器有40根接脚,用来连接软板的TFT显示器,本质上是SPI接口,用来显示量测到的距离数值。Hesam用一片2.4吋、分辨率320 x 240的彩色TFT显示器。

控制程序设计开发

软件部分Hesam只有概略交代,但也能略窥一二,首先他是用比较底层、比较技术的方式进行软件开发,先是使用Raspberry Pi Pico的Pico C/C++ SDK v1.5函式库,然后花许多时间在LVGL(Light and Versatile Embedded Graphics Library)函式库上,用该函式库来设计开发2.4吋TFT显示器上的显示画面。

然后为了同时使用上RP2040内的两个执行核心,Hesam在RP2040-Zero控制板上跑一个实时操作系统(RTOS,没有明讲是哪一套)。至于开发工具方面,Hesam用常见的Microsoft Visual Studio Code(简称VS Code),写好的程序则透过gccarm 12.2.1编译程序进行编译。

若想了解程序细节,其实Hesam也已经把源代码放一份在Altium社群项目网站上,项目名称Laser-Range-Finder,必须注册账号后登入才能看,或者直接连结Google、Facebook账号也可以。

fcf81d2a-4254-11ee-a2ef-92fbcf53809c.jpg

Hesam Moshiri在Altium社群项目网站上释出雷射测距的源代码

笔者下载一份后检视,里头有VL43L0X的C语言源代码(扩展名.c,另也有用上含括檔.h),以及一个已经编译好的Laser.uf2档案,可以直接烧到控制板上,或者保险一点是先放入flash_nuke.uf2档案把控制板上原有的内容都清掉,而后才放入Laser.uf2档案。

各种应用可能

Hesam完成上述后,后续就是让其他人以此为基础去加搭发挥,例如「当距离短于30公分时透过蜂鸣器发出警告」,类似今日汽车常见的倒车雷达,但其实多数是以超音波技术实现;或者是「距离超过80公分时则启动继电器,从而驱动电风扇、洗衣机等大功率设备运作」。

最后,雷射测距也是有缺点,照射到黑体物是不容易反射的,会被吸收,如此就无法准确测距,但是超音波与红外线同样有其优缺点,所以通常是同时使用上两种或两种以上的测距技术而后交叉比对确认,对于一些避障应用而言这将是不可少的。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16017

    浏览量

    343632
  • 控制电路
    +关注

    关注

    81

    文章

    1609

    浏览量

    134924
  • TOF
    TOF
    +关注

    关注

    9

    文章

    435

    浏览量

    35905
  • 主控芯片
    +关注

    关注

    2

    文章

    168

    浏览量

    24126

原文标题:用RP2040实现ToF雷射飞时测距

文章出处:【微信号:易心Microbit编程,微信公众号:易心Microbit编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于RP2040 arm微控制器制作的定制Arduino

    描述Athduino-RP2040使用新的 Raspberry pi pico 的基于 RP2040 arm 的微控制器制作的定制 ArduinoPCB
    发表于 08-31 06:03

    使用RP2040设计一个迷你板

    描述RP2040 迷你板介绍电子世界正在发展到一个复杂而迷人的水平。这些领域的制造商正在提出更合适和更灵活的组件,这些组件正在引发该领域的先进改进。随着更多芯片涌入市场,微控制器领域并未落后。在
    发表于 09-02 06:37

    RP2040

    RP2040是一种基于ARM Cortex-M0+核心的微控制器芯片,由Raspberry Pi公司设计和生产。它主要用于树莓派计算模块和树莓派相机模块V2等产品中,同时也适用于各种低功耗物联网设备
    发表于 09-15 09:04

    e络盟现货发售Arduino Nano RP2040 Connect和Raspberry Pi Pico

    Raspberry Pi Pico是首款采用Raspberry Pi自研RP2040微控制器的开发板。Arduino Nano RP2040 Connect则是首款RP2040连接板,功能丰富且延续了Nano系列广受欢迎的精巧外
    发表于 09-23 14:26 2984次阅读
    e络盟现货发售Arduino Nano <b class='flag-5'>RP2040</b> Connect和Raspberry Pi Pico

    RP2040 MCU如何成为受欢迎的开发板芯片

      RP2040 的高速、低功耗和低成本使其成为 MCU 开发板的热门选择。除了本文提到的开发板之外,还有几家公司正在开发 RP2040 开发板。
    的头像 发表于 06-01 16:54 1.6w次阅读

    RP2040 MicroMOD处理器板开源分享

    电子发烧友网站提供《RP2040 MicroMOD处理器板开源分享.zip》资料免费下载
    发表于 07-21 10:37 8次下载
    <b class='flag-5'>RP2040</b> MicroMOD处理器板开源分享

    RP2040迷你板开源分享

    电子发烧友网站提供《RP2040迷你板开源分享.zip》资料免费下载
    发表于 08-15 14:48 9次下载
    <b class='flag-5'>RP2040</b>迷你板开源分享

    RP2040模块MCU开源分享

    电子发烧友网站提供《RP2040模块MCU开源分享.zip》资料免费下载
    发表于 10-28 14:49 11次下载
    <b class='flag-5'>RP2040</b>模块MCU开源分享

    使用Seeed Wio RP2040模块进行环境监测

    电子发烧友网站提供《使用Seeed Wio RP2040模块进行环境监测.zip》资料免费下载
    发表于 11-08 10:13 2次下载
    使用Seeed Wio <b class='flag-5'>RP2040</b>模块进行环境监测

    使用RP2040和W5100S的无套接字功能

    电子发烧友网站提供《使用RP2040和W5100S的无套接字功能.zip》资料免费下载
    发表于 02-07 14:33 0次下载
    使用<b class='flag-5'>RP2040</b>和W5100S的无套接字功能

    使用RP2040和KMK固件的40%正交线性键盘

    电子发烧友网站提供《使用RP2040和KMK固件的40%正交线性键盘.zip》资料免费下载
    发表于 06-08 10:48 0次下载
    使用<b class='flag-5'>RP2040</b>和KMK固件的40%正交线性键盘

    将MicroPython从Raspberry pi(RP2040)移植到Wiznet5K

    电子发烧友网站提供《将MicroPython从Raspberry pi(RP2040)移植到Wiznet5K.zip》资料免费下载
    发表于 06-14 10:54 0次下载
    将MicroPython从Raspberry pi(<b class='flag-5'>RP2040</b>)移植到Wiznet5K

    RP2040 Raspberry Pi Pico遇见LoRa

    电子发烧友网站提供《RP2040 Raspberry Pi Pico遇见LoRa.zip》资料免费下载
    发表于 06-15 09:25 0次下载
    <b class='flag-5'>RP2040</b> Raspberry Pi Pico遇见LoRa

    9.9元包邮!合宙RP2040开发板,兼容树莓派PICO

    合宙新品排队来,刚刚10元入手 Air601+Air001 开发板超值套餐 的工程师朋友们,又迎来新一波福利: ——9.9元合宙RP2040开发板来了! 树莓派经典与合宙的激情撞击,将带来怎样的超值
    的头像 发表于 08-07 12:05 3030次阅读

    合宙RP2040开发板,兼容树莓派PICO

    合宙新品排队来,刚刚10元入手Air601+Air001开发板超值套餐的工程师朋友们,又迎来新一波福利:——9.9元合宙RP2040开发板来了!树莓派经典与合宙的激情撞击,将带来怎样的超值
    的头像 发表于 08-08 08:05 2411次阅读
    合宙<b class='flag-5'>RP2040</b>开发板,兼容树莓派PICO