基于51单片机的WiFi智能小车设计
2022-12-01姜婵
姜婵
(西安职业技术学院,陕西西安,710077)
0 引言
随着人工智能技术的快速发展,已逐渐渗透到人们生活的各个领域,当下人工智能技术广泛应用于各种领域,人们对智能化设备的需求也越来越多。原本很多由人来完成的工作正逐渐被各种智能化设备所代替,我们的工作、生活也变得越来越方便。智能小车也属于人工智能当中的一员,随着无人驾驶技术的推广,智能小车成为近年来被广泛研究的对象。目前,世界上许多国家都在积极进行智能车辆的研究和开发设计,智能车辆已成为环境探测、军事侦察、排除险情以及自动化物流运输等领域的关键设备[1]。智能车辆的主要特点是能够通过传感器感知环境和自身状态,沿着预先设定好的轨迹自主行进,并且在复杂的道路情况下还可以实现自动操控车辆绕开障碍物[2]。智能小车是智能车辆众多研究方向当中的一个分支,是典型的集多种高新技术为一体的综合体。本次设计的智能小车能够实现实时视频采集传输,具有自动循迹避障功能,可实时显示时间、速度、里程,并且可以使用软件系统调控行驶速度,使小车自动保持安全距前行,而且可以使用电脑客户端或手机APP通过WiFi对其进行控制,操作方便。
1 智能小车硬件设计
对于智能小车的整体设计而言,控制系统是设计的重点环节,控制系统优良与否,关系着智能小车的智能化水平。控制系统的设计方案也决定了智能小车的功能以及后续的功能扩展。在保障系统良好运行的前提下,考虑到实验成本等现实情况,本设计采用比较常用且价格低廉的STC89C52单片机作为控制核心,控制各个模块统一协调工作。本系统的可移植性较好,若选用性能更优的芯片作为控制芯片,也能够更好地实现系统功能。其中超声波传感器可以用来检测道路上是否有障碍,通过对小车与障碍物之间距离的测量以实现避障,而红外传感器则可以使小车实现自动循迹。利用L298N模块作为电机驱动模块驱动电机转动,进而使整个车体运动。通过WiFi模块进行无线信号的传递和处理,实现上位机对下位机的无线遥控功。通过电源电路是为整个小车系统供电;路由器输出的3.3V串口电平则通过电平转换电路转换为单片机能识别的高低电平信号;视频信号的实时采集则由摄像头来完成;报警提示功能由蜂鸣器电路完成;小车在夜间行驶时所需要的灯光由照明电路提供。各个子模块之间通过控制系统协调配合,使整个系统可以平稳运行,进而使小车具有较高的自适应能力。本系统的原理框图如图1所示。
1.1 控制模块
STC89C52采用经典的MCS-51内核,是STC公司生产的一种低功耗、高性能微控制器。相对于传统的51单片机,STC89C52做了一定的改进,使得芯片具有传统51单片机不具备的功能。STC89C52作为微控制器,具有性能稳定可靠,执行速度快,易于开发等特点,适宜作为小车的主控制芯片。
1.2 驱动模块
智能小车的运动是依靠电机带动来完成的。直流电机的应用非常广泛,采用单片机与直流电机相互配合而构成的控制系统可以完成对智能小车的控制[3]。单片机根据传感器采集到的路况信息发出控制指令,控制电机的正向转动和反向转动,进而达到控制小车运动方向的目的。本文所描述的智能小车采用双直流电机驱动方式,小车的转动转向由左右两侧的两个直流电机来控制,其中小车左侧的两个车轮的运行由左侧电机来控制,右侧两个车轮的运行则由右侧电机来控制,每个电机都经过变速齿轮与轴相连,从而控制相应一侧前后轮的转动。小车的转向控制可通过调节左右电机转速的不一致来实现。直流电机采用直流电机驱动芯片L298N。L298N是一款单片集成的高电压、高电流的驱动器,可以用来驱动直流电机和步进电机,应用非常广泛,另外,L289N 还具有过温保护和高噪声抑制比,因此对于驱动控制智能小车十分适用。由于L298N芯片无法实现对电机转速的控制,所以驱动电机PWM信号的调整需要通过控制程序来实现,以达到改变电机的输出功率的目的,进而控制左右电机的转速[4]。
1.3 电源模块
电源模块是整个小车系统当中必不可少的一部分,对小车整个系统的性能影响非常大。其作用是为整个小车系统供电,是小车的动力来源[5]。为保障整个小车系统正常运行,需要通过电源模块为系统提供稳定、可靠的电压。电源模块需要分别为控制电路和电机驱动电路供电。因电机驱动所需的电压更高些,设计时考虑到系统供电系统的稳定性,本设计采用双电源,分别给电机驱动系统和单片机控制系统供电[6]。
1.4 WiFi模块
相对于有线网络受地理位置和布线的限制,应用范围较小的缺点而言,WiFi网络具有覆盖范围广,布线成本低,结构简单等特点。而且WiFi信号强度高,不容易被空间环境限制,其安全性和可靠性也比较高。当前WiFi网络作为人们工作生活中的一部分,随处可见,对人们工作生活的影响也越来越大。WiFi模块作为计算机和单片机之间的通信中介,两端都通过WiFi模块进行数据的传输与交换[7]。本系统以电脑或手机作为上位机,小车作为下位机,上位机和下位机同时连接到WiFi模块获取相应的WiFi信号,上位机和作为下位机的小车可获取相同的IP地址,从而实现上位机与下位机的连接,然后使用电脑或手机上的控制软件,以WiFi网络信号为载体发送相关信号,WiFi模块将接收的PC或手机发送的相关信号,分析转换为单片机能够识别的TTL电平信号,然后发送到单片机。单片机再将接收到的电平信号处理后发送到电机驱动模块,实现汽车前进、后退、左右转弯等功能。
1.5 实时视频采集模块
当前,图像采集技术已逐渐成熟,为保证传输视频的清晰程度,本系统采用具有USB接口的高清720p数字化摄像头采集视频图像信息。此摄像头具有画质清晰,开发简单的特点,使用时只需要配置USB驱动即可,很大程度上降低了硬件设计的复杂性。同时利用两个舵机做成一个云台,将摄像头固定在云台上,通过STC89C52单片机控制舵机旋转角度,使摄像头可实现上下、水平方向180度旋转,把我们需要采集的视频图像信息通过摄像头传送到电脑等终端设备,并在其应用软件中显示摄像头采集到的视频图像信号。本系统设有照明电路,可为小车在夜间行驶提供照明,这样也可以方便小车进行夜间图像信息的采集。
1.6 循迹、避障模块[8]
小车采用红外对射式传感器完成循迹功能,此传感器具有非接触检测的特点,且具有高发射功率和高灵敏度的特点。根据红外对射式传感器工作原理可知,红外接收管是否截止,取决于红外发射管的红外线能否被遇到的颜色吸收掉,若被吸收,则红外接收管截止,同时在输出端将得到低电平。而红外接收管是否导通,取决于其发出的红外线能否被遇到的颜色反射,接收管接收到反射信号后,则红外接收管导通,同时输出端得到高电平,通过检测电平变化来得到需要的信号[9]。
避障系统需要考虑环境监测,智能控制等功能,另外,小车在躲避障碍物的过程中,会偏离既定行驶路线,这就需要根据实际情况来调整行驶路线,这还需要避障系统具有路线规划的功能。超声波测量距离是目前比较成熟的一种技术,应用比较广泛。准确度高是超声波传感器的特点,因此采用超声波传感器来完成避障功能。单片机通过指令控制超声波传感器发射超声波,超声波遇到障碍物会被反射回来,单片机利用内部定时器记录超声波从发射到反射回来所需要的时间,通过相应的计算就可以判断出小车与障碍物的距离。超声波传感器的探测范围有限,需要在其探测范围内,才能准确检测出小车与障碍物的距离。当探测到障碍物接近智能小车时,单片机将作出判断,并将相应的信号传递给小车,控制小车做出相应的执行动作,改变运动轨迹,以避免发生碰撞。
2 控制系统软件设计
智能小车的主控系统需要对各模块进行控制,这就需要软件的设计和硬件系统相匹配[10],软件设计也是智能小车设计过程中很重要的一部分,软件编写得好坏直接影响系统的可靠性。为方便后续的系统软件升级,本设计采用模块化编程的方法。主控程序的主要任务是系统初始化,控制各硬件子模块运行,根据接收到的外部指令执行相应的子程序。小车主程序流程图如图2所示。
2.1 循迹模块软件设计
循迹模块的主要作用是让小车沿着既定的路线行进,小车在行进的过程中需要识别地面规划路线的颜色,所以程序编写的过程当中要考虑数据的处理,比如数据的采集和传递等,其软件部分的设计流程如图3所示[11]。
2.2 避障模块软件设计
避障系统的作用是判断障碍物与小车的距离,调整小车的运行轨迹。模块运行后,系统初始化,小车开始行进,超声波传感器判断行进途中是否有障碍物,若有障碍物,小车暂停行进,同时调整前进角度,再判断是否有障碍物,然后确定是继续行进还是继续调整角度。当然,小车在行进的过程当中,障碍物的大小以及小车和障碍物之间的距离远近都会影响小车响应的时间,如图4所示。
3 结论
本设计以实验组装小车为基础,重点是设计智能小车的WiFi控制模块,循迹避障模块以及实时视频采集模块,周围环境的探测采用红外传感器和超声波传感器来完成,同时对采集到的数据信息进行分析综合。并取得以下成果:(1)在无外部环境影响或改变时,小车可以实现按照预定标记路线运动,小车的这个功能可以应用在自动化物流运输环境当中。(2)为提高小车在转弯处的速度,需要对循迹传感器的布局做一定的优化,经反复实验发现,当传感器不在同一直线布局时,安装在小车左右两边以及后面的传感器具有更大的采样空间,而安装在前面的传感器则具有更好的视线,因此,当需要检测多弯道轨迹时,循迹传感器采用M型布局更加合理[12]。(3)小车具有一定的扩展功能。循迹小车在完成预先设计的前提下,为了降低成本,便于后续进一步开发以及功能扩展,保留了相应的程序接口和硬件接口,从设计方面来讲,这样做的要求并不高,没有将车体结构的设计复杂化,同时也没有增加冗余的电路功能。(4)小车能够实时采集图像信息,并且具有可移动的特点,在智能家居应用中,可利用小车随时巡视查看屋内各个位置的情况,避免存在视觉死角的问题。另外,还可以用智能小车远程控制家中的家用电器,室内温度等。当然,小车还需要在夜间环境信息采集的清晰度和避障功能的精确性和灵活度方面再做进一步的研究。