基于STM32的自动泊车系统的设计与实现

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式

文章目录

    • 概要
  • 一、本设计研究的内容和主要工作
  • 二、系统设计
    • 3.1主板设计
    • 3.1.1芯片选择
  • 三、实物展示
  • 四、结论
  • 五、 文章目录

概要

  该自动泊车系统利用红外光感HJ-IR2传感器、超声波HC-SR04模块、循迹TCRT5000模块、标准的IEEE 802.11nd的WIFI模块组成进行环境检测,实现了障碍物识别,并将采集到的数据传送到处理器,处理器将数据转换为电信号驱动小车的控制L298N驱动模块,这些模块在Keil uVsion5编译环境下整合到一起,在路径规划下对小车进行速度控制和转向控制。
  系统根据停车位识别在模拟停车环境下控制小车进行入库操作,满足了在不同的停车环境下进行智能化自动泊车,此系统属于嵌入式系统兼容于多数汽车实现侧方位泊车和倒车入库并自行细微调整,实现更稳定的入库停车。

关键词:STM32; 线条识别; 自动泊车; 车辆控制;

一、本设计研究的内容和主要工作

而影响自动泊车的关键技术有两部分:停车位检测和车辆控制系统。泊车对停车位检测做的越精确,我们对车辆所在的环境下的控制效果就更好,而控制转向系统主要是速度和方向的算法设计。现状自动泊车系统属于汽车中的超前配置,所以在前期技术开发模拟下,可使用模型小车进行测试完善。

系统设计主要分为两部分:
(1)速度转向控制的算法控制和路径规划的数据收集:
速度转向控制主体为:驱动设计、电机控制、红外遥控设计、WIFI视频显示,这一部分提供了模拟汽车行驶的一些基本条件,最后利用本系统的处理将相关的控制信号通过通用输入/输入口发动给个执行器来达到速度转向控制车辆进行泊车动作。
路径规划主体为环境检测模块:循迹模块、红外避障模块、超声波模块。利用传感器收集的数据确定小车的实时行驶轨迹,以及车位四周的环境信息,这是本设计主要的难点也是主要的研究方向
(2)模块测试与环境搭建,最终目的功能测试:
逐一模块的进行测试环境搭建,并设计出模拟各类停车的停车环境,将所有的传感器熟悉掌握,最终集成,根据泊车的不同方式,设计算法搭建出最终的路径规划实现自动泊车。
在汽车智能化技术下,国内泊车系统的稳定性和安全性方面还稍有不足,但在场景识别率和自动化程度等方面甚至已经实现了弯道超车,可以看出国内厂商技术创新和装车速度是首屈一指的。反观国外厂商选择更加稳健的路线,他们放缓了功能迭代速度,但从结果看,流畅度还是可靠性都要比国内更胜一筹。
本设计致力于帮助驾驶员解决停车效率、实现停车规范、降低泊车操作、提高驾驶员的舒适度,也为国家拥挤的大城市城市停车设施建设提供了更好的条件。

二、系统设计

3.1主板设计

3.1.1芯片选择

意法半导体公司中的STM32系列芯片:
增强型的32位ARM微控制器STM32F103ZET6的配置参数如下:
内核: ARM® Cortex™-M3 32位的RISC
工作频率: 72MHz
高速存储器:高达512K字节的闪存和64K字节的SRAM
STM32F103ZET6的正常工作参数如下:
温度范围:-40°C - +105°C
供电电压:2.0V - 3.6V
丰富的增强I/O端口和联接到两条APB总线的外设,一系列的省电模式保证低功耗应用的要求,完美支持了多种传感器数据以高速率传送给主控,STM32F103ZET6 器件功能和配置如图2.1所示。
基于STM32的自动泊车系统的设计与实现_第1张图片

图3.1 芯片器件功能
STM32F103ZET6高密度性能线系列提供六种不同的器件根据所选设备的不同,
包含了从64引脚到144引脚。包括外围设备,可在72 MHz频率的高速嵌入式存储器(最大512 KB的闪存和SRAM(最大64 KB),以及广泛的增强型I / O和外设连接到两个APB总线。所有器件均提供三个12位ADC,四个通用16位ADC。四个通用16位定时器加上两个PWM定时器,以及标准和高级通信接口:最多两个I2C,三个SPI,两个I2S,一个SDIO,五个USART,一个USB。
基于STM32的自动泊车系统的设计与实现_第2张图片

图3.2 芯片系统架构
包含着五个驱动单元: ARM® Cortex™-M3 32内核DCode总线(D-bus),和系统总线(S-bus)通用DMA1和DMA2,以太网DMA。三个被动单元:内部SRAM,内部闪存存储器,AHB到APB的桥(AHB2APBx),它连接着所有的APB设备。两个AHB/APB桥在AHB和2个APB总线间提供同步连接。 APB1操作速度限于36MHz, APB2操作于全速(最高72MHz)
在时钟树的配置上,所有外设加入后的时钟配置根据功能模块所在的桥上进行配置,在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟。
本设计将超声波安装在车身中位,红外避障模块安置在车尾的两端,两路循迹模块安置在车尾两端,三路循迹模块则安装在车尾中部。成品的小车如图3.34所示
基于STM32的自动泊车系统的设计与实现_第3张图片

图3.34小车车尾

三、实物展示

摄像头则安装在车尾处,可以观察倒车时后视的环境,也适用于作为图像处理的后续功能推进,WIFI模块在开发板的下方,不影响信号的前提下也得到了合理的空间放置。
各个模块在本系统辅助的功能都不相同,但又息息相关。
避障模块可以检测前方是否有障碍物,超声波模块可以根据障碍物的距离进行车辆调整,循迹模块根据停车线的位置来对小车的路径规划,由图3.35所示
基于STM32的自动泊车系统的设计与实现_第4张图片

图3.35 小车功能模块分布图

四、结论

  本系统还缺乏着自动识别的车位的功能,后续追加中如果车位建设能够达到一定条件,并在外设中增加定位的信息,可以实现小车不用认为驾驶到车位的旁边便可以进行自动泊车操作。
在未来城市化停车建设中,停车场的建设及雷达技术更加的普及,实现车位定位的遍布行有所期望,如何让车辆在各种模式下能够进行自动泊车是自动驾驶技术的一大研究方向。在本设计已经拥有的检测条件下,增加其他更为精确的检测模块和对小车规划更为精准的控制,实现完全自动泊车不无可能。

五、 文章目录

目 录

1系统概论 1
1.1项目意义 1
1.2研究内容 1
1.3论文结构 2
2系统需求分析 3
2.1控制器的需求分析 3
2.2传感器的需求分析 3
2.3驱动部分需求分析 3
2.4系统可行性分析 3
2.4.1经济可行性分析 4
2.4.2技术可行性分析 4
3系统设计 5
3.1主板设计 5
3.1.1芯片选择 5
3.1.2集成开发板 6
3.1.3开发环境 8
3.2驱动设计 10
3.2.1电机驱动 10
3.2.2红外遥控设计 14
3.3传感器设计 18
3.3.1循迹模块 18
3.3.2红外避障模块 20
3.3.3超声波模块 22
3.3.4 WIFI视频模块 23
3.4小车成品 26
3.5泊车算法设计和环境搭建 27
3.5.1侧方位泊车 27
3.5.2倒车入库 32
4.系统测试 38
5.总结与展望 42
谢 辞 43

你可能感兴趣的:(单片机,stm32,嵌入式硬件,单片机)