请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32跟随小车

[复制链接]
y369369 发布时间:2021-4-15 17:17
2.1.jpg

( q; D. T; k4 D# G  J
STM32超声波跟随小车
本期带来的是基于STM32F1的超声波跟随小车的简介。
使用单发送双接收的超声波模块来判断发射端的角度和位置,以此来实现跟随。
5 B6 r# G7 r: j: K- [
01
基本原理
2.2.png
在小车的两端各安装一个超声波(非收发一体),人手持一个超声波模块。这样左侧与右侧离人的距离就构成了一个三角形。
当小车正对着人时,装在小车上的2个超声波模块,距离A=B。
当人左拐时,A必定小于B,同理当人右拐时,A大于B。
当人向前走时,A和B的距离必定大于设定距离。我们只需要控制好这几个距离即可。

8 h: ~0 h: ]- m& O
02
2.3.jpg

7 K5 b  j8 I% C2 [+ H; W; z
2.4.jpg
6 t$ F5 |& A; s" C6 k# u/ [) i- q0 _
具体制作方式
自动跟随小车硬件模块包括控制器模块、无线收发模块、超声波接收模块、电机及电机驱动模块、电源模块组成。
发送超声波模块只需要上电即可。发送超声波模块上电后,发送超声波模块上的 LED 会快闪,此时证明,发送超声波模块已经在正常工作了. 接收超声波模块:当发送超声波模块通上电之后。需要将发送超声波模块和接收超声波模块对准,此时接收超声波模块需上的 LED会快闪。此时证明接收超声波模块已经接收到发送超声波模块发射的超声波。此时接收超声波模块上接收到的数据即是发送和接收超声波的距离数据。值得注意的是,2 个超声波发射头需要对准,才会通信成功,发送超声波模块只需上电即可工作(发送上的LED 闪烁),此时只是证明了发送超声波模块已经成功发射出超声波,但并不能证明接收超声波模块会接收到数据,只有接收到发送超声波模块的声波后,接收超声波模块上的 LED 闪烁后,才能证明这两者已经通信成功。接收超声波模块才会有距离数据输出。

  j5 t& l7 w, _: d
当接收超声波已经接收到发送超声波的数据后,接收超声波模块上的LED 灯会快速闪烁,会通过串口以 50Hz 的频率发送出距离数据。数据格式是:0XA5+两个字节数据(16 进制),距离的单位是 mm, 例如:返回数据是:A5 00 C8,意思就是:200mm。数据的含义是什么呢?0XA5 是帧头,另外 2 个是数据存储字节。A5 00 C8帧头 高八位数据存储字节 低八位数据存储字节如何解算:很简单,把 2 个字节数据移位然后逻辑运算即可。

* l; l: c! h* b& l6 t% ~1 _8 g
如下:distance_left = dat_left[1]<<8 |dat_left[2]
关于驱动,只需配置两路PWM和两个IO或四路PWM即可。

/ a' ?2 n( Y* n2 M. `
03
部分代码
初始化和电机驱动部分较简单,不单独展示,本代码只写出基本的跟随,建议读者使用时加入PID闭环以及滤波等。
注意:串口需配置为收发模式

5 r4 N) V1 k* b- \+ L2 `/ w
2.5.png
) x' h: N( n# P' E
2.6.png
. J7 \1 d% L# b. R4 u: _' k
2.7.png
* }/ q: a1 A8 F+ k
2.8.png
文章出处: QUST ROBOT
: s9 ]( o* |  I" W
收藏 评论0 发布时间:2021-4-15 17:17

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版