基于STC89C52RC的多功能电动玩具小车设计

时间:2022-09-07 07:04:15

基于STC89C52RC的多功能电动玩具小车设计

摘要:本文介绍了一种采用STC89C52RC单片机、L298N电机驱动模块、ST178P红外光电传感器、SM0038一体化红外接收头、HC-SR04超声波模块和12864液晶显示等模块设计的多功能电动玩具小车。手动遥控时,玩具小车利用SM0038一体化红外接收头接收红外线遥控器的指令控制,具有四向行驶、多档调速、刹停防抱死、S型运动等功能;自动循迹时,玩具小车利用六路ST178P红外光电传感器和HC-SR04超声波模块检测路况信息,传递给STC89CA2RC单片机自动处理,通过输出PWM信号和命令指令控制L298N电机驱动模块使玩具小车按预定轨道平稳、快速行驶并具避障功能。同时使用12864液晶显示模块,使操作更加简单和人性化。实验表明,该玩具小车能够克服市场上玩具小车的成本较高、刹车不安全等缺陷,且具有更多的功能。本设计已推广至工业领域的智能无人车辆的运动系统研究。

关键词:多功能小车;SM0038;多档调速;刹停防抱死;ST178P

中图分类号;TP368 文献标识码:A 文章编号:1009-3044(2017)07-0158-04

随着科技的发展和人们生活水平的不断提高,高科技电子玩具越来越受欢迎,其中又以电动玩具小车广为人们的喜爱。目前,市场上多数的玩具小车大多无法自动避障,且功能单一。遥控小车在室内光滑地面高速行驶,紧急刹停的时候会出现车轮抱死,导致玩具小车撞上障碍物并损坏玩具小车的情况发生。因此,本文研究电动小车控制技术,创新性地设计出功能多样,操控性能良好的电动玩具小车。此外,开展了防抱死制动在电动玩具小车上的应用研究,以解决遥控电动玩具小车运行的不安全等问题。

1系统整体设计

本文基于单片机技术的应用背景,采用模块化的设计,方便电动玩具小车的组装与调试,也便于日后电动玩具小车的硬件升级以及实际应用。未来,可依据产品的定位选择合适的模块,以取得良好的经济效益。为实现小车的低成本、多功能特性,该系统由STC89C52RC单片机主控制器、红外光电传感器循迹模块、红外遥控模块、光电开关测速模块、超声波避障模块、电机驱动模块、12864液晶显示模块和相应电源模块等组成。多功能电动玩具小车整体设计如图1所示。

多功能电动玩具小车通过12864液晶显示模块提示用户使用各种功能。用带有自锁功能的按键进行手动遥控模式和自动循迹模式切换。

当玩具小车处于手动遥控模式时,用户通过操纵红外遥控器发出控制命令,一体化红外接收头模块接收命令信号,并经STC89C52RC单片机主控制器解码出控制命令。控制器结合超声波传感器和测速光电开关所提供的路况、车况信息,综合分析运算,给电机驱动模块和蜂鸣器报警模块发出相应控制命令,使得直流电机和蜂鸣器做出相应的动作。

当玩具小车处于自动循迹模式时,由六路红外光电传感器所采集的路面信息会更加准确。采用自动循迹算法运算采集的信息可以使得玩具小车循迹时更加平稳、快速。同时,结合超声波传感器反馈的路况信息,能够进行避障。

2硬件设计

2.1主控制器设计

主控制器负责各个模块的管理,并根据设计的软件算法对采集的信号进行处理,控制执行机构的动作。本文选用STC89C52RC单片机作为主控制器,该单片机兼容8051内核的低电压。STC89C52RC单片机是一种低成本、低功耗、高性能的微控制器,广泛应用于嵌入式控制系统,其内部包括:8k字节的Flash、S12字节的RAM,32位I/O端口,看门狗定时器,内置4KB的EEPROM,MAXS10复位电路,3个16位的定时器/计数器,全双工串行口。该控制器还支持ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器。下图2是单片机的最小系统。如表1所示为单片机部分I/O端口分配表。

2.2红外光电传感器循迹模块设计

红外光电传感器循迹模块利用黑线检测原理,即红外发射管发射红外光到路面,红外光遇到白底则发生反射,接收管接收到反射光并出信号,信号经反相斯密特触发器74HC14整形后输出低电平;当红外光遇到黑线时,光线被吸收,则接收管不能接收到反射光,反相斯密特触发器74HC14整形后输出高电平,原理图如图3所示。

同时,红外光电传感器循迹模块使用6个红外反射式光电传感器STl78P以“T”字型布局(如图4所示)安装在玩具小车前端底部,与地面的垂直距离8mm左右。在玩具小车循迹过程中,当②号传感器检测到黑线时,小车向左拐。当①号传感器检测到黑线时,小车以较大力量向左拐;当④号传感器检测到黑线时,小车向右拐。当⑤号传感器检测到黑线时小车以较大力量向右拐}当③号传感器检测到黑线时,小车前进。而当③⑥传感器同时检测到黑线时小车以较快速度前进,其中⑥传感器可以根据不同的循迹路径进行适当调整,以达到更好的循迹效果。

