问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于STM32的智能小车设计:避障、循迹与蓝牙遥控

创作时间:
作者:
@小白创作中心

基于STM32的智能小车设计:避障、循迹与蓝牙遥控

引用
CSDN
1.
https://blog.csdn.net/2301_78758161/article/details/139900914

本文详细介绍了基于STM32的智能小车设计,包括避障、循迹和蓝牙遥控功能。文章从需求分析开始,逐步深入到硬件选型、电路设计和软件编程,最后通过测试验证了设计的可行性。

一、设计主要解决的问题

  1. 实现2m的自动直线行驶,要求左右偏移不大于10cm。
  2. 车载显示屏显示车辆当前行驶速度或车辆运行时间,当前方20cm内出现障碍物时显示与前方障碍物的距离,车每次转弯蜂鸣器报警,同时通过左右指示灯指示转弯方向。
  3. 依次驶过障碍物①②③④,且不触碰障碍物。
  4. 成功进行调头转弯,行驶过程中车轮不碾压黑实线。
  5. 在车道指定位置停车且不越界。
  6. 通过红外、蓝牙、WiFi等任意一种方式实现对小车的控制,使其前进、后退、左转、右转。

二、赛道图

1. 避障赛道

2. 循迹赛道

三、系统框图

选用STM32F103C8T6作为主控处理器,通过超声波模块检测障碍物,光电管辅助避障,采用红外对管进行循迹,小车每次转向都会触发LED转向指示灯和蜂鸣器报警,按键用于切换小车模式,蓝牙模块用于无线遥控,OLED显示超声波测量距离和实时时钟。

四、硬件选型

1. 主控处理器

选用STM32F103C8T6最小系统板:

2. 超声波模块

选用HC-SR04超声波模块,供电5V:

3. 光电管

选用E18-D80NK光电管,供电5V,感应距离3-80cm:

4. 循迹模块

选用TCRT5000红外对管,供电3.3-5V,检测距离1mm-25mm:

5. 显示模块

选用0.96寸OLED,四针脚IIC协议,供电3.3V:

6. 蜂鸣器模块

选用有源蜂鸣器,供电3.3-5V:

7. 蓝牙模块

选用HC-05蓝牙模块,USB转TTL(用于蓝牙AT指令操作):

8. 电机驱动模块

选用tb6612电机驱动模块,供电12V:

9. 电机选型

选用尺寸小、适合小型玩具、入门级智能小车的电机。

10. 其他辅助器件

包括LED灯珠、按键、限流电阻等。

五、供电方案

  • 12V:电机驱动VM脚,ADC的R1输入端。
  • 5V:超声波模块、光电管、蓝牙模块、STM32最小系统板5V输入脚。
  • 3.3V:OLED、红外对管、LED。

六、PCB设计与小车组装

采用b站up:好家伙VCC 的智能循迹小车V1.5版本PCB,光电管和LED通过拓展排针和面包板外接。

1. PCB原理图

2. PCB走线图

3. PCB实物图

4. 小车实物图

七、软件底层设计

1. LED初始化

用于转向灯与蜂鸣器,二者总是同时进行的,所以封装到一个函数里。

2. 按键初始化

采用外部中断法,能够及时响应,切换模式。

3. OLED初始化

用于显示内容,采用软件IIC。

4. 超声波模块初始化

超声波有定时器中断法、外部中断法、输入捕获法等多种方法,这里使用输入捕获法。

5. 红外对管与光电管初始化

用于读取红外对管与光电管电平,光电管是5V供电,要把他连接到32能承受5V的引脚(引脚定义中带FT标识)。

6. PWM初始化

采用高级定时器1输出普通pwm,用于调节电机转速。

7. 小车动作初始化

用于封装小车各种动作函数,方便调用,其他动作读者可自行设置,修改speed里的数值可改变速度。

8. 串口初始化

用于蓝牙遥控。

9. ADC初始化

用于测量电池电量。

10. RTC初始化

用时间戳获取实时时间。

八、程序设计

1. 避障思路

避障程序有多种设计方法,这里提供一种思路:

2. 循迹程序设计

循迹主要有两个难点,1、2两个急转弯和3入库,利用红外对管3、4同时检测到时进行快速左转,速度要比普通转弯快,实际使用时可能要把4扳到离3近一些,检测到的可能性会有所提高。由于四个光电管同时检测到的概率较小,所以利用2、3同时检测到时进行入库停车操作。

3. 跟随程序设计

主要实现一个定距离跟随功能,离得太近小车后退,离得太远小车前进,这里只写了直线跟随,可以利用光电管实现非直线跟随。

4. 蓝牙遥控程序设计

实现蓝牙发送数据,小车实现对应功能。

九、程序源码

链接:https://pan.baidu.com/s/1-IG5TbmaLH36aXVDPOdxHQ?pwd=s2rn
提取码:s2rn

十、测试

1. 避障测试

2. 循迹测试

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号