基于单片机的智能车控制系统研究
2024-03-01苏倩吴连波许孔孔戴昊斌张燕
苏倩, 吴连波, 许孔孔, 戴昊斌, 张燕
(西安航天动力测控技术研究所,西安 710025)
0 引言
智能车作为轮式移动机器人,对环境具有很强的感知力,可以发挥动态决策与规划作用,具备智能控制、执行等功能。当前智能车在发展中主要应用自动控制、模式识别、传感器技术、电子、计算机以及机械等技术,在我国工业生产、国防安全、导盲车辆等方面都有广泛应用,具有较高的军用价值和民用价值。控制系统作为智能车研发中的重要内容,通过单片机能够实现对智能车的有效控制,确保智能车具备智能化调速等功能。
1 基于单片机的智能车控制系统运行原理
本研究的智能车控制系统的核心处理器由52个单片机构成,与循迹传感器、障碍感测器以及无线收发模块连接,可以向单片机输送信号。信号进入单片机以后,在提前设计的程序下进行识别和处理,实现对电机电压各项参数的控制,如正负和大小等。通过上述过程,电机的转动方向、转速等能够按照规定要求运行,最终驱动智能车实现前进、后退及转向等功能。利用编程的方式,使单机片具备对来自不同传感器的信号进行直接处理的能力,具体处理方法提前设置与确定。研究中为了完成对智能车的远距离无线控制,设计了2片单片机和2个无线收发模块,一组可以作为遥控器,具备发送操控指令的功能;另一组在智能车上安装,主要用于接收各种操控指令,达到有效操控智能车的目的。设置循迹传感器和障碍感测器后,可以检测智能车轨迹及遇到的障碍,从而具备自动循迹、避障等功能。信号传输至单片机以后直接完成识别,从而确保智能车可以正常实现上述两种功能。
2 基于单片机的智能车控制系统设计
2.1 系统总体设计方案
图1所示为系统总体框图。系统主要由电源、电机、无线接收、避障以及单片机主控等模块构成。其中电源模块采用线性稳压电源。红外传感器电路也不复杂,且有较高的灵敏度,检测与调节都非常简单,选择红外避障的方式实现自动避障功能。通过达林顿管形成H型PWM电路,可以发挥调速功能,并利用无线接收器传输数字信号。单片机为内存8 K的STC89C52单片机,设计4个驱动轮智能车,确保其可以达到走直线的效果。
图1 系统设计框图
2.2 系统硬件电路设计
2.2.1 驱动模块
智能车两边各安装1个驱动电机,同时设置1个后万向轮,形成3点结构,让智能车可以保持稳定行驶。在电机上主要设计直流电机驱动模式,并通过减速齿轮让智能车以规定的减速比实现减速,这样才能作为智能车的驱动电机。否则智能车速度较快,也不能对传输至单片机的信号进行识别与处理,最终智能车的移动无法处于控制中。智能车运动方向主要采用改变电机转速、转向等方法,为了更好地控制电机,需要设置一个L298N驱动模块。电机主要通过H桥电路提供动力来源,电机驱动芯片为L298N,各条输出线总共包括两个二极管IN4007,可以避免芯片受到干扰。
2.2.2 无线模块
根据频率覆盖与模块收发距离,主要采用NRF24L01,让单片无线收发器芯片工作频段保持在2.4 GHz~2.5 GHz之间。这样不仅可以提高速率,保证性能更加稳定,还能减少成本投入,且体积也得到了控制。
2.2.3 自主避障模块
在电路设计中选择的光电管带有滤光片,光电开关在工作时主要结合待测物体受到光束后进行反射、遮挡等现象,利用同步回路选通电路,能够保证最终检测的准确性与有效性,任何可以对光线进行反射的物体都处于检测范围[2]。发射器可以对光电开关输入电流进行适当转换,并射出光信号,接收器结合光线强度等情况检测目标物体。
2.2.4 电源模块
系统所有器件通过电源电路分配电压,在电源输入时主要提供或转换5 V、3.3 V电压,单片机、驱动模块以及避障模块主要获取5 V电压,而无线模块则获取3.3 V电压。图2为电源电压分布图。
图2 电源电压分布图
2.2.5 实时监控系统
要想准确及时掌握智能车运动情况,需要根据其反馈信息形成完善的监控系统[3]。为保证和提升系统的实时性,选择STM32103C8单片机对反馈信息发送予以控制,工作频率甚至可达72 MHz。该系统主控芯片主要为STM3210C8芯片,以有效、及时处理智能车反馈信息。图3为监控系统硬件主要构成部分。
图3 监控系统硬件主要构成部分
2.3 电路模拟与仿真
完成电路设计后要进行验证,无线接收、电机驱动等模拟仿真主要通过Proteus软件完成。根据指示灯情况判断电机工作状态,并借助示波器观察加速、减速按键的PWM调速波形占空比,从而保证模拟判断的准确度。第一种情况:未按下“加速”、“减速”按键条件下利用示波器对L298N使能端进行观察;第二种情况:在启动“加速”按钮条件下利用示波器对L298N使能端进行观察;第三种情况:启动“减速”按钮条件下利用示波器对L298N使能端进行观察。最终结果反映出第一种情况比第二种情况占空比小,得出加速功能模拟成功,同时第三种情况比第二种情况占空比小,得出减速功能模块模拟成功。从模拟电路仿真结果可知,系统电路设计比较科学。
2.4 系统软件设计
NRF24L01设计为SPI通信,利用软件模拟SPI接口,能够为单片机与无线模块通信提供支持。将单片机中断引脚与IRQ引脚连接,防止出现多个if语句对有无获取数据造成的延时进行判断[4],以保证最终性能符合设计要求,智能车始终处于实时控制状态。系统通过PWM调速,利用软件模拟手段形成PWM信号调节车速。改变PWM占空比达到调节车速的目的,模拟软件主要用到单片机中的定时器。图4为程序流程图。
图4 程序流程图
3 基于单片机的智能车控制系统调试
3.1 智能车系统调试
3.1.1 示波器调试
第一种情况:将遥控器电源开关按下,与无线接收模块电源未接通,观察无线遥控器IRQ引脚,得出波形图a;第二种情况:接通无线接收模块电源,观察接收模块IRQ引脚波形图,波形图为b;第三种:将无线发射与接收模块都接通,将遥控器按键按下,无线发射与接收的IRQ波形为c和d。对比分析a与c,其中c形成了一个5 ms低电平,可见已接收到自应答信号,表明成功发射了数据。对比分析b与d,无线接收模块IRQ引脚构成100 ms低电平,表明顺利接收了数据。
3.1.2 LED调试
根据LED指示灯工作状态,能够判断数据接收状况。为准确判断接收数据是否正确,采用如表1所示的接收数据与LED运行对比情况。判断接收数据是否正确,主要检验的按键有前进、后退、停止、左转以及右转[4]。打开电源开关,将遥控器按键按下后检查智能车指示灯,分析与遥控器按键有无出入,只有在相同的情况才表明接收数据正常,没出现丢包的问题。
表1 接收数据与LED运行对比情况
3.1.3 实时监控系统
按下前进、后退和停止按键,出现障碍物后观察监控系统的显示器输出情况。根据智能车反馈信息验证系统稳定性能,智能车可以有效执行遥控器的各项控制命令[5]。系统不仅稳定性较好,也能满足实时性要求。
3.2 联合调试
设计科学合理的联合调试方案,主要分为三个点完成整个系统的验证,即发射与接收数据、执行命令和反馈信息的正确性。联合调试系统构成部分包括LED指示灯、遥控器、液晶显示器和智能车。对LED指示灯来说,主要根据其工作状态判断是否正常接收数据,同时结合智能车运行情况分析指令执行情况,根据监控显示器对智能车反馈信息的正确性进行判断[6]。结合实验情况可知,发射与接收数据正常、执行指令与反馈信息正常,整个系统运行处于良好状态,智能车在遥控器控制下能顺利完成各项动作。
4 结语
设计的智能车控制系统核心是STC89C52,通过对资源的充分利用达到了智能车无线控制的目标。因为其工作速率比较慢,为提高实时性采用了一定方法。在对智能车运动状态检测过程中,通过构建基于STM32的智能车反馈系统,能够实时监测其运动状态。在测试后得出智能车所有功能都能顺利实现,稳定性与可靠性有保障,基本上达到了预期目标,应用前景也非常广阔。