2.3红外遥控模块设计

红外遥控模块主要由基于WD1622芯片的通用红外遥控器和接收频率为38KHz的SM0038一体化红外接收头两部分组成。红外遥控器产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,SM0038一体化红外接收头接收遥控器发出的红外信号,输入到单片机,完成对遥控指令解码,并执行相应的遥控功能。图5是通用红外遥控器的键位码,在手动模式下,红外遥控器可根据键位码控制小车的动作,具体包括前进、后退、左转、右转、停止、多档调速、S型运动、Z型运动、摇摆运动和刹停防抱死等功能。

2.4光电开关测速模块设计

光电开关测速模块用来检测与车轮相连的码盘的运动,将检测出的信息送到STC89CS2RC单片机,可以计算出多功能玩具小车的车轮转速,间接反映多功能玩具小车的车速。其电路原理如下图所示。

2.S超声波避障和蜂鸣器报警设计

本设计采用HC--SR04超声波传感器(其测量距离为2~300cm,测量精度为3ram),其电路原理如图7所示。通过超声波发射装置发出超声波,发射时刻的同时开始计时,超声波在传播途中碰到障碍物则立即返回,超声波接收器收到反射波立即停止计时。根据时间差可以计算出距离。利用超声波的频率高、波长短、定向性好、能量集中、不易受干扰等特性,既可以检测障碍物的位置,又提高了系统的可靠性。

多功能玩具小车使用超声波传感器检测行驶过程中的障碍物。如果处于遥控模式下,当检测出玩具小车距离障碍物小于等于5cm时,多功能玩具小车能够自动停车并由蜂鸣器报警。如果处于自动循迹模式下,当检测出玩具小车矩障碍物小于等于10cm时,多功能玩具小车能够进行避障。

2.6电机驱动模块

多功能玩具小车由STC89C52RC单片机控制直流减速电机驱动模块来实现运动状态的改变。STC89CA2RC单片机通过软件模拟出PWM波,结合相应控制命令来控制电机驱动模块驱动直流减速电机,完成直流减速电机的速度和转向控制,从而使多功能玩具小车平稳、快速地完成各项功能。

L298N驱动模块电路如图8所示,为保证驱动芯片正常工作,在直流电机与其之间串联四对续流二极管,以免反向电动势对L298N产生损害。电容C6和0是滤波电容,可减少外界干扰,使电机稳定工作。C4和C5是电源去耦电容。

L298N输入和输出引脚的逻辑关系如表2所示,在实际硬件电路中,控制器通过改变L298N的INI~IN4上的高低电平以控制小车的运动,通过改变ENA和ENB的高低电平占空比以控制电机的转速。

2.712864液晶显示模块和电源模块

本设计选用具有中文字库的12864液晶显示器提示用户使用各种功能,并显示多功能玩具小车的车速、刹车防抱死功能是否开启、功能模式等车况信息。

多功能玩具小车供电系统由两部分组成:一部分是由12V容量3000mAh的锂电池,直接为直流减速电机提供电源;另一部分是由12V容量3000mAh的锂电池,经稳压芯片LM2575输出5V的电压,为控制板和各个模块供电。

3软件设计

3.1系统程序

系统程序流程图如图9所示,软件系统主要包括主程序、红外遥控控制子程序和自动循迹避障子程序,红外遥控控制子程序由防撞报警、S型运动、档位选择、测速、刹停防抱死和显示等部分构成。自动循迹避障子程序仅包括避障部分和循迹部分,可使多功能玩具小快速、平稳地进行自动控制。主程序循环进行标志判断,并决定是否调用红外遥控控制程序和自动循迹避障程序,可提高系统的实时性。

3.2刹停防抱死于程序

防抱死制动系统是一种主动安全装置,它在制动过程中根据“车辆―路面”状况,采用自动调节车轮的制动力矩来达到防止车轮抱死的目的。依据防抱死制动系统原理,设计了刹停防抱死系统。

经大量实验表明,玩具小车在室内光滑地面高速行驶,紧急刹停容易出现车轮抱死。因此,当小车在较高速度行驶,速度突然降为零时,自动调用刹停防抱死子程序,可实现玩具小车的安全停车。刹停防抱死程序如下所示:

4结语

本文设计的电动玩具小车支持四向行驶、多档调速、S型运动、Z型运动、摇摆运动、超声波防撞报警和行驶速度显示等功能,且操控性能优良。小车可根据路况自动控制,具有刹停防抱死功能,可平稳、快速并避障移动。本设计采用12864液晶显示功能,使该玩具小车具有良好的人机交互性。此外,本设计已推广至工业生产中的无人智能小车控制,应用于智能仓储、自动化制造等领域。

上一篇:基于翻转课堂的《网页设计》课堂教学模式探讨 下一篇:嵌入式装置的能耗测量问题