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

2系统需求分析

2.1控制器的需求分析
需要精确检测到小车周围的环境,这就意味会有多个外设加入到系统中来,对于芯片的选型优先考虑高性能、低成本、低功耗的嵌入式处理器。
本设计使用的STM32F103ZET6芯片拥有3个ADC、11个定时器13个通信接口。可以实现快速数据处理,提高系统的运算速度和停车效率。其他处理芯片提供了与STM32单片机串口通信,容易做到两款MCU进行串口通信。
2.2传感器的需求分析
就如人本身的身体感官一样,我们通过感知来得知外界环境,要完成汽车自动驾驶下的自动泊车。小车周身需要安装一些”感官”, 跟随现代传感器精度的提高,本设计需要加入传感模块要能够做到分辨障碍物,感应停车线,停车时的实况,包含了多种等收集环境信息,适配于不同环境条件下进行自动泊车。
需要满足对线条的产生区别,本设计采用的TCRT5000传感器对黑、白色吸收作用不同来产生不同的电信号,红外光电传感器(HJ-IR2)在一定距离中探测到物体会输出低电平HC-SR04超声波测距提供2cm-40cm的非接触式距离感测功能,摄像头模块在车尾可以查看停车时小车后视的环境。
2.3驱动部分需求分析
为了更真实模拟汽车运作状态,本设计采用了四个电机,用开发板上的L298N来驱动,L298N是ST公司生产的一种高电压、大电流电机驱动芯片。基于转向可以通过控制两边差速,开发板上只焊接了两个L298N驱动芯片。
控制部分采用红外遥控来实现对小车的初步控制,红外线遥控是目前使用最广泛的一种通信和遥控手段,从原理上来讲,通用红外遥控的芯片有发射和接收两部分,遥控的键盘就属于发射部分,其中还包括编码调制、LED、红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
还可以通过WIFI模块以串口的方式跟主控板实现通信对小车进行控制,WIFI模块采用标准的IEEE 802.11n、一个USB接口、带有一个10/100Mbps LAN/WAN复用网络接口、一个TTL232串口,支持无线安全功能WAP-PSK/WPA2-PSK加密。
2.4系统可行性分析
本系统属于嵌入式系统,系统由功能模块组成,具有强大的扩展型,每一个独立的模块具有特别的功能,集成到一起组成了自动泊车系统。通过STM32F103ZET6主控芯片处理这两个关键部分的数据,车位检测:两个超声波传感器、五路红外循迹模块,两个红外避障模块、摄像头图像采集;控制系统:WIFI无线传输控制,控制转向算法设计,车速检测模块,电压显示。最后通过模型小车在设计好的环境下进行测试,使之实现对应L2级自动智能泊车。
2.4.1经济可行性分析
系统的设计可以不完全要求在实际汽车上运行,本设计使用小车进行汽车的模拟运作,各类模块的普及也使得价格大大降低,相比于整个汽车的系统集成,这套自动泊车系统只需要几款成本不高的传感器和摄像头,主控芯片STM32系列专为要求高性能、低成本、低功耗的嵌入式应用系统专门设计。
2.4.2技术可行性分析
可以在Windows10上面利用平台Keil uVision5对MCU的C语言开发,自动泊车系统中为主的研究方向是路径规划,而基于路径规划的环境检测技术也为重点。如今传感模块的成熟,使得与MCU的通信变得更加容易,解决了这一技术难点,便可实现自动泊车系统。

3系统设计

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所示。

图3.1 芯片器件功能

3.3.3超声波模块
HC-SR04超声波测距可提供2cm-40cm的非接触式距离感测功能测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。本设计利用超声波传感器来达到对自动泊车中精细调整。小车在进入自动泊车模式后,环境检测部分会通过超声波收集左右部掐障碍物的具体位置,在侧方位泊车中可以利用检测前后车辆的停车距离,倒车入库泊车中可以检测左右车辆的精准距离,实现更完美的泊车路径规划。超声波模块如图3.29所示。

图3.29超声波模块
超声波的工作环境和工作原理:
1、给超声波模块接入电源和地。
2、给脉冲触发引脚(trig)输入一个长为20us的高电平方波
3、输入方波后,模块会自动发射8个40KHz的声波,与此同时回波引脚(echo)端的电平会由0变为1;(此时应该启动定时器计时)
4、当超声波返回被模块接收到时,回波引 脚端的电平会由1变为0;(此时应该停止定时器计数),定时器记下的这个时间即为超声波由发射到返回的总时长。
5、根据声音在空气中的速度为344米/秒,即可计算出所测的距离。
首先MCU先发送至少10us的高电平,触发HC-RS04,模块内部发出信号是传感器自动回应的,我们不用去管它。输出回响信号是我们需要关注的。信号输出的高电平就是超声波发出到重新返回接收所用的时间。本次设计利用TIM3定时器,可以把这段时间记录下来,算出距离,由于波的来回性,最后结果要除于2,因为总时间是发送和接收的时间总和。超声波测距的算法工作如图3.30所示

