完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
该模块是一个开源模块,并提供了配套的ROS节点,接收串口上传的数据并发布到指定的Topic上面。目前支持 HC-SR04 、HY-SRF05和US-015这几个型号超声波模块。主要功能如下:
在制作智能小车、自主导航小车的过程中我们通常会使用超声波来弥补小车的测量盲区,或者直接设计基于超声波的避障小车。这其中都涉及到多个超声波模块的读取。一方面我们可以选取市面上已有的串行超声波模块通过IIC或者485总线实现多个超声波级联。但是如下面表格1所示,市面上级联的超声波模块最便宜的也需要100元一个,这样12个成本约为1200元。如果使用其他模块则更贵。另一方面超声波在读取的时候需要频繁调用定时器中断函数测量回波电平的宽度实现距离的测量。而这个过程会占用大量的cpu资源,因此我们将这部分功能独立出来为一个模块,单独使用一个单片机去读取超声波模块的数据并通过串口转发出去。 2 使用教程 2.1 接线说明 如下图所示,使用模块时需连接超声波模块
SWD下载接口线序如下图所示 超声波接线说明:目前支持 HC-SR04 超声波模块 HC-SR04模块接线如下图所示: - 红色——VCC - 黑色——GND - 黄色——Trig - 绿色——Echo 板子安装孔位置和外形尺寸如下: 2.2 上传协议 数据格式为: 帧头+数据长度+命令类型+数据+校验+帧尾。数据上传频率为20Hz,波特率使用115200。
3.1 下载与配置 1 安装依赖项 sudo apt-get install ros-melodic-rosserialcd catkin_ws/srcgit clone https://github.com/RuPingCen/ultrasonic-ros.git 2.编译代码 cd ..catkin_make 3 启动ROS节点 roslaunch ultrasonic_ros ultrasonic_ros.launch 启动节点以后可以看到终端打印输出的数据 4 使用 echo 命令打印查看超声波的数据 rostopic echo /ultrasonic/data 5 使用 hz 命令查看话题发布的频率 rostopic hz /ultrasonic/data 3.3 常见问题-无串口权限 启动节点时候提示没有串口设备或者没有启动权限,这时候需要修改串口权限。 step1: 检查是否识别到USB转串口驱动 查看设备的ID号 ls /dev/ttyUSB* 这里我们可以通过一个简单的方式来修改串口权限 sudo chmod 766 /dev/ttyUSB0 上述的方式每次拔插串口以后都需要执行修改权限的命令比较麻烦,可以使用我们的脚本文件把串口权限写入rule文件中。 step2: 用记事本打开“ultrasonic-ros/scripts/ultrasonic.rules” 目录下的文件,会看到如下内容 cd ultrasonic-ros/scriptsgedit ultrasonic.rules step3: 这里的1a86和7523 就是上面图中我设备的ID号,这里修改成为你自己的ID号以后,把文件拷贝到/etc/udev/rules.d目录下就可以使用 /dev/ultrasonic 替代 /dev/ttyUSB0 来访问模块了 sudo cp ultrasonic.rules /etc/udev/rules.d/ 4 更新程序 为了使得没有购买这个板子的小伙伴使用我们的程序,我们提供了Hex文件下载。通过STLink进行烧写程序,对照我们提供的原理图接线也可以实现多个超声波的读取(需要一定的动手能力)。板载芯片为STM32F103C8T6。 SWD下载接口线序如下图所示 从ST官方的下载烧写软件:STM32 ST-LINK utility 4.5.0 安装时候一直下一步默认即可,安装完成以后打开软件,使用STLink连接到STM32板子。 接下来点击这个插头一样的东西(如果没有识别到就拔插一下STLink下载器) 成功以后就可以看到芯片的信息 接下来选中github网页中目录 ultrasonic-ros/reference/hex目录下的hex文件 ultrasonic_V1.0.0.hex 成功打开以后这两个地方会有信息提示成功打开文件 接下来点击烧写程序 程序下载完成以后扳子上的红色LED开始闪烁表示程序下载成功了 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1847浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
609浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
503浏览 3评论
507浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
488浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 13:33 , Processed in 0.681542 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号