杨维祎,郭颖,栾哲江,付玉祥,刘浩文
(1.辽宁石油化工大学信息与控制工程学院,辽宁抚顺113001;2.抚顺石化公司辽宁抚顺113001)
基于STC98C52的智能玩具小车设计
杨维祎1,郭颖1,栾哲江2,付玉祥2,刘浩文1
(1.辽宁石油化工大学信息与控制工程学院,辽宁抚顺113001;2.抚顺石化公司辽宁抚顺113001)
现在,玩具正向智能化方向发展,本文所设计的智能玩具小车主要由STC89C52单片机控制系统模块、L298N电机驱动模块、红外对管避障模块、LED和LCD显示模块、蜂鸣器报警模块以及CC1101无线接收发射模块组成,集驱动、控制、传感和能源等于一体,实现了玩具车的遥控前进、后退、左转、右转、自主避障、状态显示和报警等功能。测试结果表明,小车结构简单,性能优良,易于操作,实现了玩具小车的智能化。
智能玩具小车;STC89C52单片机;电机驱动;CC1101
近年来,随着计算机技术和自动控制技术的不断快速发展,消费电子产品行业也迅速发展起来。全球玩具市场的内在结构正在发生巨大改变:传统玩具占据的市场比重在逐渐减少,高科技含量电子玩具市场比重逐渐增加。中国玩具协会近期的一份报告指出,随着我国经济的发展,玩具类支出在城乡居民的消费支出中所占比重将越来越大。我国的玩具发展已经达到了一个顶峰,随着IT业的发展,玩具与IT行业紧密结合、电子化、智能化程度得到提高,但与世界其他国家仍有一定差距。所以,尽早投入精力进行玩具智能化的研究,对于技术的创新应用和社会的经济发展,都具有十分重大的意义。
1.1系统原理框图
该系统主要由以下5个基本功能模块组成:STC89C52单片机最小系统模块、无线遥控模块、显示模块、电机驱动模块、避障及报警模块等,系统设计原理总框图如图1所示。
1.2STC89C52单片机的最小系统模块
STC89C52是STC公司生产的低电压、高性能CMOS的微处理器。它采用40引脚双列直插封装方式,片内集成512字节RAM,32个通用I/O口,8 K字节可编程、可擦除ROM,看门狗定时器,内置4 KB E2PROM,MAX810复位电路。它的最高运作频率为35 MHz,6T/12T可选。
图1 系统原理总框图
图2 单片机最小系统
1.3无线遥控模块
无线遥控模块主要由发射部分、接收部分、显示部分3部分组成[2]。
无线收发模块采用德州仪器公司的CC1101无线通信芯片,它的内部组成包括:发射电路、接收电路、控制接口电路等部分,方便用户调试和降低成本。CC1101拥有6根I/O接口与MCU相连,它们分别负责数据通讯、通讯参数配置、工作模式选择等。本设计中CC1101电路设定为433 MHz的 ISM频率波段并采用串口通讯方式[3]。
CC1101的I/O接口定义及与MCU的连接方式见表1:
将一个CC1101与第1片STC89C52(1)的P3.0和P3.1口相连即可作为发送端来使用。将另一个CC1101与第2片STC89C52(2)的P3.0和P3.1口相连即可作为接收端来使用,具体连接如图3所示。
表1 CC1101 I/0口定义及连接方法(模块正面从左到右顺序)
图3 发送(接收)端连接图
1.4显示模块
显示部分采用LCD12864。LCD12864具有128×64个液晶显示点,每个显示点对应一位二进制数,0表示灭,1表示亮。其内置有8192个16×16点汉字和128个16×8点ASCII字符集,可以显示8×4行16×16点阵的汉字,也可完成图形的显示。利用其灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互界面。本设计中主要用在遥控发送端显示遥控信号是否正常以及小车的行进状态[4]。
发送部分连接图如图4所示。
图4 遥控发送端连接图
1.5电机驱动模块
小车动力的主要来源是两个侧轮驱动电机,控制电动机采用PWM调速,因此电机驱动模块采用L298N。L298N可同时驱动两个电机。单片机的P1.0、P1.1、P1.2、P1.3脚接L298N 的IN1~IN4管脚,通过控制单片机I/O口输出高低电平控制电机的正反转,L298N的OUT1、OUT2和OUT3、OUT4分别接两个电动机。L298N的ENA、ENB为控制使能端,作用是输入PWM信号控制电机调速。VSS接逻辑控制的电源。电机驱动电路如图5所示[5]。
1.6避障及报警模块
避障功能的实现是通过采用一只对管置于小车右侧的方案。其原理是利用光线在不同物体表面反射光的性质不同。在小车行驶过程中不断向前方发射光,当光遇到障碍时产生反射,反射光被装在小车上的接收管接收,从而完成信号的检测。小车在行进过程中如果遇到障碍物时需要完成转弯和倒退动作,因此要对电机进行转向控制。报警模块采用蜂鸣器报警。当小车在行进过程中遇到障碍,蜂鸣器发出响声[6]。
调试过程中,当小车行进过程中遇到障碍,检测头亮灯起,蜂鸣器响,左电机停转,右电机正常,小车左转避开障碍。
图5 电机驱动电路
2.1发送端主程序
发送的程序主要包括初始参数设置、按键扫描、系统判断是否有键按下,检测到按键时程序会自动执行发送按键码程序并在LCD显示遥控信号正常,若没有检测到有键按下,程序则会跳到按键扫描部分继续进行扫描[7]。
图6 发送端主程序流程图
接收端程序主要完成信号的接收、解码、直流电动机的驱动和液晶屏的显示。信号的接收和解码可以通过外部中断和定时中断完成,直流电机驱动和液晶屏显示可以在数据处理子程序中完成,主程序主要完成的工作是设置小车和液晶屏的初始状态以及中断和存储器的初始参数。其接收端主程序流程图如图7所示[8]。
2.2数据处理子程序流程图
数据处理子程序流程图如图8所示。
图7 接收端主程序流程图
图8 数据处理子程序流程图
本设计最终选用了体积小、功耗低、应用方便、稳定可靠、灵敏度高、响应速度快的红外传感器作为避障检测装置,控制核心采用低成本且稳定性好的STC89C52单片机。经过测试,该智能玩具小车出色的完成了遥控前进、后退、左转、右转、自主避障、状态显示及报警等功能。实现了玩具小车智能化。
[1]董涛,刘进英,蒋苏,等.基于单片机的智能小车的设计与制作[J].计算机测量与控制,2009,17(2):380_382.
[2]段刚.基于51单片机的无线遥控技术[J].科技促进发展,2011,(4):24_24.
[3]李娟,唐小超,葛立峰,等.基于CC1101射频技术的室内超声定位系统[J].自动化与仪表,2009,24(6):1_4.
[4]樊永显,许勇,张向文,等.基于STC89C54RC/RD+单片机的游戏机系统设计[J].湖南工业大学学报,2007,21(5):66_69.
[5]王晓明.电动机的单片机控制[M].北京:北京航空航天大学出版社,2011.
[6]王淼.传感检测技术[M].天津:天津大学出版社,2008.
[7]韩毅,杨天.基于HCS12单片机的智能寻迹模型车的设计与实现[J].计算机工程与设计,2008,29(18):4736_4739.
[8]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.
Deslgn of lntelllgent toy car based on STC98C52
YANG Wei_yi1,GUO Ying1,LUAN Zhe_jiang2,FU Yu_xiang2,LIU Hao_wen1
(1.College of Information and Control Engineering,Liaoning Shihua University,Fushun 113001,China;2.Fushun Petrochemical Company,Fushun 113001,China)
Now the toy is deve1oping towards inte11igence.The design of inte11igent toy car is composed of STC89C52 modu1e,L298N motor driver modu1e,infrared tube obstac1e avoidance modu1e,LED and LCD disp1ay modu1e,buzzer a1arm modu1e and CC1101 wire1ess receiving emission modu1e.It can be drived and contro11ed,which rea1izes the remote contro1.It has functions of going forward,going backward,turning 1eft,turning right,autonomous obstac1e avoidance,status disp1ay and a1arm,etc.Test resu1t shows that the sma11 car has simp1e structure,good performance,easy operation and it rea1izes inte11igence.
inte11igent toy car;STC89C52SCM;motor drive;CC1101
TN06
A
1674_6236(2016)10_0097_03
2015_06_18稿件编号:201506184
杨维祎(1993—),男,辽宁朝阳人。研究方向:电气控制技术、仪器与测试技术等。