图3.30超声波计算函数
3.3.4 WIFI视频模块
本设计模拟倒车途中的后视摄像头,将倒车时的情景展示在与上位机的屏幕当中,模拟出更真实的停车环境,实时监控倒车时的情况,并通过WIFI模块,在上位机编写好指定代码传送给小车上的WIFI模块,WIFI模块中的芯片进行解码并发送电信号给MCU进行控制,MCU根据WIFI模块中的信号对小车进行控制。
WIFI模块采用标准的IEEE 802.11n、带有1个10/100Mbps LAN/WAN复用网络接口一个USB接口、一个TTL232串口,无线安全功能支持,WAP-PSK/WPA2-PSK加密。本次的WIFI热点名称为:hjwifi2014。
WIFI中的固件包括着一款芯片,可以同单片机进行串口通信,在上位机发送指令给STM32F103ZET6的串口,单片机根据接收的TTL指令做出控制的电信号。
本设计用Windows10作为上位机对WIFI发送指令,需要用到Microsoft .NET Framework,它是用于Windows的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。
启动PC端软件,可以看到设计好的画面中的操作指令,指令也可以通过软件中修改,来达到不同的控制。软件名称如图3.31所示

图3.31 PC控制软件
软件中的界面基本满足对小车的基本控制,附带有打开摄像头的指令,在设置中也可以按照需求编写新指令发送给主控芯片。操作界面如图3.32所示

图3.32 PC端操作界面
3.4小车成品
本设计将超声波安装在车身中位,红外避障模块安置在车尾的两端,两路循迹模块安置在车尾两端,三路循迹模块则安装在车尾中部。成品的小车如图3.34所示

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

4.系统测试

系统的三大部分:控制部分,传感部分,算法部分。具体需要测试的功能又逐一分布,测试过程由组成到总体进行测试,其中需要了解到系统的总体架构流程图如图4.1所示

图4.1 总体架构流程
优先模拟的周围无障碍物的情形,会通过判断停车线然后根据算法步骤将车停进去车位。经过多次测试,小车多次稳定的停入车位,但若控制者将车驶在与停车位平行的位置,会导致停车缓慢且容易出错,车位可供停车的范围需对小车的位置有限制。运行完侧方位泊车之后小车的位置如图4.3所示。

图4.3 侧方位泊车测试结果
此次测试的环境下为有障碍物的情况下自动泊车,系统开启超声波可以判断障碍物的位置,然后通过红外避障检测两个障碍物之间能够满足停车条件,系统进行自动泊车表现的较为稳定。
倒车入库算法:
此次模拟倒车入库,测试环境如图4.4所示

图4.4 倒车入库泊车环境
由于小车与现实车辆存在差异,倒车入库做法也比现实中容易一些。在测试中,自动泊车系统表现稳定,无障碍物环境下能够顺利停车。
测试结果如图4.5所示

图4.5 倒车入库泊车测试结果
模拟停车环境下的左右侧有车辆进行泊车,超声波配合红外避障模块可以判断是否有足够缝隙进行泊车,系统功能测试稳定。

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1164107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学建模Matlab算法,第二十四章 时间序列模型

时间序列模型:理论、方法与实践探索 在大数据与数字化时代,各类数据以时间为轴不断累积,从经济领域的月度GDP数据、金融市场的实时股价波动,到气象领域的每日气温变化、工业生产中的设备运行参数,这些按时间顺序排列的数据集构成了时间序列的核心载体。时间序列分析作为数…

数学建模Matlab算法,第二十五章 存贮论

存贮论的理论体系与实践应用探析 在现代经济活动与生产运营中,存贮行为始终扮演着不可或缺的角色。小到街边便利店的商品陈列,大到跨国企业的全球供应链库存布局,存贮决策的科学性直接影响着运营效率、成本控制与市场竞争力。存贮论,作为运筹学的重要分支,正是研究存贮系…

【面试题】什么是观察者模式?一般用在什么场景?

一、什么是观察者模式?想象一下微信群聊:你发一条消息(发布事件)群里所有人都收到了通知(观察者被触发)有些人回复,有些人点赞,有些人潜水(不同的反应)这就是…

Linux如何查看线程?

‌Linux线程‌是指在进程内部的一个执行单元,它是进程内部的控制序列,用于描述进程内部的一个执行流,且共享进程的地址空间和资源,那么Linux如何查看线程?提供了多种方法来查看系统中的线程,以下是最常用的方法。1、使…

PMSG永磁同步发电机并网仿真模型研究:基于SVPWM与叶尖速比法的控制策略与性能分析

