| Techniques of Automation & Applications174智能玩具车的设计与实现汪 媛(武昌首义学院,湖北 武汉 430064)摘 要:系统以S T C89C51单片机为控制核心,实现玩具车的自循迹、前进、后退、左转、右转及状态显示等功能。
系统由L293D 电机驱动模块、红外传感器模块、电源模块、L E D 模块等组成,通过红外反射式传感器检测路面信息,单片机内部程序判断后输出PWM 信号来控制玩具车左右轮电机的转动运行,实现玩具车自动循迹功能;通过软件编程控制小车实现前、后、左、右、加减速和车灯闪烁。
实验证明,玩具车结构简单,运行稳定,响应速度快,能沿着引导轨迹自动行驶及正确接收遥控的指令,具有实际应用价值。
关键词:玩具车;单片机;电机驱动;红外传感器;自循迹中图分类号:TP273 文献标识码:A 文章编号:1003-7241(2018)11-0174-04Design and Realization of the Intelligent Toy CarWANG-Yuan( Wuchang Shouyi University, Wuhan 430064 China )Abstract: The design of intelligent toy car is composed of STC89C51 SCM, it has functions of self-tracking, going forward, goingbackward, turning left, turning right, status display and so on. The system is composed of L293D motor driver module, infrared sensor module, power module, LED display module etc. The road information is detected by infrared reflection sensor, the SCM control the toy car rotating operation of left and right wheel motors through the PWM signal to realize the function of self-tracking, to achieve the function of going forward, going backward, turning left, turning right and status display through software programming. Test result shows that the toy car has simple structure, good performance, quick response, can travel automatically along the lead trajectory and receive remote instructions correctly. The system has practical application value.Key words: toy car; SCM; motor drive; infrared sensor; self-tracking收稿日期:2017-09-051 引言玩具是儿童生活中不可缺少的一部分,随着时代的发展, 人们对玩具的要求也越来越高,传统的简易玩具已经无法满足儿童的需求。
由于单片机具有功能强大、小型轻量、价格便宜等特点,所以出现了越来越多以单片机为控制核心的智能玩具, 这些新型的智能玩具不仅增强了玩具的趣味性,而且对培养儿童的探索精神有很强的促进作用[1]。
因此, 新型化、智能化玩具的研制有很广阔的发展空间。
系统采用STC89C51单片机作为路面信息检测、输入信号处理和电机控制的核心,根据电路功能设计车体,2个直流电机作为主驱动,附加相应的电源电路和下载电路构成整体电路。
系统使用红外线传感器装置,通过红外线发出信号来进行前、后、左、右操作。
由单片机控制驱动芯片L293D 驱动玩具车的电机,并用PWM 技术对电机的速度进行调节和控制,实现对玩具车的控制。
2 硬件电路设计2.1 直流调速电路的设计PWM 技术俗称脉冲宽度调制,它是通过调节开关固定频率的直流电源电压的脉宽(占空比)来改变负载两端电压的平均值从而达到控制的一种调整电压的方法[2]。
PWM 技术的主要目的是改变直流电机的电压,调速使用的芯片是L293D,利用它来调节占空比,其结构图如图1所示。
图1中INPUT 端口和单片机的输出端口相连,ENA 和E N B 端口是两个直流电机的使能端,通过单片机来Techniques of Automation & Applications | 175对ENA 和ENB 端口在一定时间控制其通断来控制直流电机的输出电压。
在单位时间内导通的时间越长,则直流电机两端的输出电压也越大,直流电机的转速也越快。
图1 L293D 结构图2.2 信号检测模块在红外线遥控系统中,CPU 接收信号发射器产生的二进制代码,然后将遥控器上的键码和解码值一一对应。
在遥控器上按下键码时,遥控器会产生相应的遥控信号,遥控编码脉冲在对产生的信号进行调制后才产生遥控的最终信号[3],然后将信号经驱动电路通过红外发射管发射出去。
图2 红外线接收装置图3 循迹装置原理图红外线遥控部分,包括接收装置和发射装置。
发射装置可以选择市面上的红外遥控,红外遥控器只要知道每个键值的键码就可以把接收到的遥控键码值根据需要分配不同的功能,红外线接收装置如图2所示,图2中I R 是串行传送的,它将接收的信号串行发送给单片机,单片机根据接收到的信号在进行下一步操作。
循迹电路是利用一对红外线接收和发射装置实现,如图3所示,工作原理是利用V5和V6发射红外线信号,而V2和V3则接收反射回来的红外信号,当所发的信号被黑色线路吸收时,则V2和V3截止,传递给单片机的信号则是高电平;当V2和V3接收到反射来的红外线时,则V2和V3导通,发送给单片机的信号则是低电平。
2.3 显示电路显示模块是用于显示玩具车的运行状态,主要使用的是L E D 发光二极管,显示模块的数据输入是主控模块发送的,主控在控制小车的各种运行状态中,把小车的各种状态进行分析,然后再把数据传输给显示模块。
2.4 电源电路由于单片机的电压是5V,普通干电池的电压为1.5V,可以使用集成电压变换芯片7805将9V 电压转换为5V电压,7805芯片能够输出的电压范围为4.8V 到5V 的电压,它输出的电流不超过1.5A。
将6节干电池串联,然后经过电压变换可获得5V 电压。
3 玩具车软件设计3.1 玩具车方向控制设计图4 红外线工作流程图图5 方向控制流程图在进行方向操作时,玩具车处于初始的禁止状态。
当红外线要控制玩具车时,工作过程如图4所示。
在方向控制的过程中首先要解决的问题是信号接收,由于本次设计的控制器件是红外线遥控器,所以要判断信号。
在软件中,会给前后左右编写不同的键码,如果单片机| Techniques of Automation & Applications176的串口收到的信号是这其中一种,就会执行下一步的操作,如果接收到的不是这些信号[4],单片机会拒绝操作。
当完成了信号的解码工作后,单片机就开始执行方向操作,如图5所示。
在方向控制中,在前进模块的过程中,使2个直流电机正向运动;在后退模块中,使2个电机反向运动;在左转模块中,左轮正向运动,右轮反向运动;在右转模块中,右轮正向运动,左轮反向运动。
3.2 小车变速运行设计完成玩具车的基本转向设计后,需要完成的操作是利用PWM 操作进行玩具车的变速操作,即用PWM 占空比来控制玩具车的车速。
程序中通过控制芯片的高低的电平导通时间,改变占空比,实现对直流电机的控制,具体流程图如图6所示。
图6 玩具车变速运行流程图玩具车的变速的程序过程是在方向控制的基础上在进行的操作,变速的设计只需要给变速功能分配一个键码值,当单片机的红外接收装置收到了加速信号的时候,单片机就会产生占空比,对直流电机进行变速操作。
3.3 循迹程序的设计循迹程序的设计通过前方的红外探头来检测地面的信号,根据道路的要求,当道路为白色时,红外接收到信号,与地面检测的红外相应端口低电平,当道路为黑色时,与地面检测的红外相应端口为高电平,我们就可以根据这和判断条件进行道路的寻找,具体设计流程图如图7所示。
玩具车的循迹功能是自发进行的,在循迹过程中没有用到红外线遥控操作。
在设计过程中可以用到方向运动中的模块,当传感器有信号反馈给单片机的时候,可以根据反馈的信号进行判断,然后再执行操作。
当两个传感器传送的都是高电平的时候,单片机就会启动小车的前进模块,传感器没有收到信号的时候,单片机就不会对直流电机进行操作[5-6]。
如果有一个传感器有信号另外一个没有,那么就会根据判断再进一步执行操作。
图7 小车循迹流程图3.4 玩具车的显示设计玩具车的显示主要目的是为了反映玩具车的运行状态,在玩具车的其它基本功能完成后,利用显示装置把状态更好的反映出来,以便于人的肉眼观察,显示流程图如图8所示。
显示过程会配合玩具车的方向运动进行,还能独立的根据红外遥控进行操作,独立操作时,只需要把遥控器上的不同的键码值经过单片机解码之后,发送给LED显示灯上的不同的端口。
把显示的字符码和遥控器上的键码一一对应。
在进行车灯显示的过程中,不同的运动方向会配备不同的车灯显示操作,只需要把点亮发光二级管的程序写进小车方向控制的模块中[7]。
4 结束语本系统设计实现的智能玩具车,实际测试结果表明:玩具车运行平稳,在长时间工作中能自动循迹,没有偏离黑线,转弯处运行平稳,转速可随行走路径自动调整,能完成遥控前进、后退、左转、右转、状态显示等功能,玩具车整体性能稳定,为了使小车更加智能化,在后续工作中可以为玩具车增加自动识别、自主避障、车速检测和语音报警等功能,在软件设计中可以将智能算法用于玩具车的设计,进一步提高玩具车的稳定性。
参考文献:[1] 徐芳菲,王艳,金帅.基于单片机的玩具小车设计[J].哈尔滨:自动化技术与应用,2016,35(8):129-131.[2]杨维祎,郭颖,栾哲江等.基于STC89C52的智能玩Techniques of Automation & Applications | 177具小车设计[J].西安:电子设计工程,2016,24(10):97-99.[3] 孔令荣,王昊.基于STC89C52的智能寻迹小车设计[J].哈尔滨:自动化技术与应用,2015,34(2):92-96.[4] 王晶.智能小车运动控制技术的研究[D].武汉:武汉理大学硕士学位论文,2009,26-33.[5] WU HONGXING,CHENG SHUKANG,CUI SHU MEI.A Controller of Brushless DC Motor for Electric Vehicle[J].IEEE Transactions on Magnetics,2005,1(1):10-20.[6] 陈懂,刘江,金世俊.智能小车的多传感器数据融合[J].西安:现代电子技术,2005,(6):3-5.图8 玩具车显示流程图作者简介:汪媛(1982-),女,讲师,从事电力电子与电力传动研究。