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 倒车入库泊车测试结果
模拟停车环境下的左右侧有车辆进行泊车,超声波配合红外避障模块可以判断是否有足够缝隙进行泊车,系统功能测试稳定。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。