PMSG永磁同步发电机并网仿真模型 (1)主要包括发电机、整流器、逆变器(双pwm控制)、电网、控制、显示等部分; (2)风机最大功率跟踪mppt采用最佳叶尖速比法; (3&#xff09…

基于PLC的六层电梯控制系统设计

3 基于PLC控制的六层电梯设计总体方案 3.1 电梯的硬件系统组成 在办公楼、小区住宅、大厦等场所,电梯的存在是极为的重要,同时电梯从某些方面也体现出现代的工艺水平。其实电梯的结构就和人体的结构是一样的,它的电器方面就像是人的血管经脉一…

学长亲荐9个AI论文写作软件,助你搞定本科毕业论文!

学长亲荐9个AI论文写作软件,助你搞定本科毕业论文! 论文写作的“救星”来了,AI 工具正在改变你的学习方式 对于许多本科生来说,撰写毕业论文是一场漫长而艰难的旅程。从选题、查找资料到撰写初稿、反复修改,每一个环节…

一体化智慧校园平台 助力校园数字化建设

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

MySQL大事务的Recovery优化

你有没有碰到过mysqld进程启动了很长时间也起不来的情况?这时候我们可以用perf top命令查看一下MySQL进程主要在干什么事情。如果你查看到的信息如下图所示,启动过程中MySQL的主线程(mysqld_main函数开始的线程)绝大多数的时间都花在了回滚事务上。那么很…

智慧校园一站式解决方案 | 创新教育前沿平台

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

智慧校园软件平台:实现校园管理的统一入口与数据融合

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

日常渗透测试怎么玩?通杀漏洞挖掘的实现方法看这里

如何在日常渗透中实现通杀漏洞挖掘? 你是不是天天遇到了edu刷屏? 看到了某些漏洞平台,某些人交了一千个公益漏洞? 是不是觉得很牛逼?其实不然,都不难,其实如果我要是想刷这玩意,可…

基于CODESYS开发的多轴运动控制程序框架将逻辑和运动控制分开,通过封装单轴控制功能块来操作...

基于CODESYS开发的多轴运动控制程序框架将逻辑和运动控制分开,通过封装单轴控制功能块来操作该功能块,包括归零、点动、相对定位、绝对定位、设置当前位置、伺服模式切换等功能。程序框架由主程序按照状态调用,包括归零模式、手动模式、自动模…

瀚高数据库中 java代码类型与bit对应

文章目录环境症状问题原因解决方案环境 系统平台:Microsoft Windows (64-bit) 10 版本:4.7.6 症状 问题原因 MySQL中bit类型迁移至瀚高数据库bit类型,然后程序中适配报Booleanbit错误,java类型与数据库对应关系如下 标准SQL数…

可靠性测试

我们认为软件可靠性始终是重要的,但它对于任务关键型、安全关键型和高使用率系统是必不可少的。如您所料,可靠性测试可用于降低可靠性问题的风险。可靠性故障背后的常见问题包括内存泄漏、磁盘碎片和耗尽、间歇性基础设施问题以及超时值低于可行值。 可…

用Spring的ApplicationEventPublisher进行事件发布和监听

概述 有时候,我们只是想发布一些本地的事件,并不需要引入MQ的,可以直接使用Spring的ApplicationEventPublisher来完成简单事件的发布和监听的。 比如像下面的场景,ApplicationEventPublisher就够用了。 模块间的逻辑解耦&#…

nacos服务安装并启动

nacos服务安装并启动1、介绍2、下载nacos3、下载jdk4、修改配置文件5、修改启动程序文件6、启动nacos服务1、介绍 Nacos是一款集服务发现、配置管理与服务管理于一体的云原生平台,旨在帮助开发者更敏捷地构建和管理微服务架构。 2、下载nacos 下载地址&#xff1…

方法类的倒推过程结束 七

完全同意,而且这是让“方法体系”不发散的关键约束:方法里的所有东西都只能引用你世界树里已经存在的节点类型与载体,不允许发明一套“方法专用数据结构宇宙”。 下面我把“条件是什么、动作是什么、结果是什么”用你现有的对象(存在/场景/特征类型/特征值节点等)重新落一…

PaperNex领衔9款AI论文工具实操指南:半天3万字+真实参考文献

前言:为什么你需要这篇AI论文工具实操指南 面对毕业论文、课题申报、期刊投稿,大学生、研究生、科研人员常陷入时间紧、资料杂、写作难的三重困境。AI写作工具的出现,正在把“写作门槛”降到地板级——但要挑对工具、用对方法,才…

人工智能之数字生命-场景类的功能

场景是世界树的“空间承载体”。存在和特征像贴在场景上的标签,而场景本身负责把空间织成一张可走、可查、可拼接的地图。 我按你这段描述,把“场景类应该关心的三类关系”梳理成一个很稳定的结构:内关系、横关系、上关系。对应世界树里也自然形成“场景占多数层”的形态。…