APP下载

基于STM32 的巡航无人车的设计

2022-06-15张曼玉胡晓霞

电子设计工程 2022年11期
关键词:流程图小车超声波

李 博,张曼玉,胡晓霞,吴 超

(西安工商学院,陕西西安 710200)

随着中国科技的迅速发展,智能车也随之进入中国,并迅速占领市场。甚至智能车的迅速发展淘汰了之前的旧式智能车,伴随着科技的成熟,智能车的技术也发展较快[1-2]。智能无人巡航车不仅为交通出行带来方便,也降低了许多交通事故[3-5]。无人驾驶智能汽车旨在将定位与导航、环境感知、智能决策、控制工程等多个学科的前沿技术应用到传统汽车上,从而提高车辆的智能化程度[6-10]。在无人驾驶汽车的多项单元技术中,车辆运动控制技术是实现车辆稳定可靠自主驾驶的基础,并且未知路况下的速度控制和轨迹跟踪一直是研究的重点和热点[11-12]。

1 系统设计方案

选择STM32 作为智能无人车的主控制器,驱动DC 引擎从而使无人巡航车是运动行驶的状态,并用小车传感器开始收集智能车周围的环境信息[13-14]。而智能车根据收到的命令进行下一步运动,至此实现了智能巡航无人车的智能控制[5]。

硬件模块包括电源模块、传感器模块,增量式速度检测模块、电机舵机驱动模块、键盘及无线调试模块、MCU 最小系统模块等,分别实现不同的信号输入和输出等功能。这些硬件部分构成小车的实体。

文中的无人车需实现以下控制功能:

1)电动机功能。包括无人车前进、后退、向左转和右转,以及速度控制等。

2)避障功能。避障功能可以有效避开所遇障碍物。硬件总体设计框图如图1 所示。

图1 硬件总体设计框图

2 系统硬件设计

2.1 单片机最小系统

STM32最小系统需要有电源、晶体振荡器、JTAG、串行端口和复位电路等模块[15-16]。电源模块提供稳定的电源电压,以确保正确的操作和时序,该模块是否运作良好对整个管理系统的最终性能都非常重要。根据以往的实际经验来说,该设计采用12 V 锂电池供电,但是,系统是由多个模块组成的,况且每一个模块所需要的额定电压值是不一样的,所以,必须通过一系列降压技术,将12 V 电压转转换为可以供给每一个模块的额定电压值。电源模块供电电路如图2 所示。

图2 电源模块供电电路

晶振是完整电路体系设计的一个重要参考,整体设计系统中所有的性能、功能以及参数都在该电路上传输[17]。由于晶体振荡器的特性,如果设计不当,会影响到其他工作电路,如有AD 转换功能干扰的电路,最差的情况就是晶振体不起任何作用,并且全部电路体系都无法正常的工作。因此,该电路设计就需要将PD0、PD1、PC14 和PC15 用于访问晶体振荡器电路,并且将其布置在最靠近CPU 的区域中,以确保最短的布线和最安全的信号传输。晶振电路如图3 所示。

图3 晶振电路

2.2 超声波模块设计

超声波测距模块是用来测量小车距碍物的距离,通过发射和接收超声波,利用超声波在空中的传播的速度以及所用的时间差来计算,小车距障碍物的距离为速度乘以时间的一半[9-11]。超声波电路如图4 所示。

图4 超声波电路

2.3 电机驱动模块设计

由于普通直流电动机的速度非常快且转矩很小,因此不适合智能汽车应用。变速箱应安装在普通直流电动机上,以降低转速并增加扭矩,在智能汽车的应用中,应用最多的驱动芯片就是意法半导体L298N 和L293D。比较可知,L298N 有很大的工作电流和很强大的驱动工作能力,所以采用L298N 电机驱动芯片,如图5 所示。

图5 L298N驱动电路

3 系统的软件设计

系统开始工作时,先要初始化,随后按下开关启动STM32 智能车,在开关处加入防抖动的程序,防止按键抖动,然后在小车启动中,电机控制的L298N、超声波以及循迹被启动,并且需要循迹检测是否有黑线,如果没有检测到黑线,小车则处于停止等待状态,若检测到黑线,小车就沿着黑线高速行驶。在该过程中若小车偏离轨迹,可停车等待或者等待重新检测黑线的位置后,再继续进行循迹。主程序流程图如图6 所示。

图6 主程序流程图

3.1 超声波模块软件设计

超声波方向性强、传输快,在基质中的传输距离较大。在发射超声波时,空气中的超声波在接触到阻碍它前进的物体时,超声波接收器就会接收到的传回的信息,反射波立即停止所有的计时。可以根据秒表记录的时间t计算出发射点与障碍物之间的距离s,即s=340t/2。这种方法被称为时差测量法。通过超声波确定距离的原理是根据两次发射之间的时间差,通过测量声波被反射的时间来计算发射点与障碍物之间的实际距离。超声波软件流程图如图7 所示。

图7 超声波采集流程图

3.2 电机驱动软件设计

电机驱动模块通过PWM 的调节来控制电机的运转。

PWM 控制原理:PWM 网络宽度的调制特征在于通过改变脉冲宽度来控制输出电压,并通过改变周期性来控制输出频率。可以通过改变脉冲调制周期来获得输出频率的变化。这样,两个电压和频率调节功能是相干的,并且独立于中间DC 连接,这样可以加快调节速度并改善动态特性。由于恒定功率脉冲只需要恒定的直流电源,因此可以用电抗线圈代替,大大增加了网络的功率因数。PWM 逆变器可以抑制或消除低电平谐波。由于自导式设备的组合使用,开关频率将显着增加,并且输出波形会非常接近正弦波。电机驱动软件流程图如8 所示。

图8 电机驱动软件流程图

4 实验测试

4.1 测试仪器与方法

测试仪器:秒表、数字万用表、信号发生器、示波器、直流稳压电源等。

测试方法:数字万用表主要是用来测试单独元件之间的电阻、压降、漏电流以及截止或导通状态等参数,信号发生器与示波器用于测试PWM 波是否正常,从而判断PWM,控制电机的转速;直流稳压电源在测试期间为各种待测系统提供电源;秒表用于小车超声波的测试中,测量信号从发射到小车作出反应的时间。

4.2 测试结果分析

从小车的测试结来看,小车系统测试的距离与人工测试的距离(s=340t/2)误差在允许的范围内是基本相等的。从整体结果看来,各模块正常运行,且小车运行平稳,达到了设计的要求。

5 结束语

对所设计的电路进行多次测量、校准发现,通常超声波测距最大距离为10 m,小车规定在距离前方障碍物20 cm 以内作出正确的转向判断,测试时发现误差在4 cm 时才作出反应,经过多次测量最终发现,测量盲区小于0.1 m。而且测量时超声波测距仪有角度问题,使得测量有误差,周围没有其他可反射超声波的物体,且由于发射功率有限,测距仪无法测量1 m外的物体。

根据上述结果可知,文中设计的智能巡航无人车可以实现简单的循迹与避开障碍物的功能,达到了设计要求,所以日常生活中这种智能车可以有效地增加汽车的安全行驶,使汽车智能化。

猜你喜欢

流程图小车超声波
云的识别指南
大车拉小车
自制小车来比赛
一种程序源代码的标准化流程图转化方法∗
刘老师想开小车
蝙蝠的超声波
基于Niosll高精度超声波流量计的研究
两轮自平衡小车的设计与实现
蝙蝠的超声波
超声波流量计的研究