摘要:介绍了一种采用STC89C52、L298N和TCRT5000设计的智能循迹和红外遥控的小车。智能循迹采用红外传感器检测路面信息,传递给单片机自动分析处理,最后控制电机调节小车按预定轨道平稳行驶。红外遥控部分是手动模式,单片机解码遥控器发出的指令,控制电机操纵小车。液晶显示模块使操作更加简单、智能、人性化。实践表明,小车能够准确实现沿黑线轨道平稳行驶和接收遥控器指令。
随着城镇化,轨道交通及智慧城市的深入推进,关于智能汽车的研究也就越来越受到各国政府的关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目。全国各高校也都很重视该领域的研究。智能小车是指可以按照预先设定的模式在一定的环境里自动行驶。它集中地运用了微控制器、传感器信息处理及自动控制等技术。可广泛应用于科学勘探,工业控制和家用电器等领域。
1 硬件电路设计
1.1 整体设计
智能小车的整体结构由光敏传感器模块TCRT5000、微处理器模块STC89C52、红外遥控HX1838、输出驱动模块L298N、液晶1602显示模块及串口下载模块构成如图1所示。
智能循迹部分是基于红外反射式光电传感器的寻迹原理,采用STC89C52单片机为核心控制单元,控制步进电机调节小车按预定轨道平稳行驶。红外遥控部分是手动模式,单片机解码遥控器发出的指令,通过步进电机控制小车行进路线。
1.2 传感器模块设计
TCRT5000传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或反射回来但强度不够大时,光敏三极管一直处于关断状态,比较器负端相当于接地,比较器输出端为高电平,指示二极管被点亮;被检测物体出现在检测范围内时,红外线反射回来且强度足够大,光敏三极管饱和,比较器负端为高电平,比较器输出端为低电平,指示二极管一直处于熄灭状态。传感器模块电路如图2所示。
图2中,采用了4个CTRT5000传感器,运放LM423做比较器处理传感器采集到的路面信息,并传递给单片机。可调电阻RV2可以调节比较器的门限电压,使输出波形可以直接够单片机查询使用。
智能小车传感器的布局方式有多种,这里采用一字型非均匀对称布局。均匀排布型不利于对弯道信息采集的准确性。考虑到弧度信息采集的连贯性,非均匀排布采用等角原则,即在直线垂直上方处某点等角的引射线与直线的交点即传感器的分布点,此种方法检测连贯简单,程序控制算法简单,使小车控制稳定。
1.3 处理器模块设计
微处理器完成对各个模块的管理,实现对外围模块的信号发送,以及对传感器模块的信号采集,并根据软件算法对所采集的信号进行处理,发送信号给步进电机执行模块进行任务执行,还对各种突发事件进行监控和处理,保证整个系统的正常运作。这里采用STC89C52。该单片机是兼容8051内核的低电压。STC89C52是一种低功耗、高性能CMOS8位微控制器。具有8k在系统可编程Flash存储器。在单芯片上拥有灵巧的8位CPU和在系统可编程Flash使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash 512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,如图3所示。
单片机P3.3引脚负责接收红外遥控HX1383指令,选择工作模式(智能循迹模式或手动模式),P1.0~P1.3引脚采集传感器数据,经单片机处理后由P0口输出到液晶屏1602显示。由于P0口内无上拉电阻,需在外面接上拉电阻。P3.4~P3.7引脚传递指令给电机驱动模块,控制小车运行轨迹。
1.4 电机驱动模块设计
为提高系统效率、降低功耗,功放驱动电路采用基于双极型H桥型脉宽调制方式(PWM)的集成电路L298N。L298N是SGS公司的产品,内部包含二个H桥的高电压大电流桥式驱动器,接收标准TTL逻辑电平信号,可驱动46伏、2安培以下的电机,工作温度范围从-25度到130度。EnA和EnB是控制使能端,EnA控制OUT1和OUT2之间电机的停转,由EnB控制OUT3和OUT4之间电机的停转,根据IN3、IN4脚的输入电平情况控制OUT3和OUT4之间电机的转向。表1是其使能引脚,输入引脚和输出引脚之间的逻辑关系。
电机驱动模块电路如图4所示。
在硬件电路的连接上,单片机的P3.7~P3.4引脚分别接到L298N的IN1~IN4上,通过改变P3.7~P3.4引脚上的高低电平以控制小车的行进轨迹,通过改变P3.7~P3.4引脚上的高低电平占空比以控制电机的转速。EnA和EnB接电源,使使能端有效。为保证L298N驱动芯片正常工作,还要在其与直流电机之间加入四对续流二极管用以将电机中反向电动势产生的电流分流到地或电源正极,以免反向电动势对L298N产生损害。电容C0和C7是滤波电容,减少外界干扰,使电机稳定工作。C4和C5是电源退耦电容。
1.5 显示模块和串口模块设计
显示模块由液晶1602承担,与单片机P0口相连。
串联模块采用芯片MAX232,把PC机程序数据下载到单片机中,完成数据转换。
2 软件设计
2.1 功能及算法分析
根据液晶屏显示信息,选择智能循迹模式,还是手动操作模式。若选择智能循迹模式,单片机自动处理传感器传送的路面识别信号,控制小车的行走状态。手动模式由红外遥控器控制。小车系统的软件使用C51编程。
根据传感器的电平信息进行编码,单片机根据编码可将小车运行状态分为3种情况,见表2。控制电机的电平信号由单片机P3口高四位输出到L298N,进行电机驱动控制。
手动模式小车运行状态见表3。
2.2 系统程序设计
系统的程序由延时程序、电机动作控制程序、传感器扫描程序和主程序构成,篇幅限制,需要程序可发邮件。程序流程图如图5所示。
3 结束语
论文采用STC89C52、L298N和TCRT5000实现了智能循迹和红外遥控小车的设计。以红外反射式光电传感器的寻迹原理,采用STC89C52单片机为核心控制单元,控制步进电机调节小车按预定轨道平稳行驶。实践表明,该系统抗干扰能力强,电路结构简单,能够准确实现小车沿给定的黑线快速平稳行驶和手动遥控操作。显示模块的设计,操作更加简单、智能、人性化。