基于单片机的智能玩具小车设计

2014-10-20 08:36董胡马振中
微型电脑应用 2014年9期
关键词:循迹小车语音

董胡,马振中

0 引言

随着电子技术、传感器技术、计算机技术、自动控制技术、人工智能与机械技术的快速发展与结合,玩具产业发展迅速。传统玩具的市场份额在逐步下降,而具有高科技含量的电子玩具则逐步上升,玩具智能化已成为现代玩具发展的趋势。虽然我国作为玩具生产大国,但在高科技智能玩具的发展方面和国外还存在一定的差距[1]。因此,开展智能玩具技术方面的研究,一方面,对技术创新应用,另一方面,对社会经济发展,都具有一定的实际意义。本文利用STC89C52单片机作为智能玩具小车的控制核心,使玩具小车能够按设定的轨迹前进并能自动避障,而且小车在行进过程中能根据其运行情况自动播报行驶状态信息,同时,配以发光二极管加以提醒,从而使小车具备了智能性和可娱乐性[2][3]。

1 智能小车工作原理

智能玩具小车采用STC89C52单片机作为核心控制芯片。在硬件设计电路方面,尽量使其具备更多的功能。智能玩具小车的硬件电路主要包括STC89C52单片机模块、循迹模块、传感器避障模块、电机驱动模块、发光二极管模块、语音播报模块、电源模块等。本文设计的小车采用后轮驱动,两个驱动轮是由两个电机分别驱动,前面一个轮是万向轮,起到支撑和平衡的作用,只要调整两个动力轮的转动方向和转速就可以达到转向的目的。在小车底盘的两侧各装有两个红外对管,当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。在小车的前部有3个红外线传感器,通过红外线传感器来检测障碍物,并将检测到的信息通过单片机采集处理进行判决实现小车自动规避障碍物。小车的行驶状态信息(如行驶方向、运动状态等)以发光二极管、语音播报等模块进行提示。通过PWM脉宽调制技术改善小车的静动态性能。智能玩具小车系统设计框图如图1所示:

图1 智能玩具小车系统设计框图

2 硬件系统的设计与实现

2.1 单片机模块

智能玩具小车以STC89C52单片机作为主控芯片,它是一种高速、低功耗、超强抗干扰的16位微控制器。工作电压范围较宽(2V-5.5V),实际工作频率达48MHz,具有8K字节用户存储空间,片上集成512字节RAM,具有32个通用I/O口、一个看门狗、两路UART通信端口、3个16位定时器和计数器、外部四路中断、支持在线系统编程和在线应用编程等功能。智能玩具小车相关的功能模块在单片机的对应I/O端口分配情况如表1所示:

表1 单片机I/O端口分配表

2.2 循迹模块

将4个红外传感器置于智能小车的底部下方,当红外传感器检测到的物体为黑色或其它浅色物体时,输出对应电压分别为 5V或0.2V。将输出的电压通过LM234作比较来采集高低电平,从而实现信号的检测,单片机根据采集的高低电平,得到路面的相关信息,从而通过控制电机的转动作出适当的反应,实现循迹功能[4]。循迹电路图如图2所示:

图2 循迹模块连接图

2.3 传感器避障模块

常见的传感器避障有两种方案:一是采用超声波避障。但超声波在一定的空间范围内会进行多次反射,容易使传感器之间互相干扰,使控制芯片不能准确判断出哪个方向遇到障碍物,可能发生误判。二是采用红外线避障,红外线对近距离的障碍物反应速度较灵敏,传感器之间信号不易互相干扰,从而避免发生误动作。另外,红外线避障电路相对简单且红外探测距离相对容易调节,因此这里采用第二种方案。

E18-D50NK是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出,有效避免了可见光的干扰。传感器检测障碍物的距离可以根据要求进行调节,最远可以检测50厘米距离[5],与实际应用比较相符合。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点,可以广泛应用于机器人避障、流水线计件等众多自动化产品。

2.4 电机驱动模块

L293D是SGS公司的产品,内部包含4通道逻辑驱动电路,可以方便的驱动两个直流电机。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动36V、2A以下的电机。

L293D可直接对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转、停止的操作[6]。电机驱动电路如下图3所示:

图3 电机驱动模块连接图

2.5 语音播报模块

ISD2560是ISD系列单片语音录放集成电路的一种。这是一种永久记忆型语音录放电路,录音时间为60s,可重复录放10万次。ISD2560还省去了A/D和D/A转换器。其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480k字节的EEPROM。有10个地址输入端,寻址能力可达1024位;设有OVF(溢出)端,便于多个器件级联。将事先录制好的语音存储于ISD2560芯片中,当小车在前进、后退、左转、右转和停止等状态时播报相应的行驶信息。

2.6 电源模块

电源管理是智能玩具小车设计中的重要环节,它给系统的各个模块进行供电,可靠的电源设计是整个硬件电路稳定运行的基础。采用多节Ni-Cd电池串联供电,由于智能玩具小车系统各个模块所需的电压不同,因此需要进行电压调节。STC89C52单片机模块、循迹模块、传感器避障模块所用电压为5V,电机驱动模块所用电压为12V,语音播报模块所用电压为3.3V。

3 软件系统的设计与实现

智能玩具小车控制系统主要通过红外循迹传感器来规范小车沿黑色轨迹行驶,同时通过红外避障传感器检测障碍物以纠正小车的行驶方向, 使用C51进行程序设计。智能玩具小车的控制过程采用查询方式实现对小车的智能控制。

其中实现单片机(STC89C52)控制小车左、右运行的部分伪代码如下:

智能玩具小车循迹、避障软件设计流程图分别如下图4、图5所示:

图4 小车循迹软件设计流程图

图5 小车避障软件设计流程图

同时语音播报模块在小车不同的运动状态过程中辅以相应的语音播报状态信息。

4 总结

本设计采用模块化的思想设计了以STC89C52单片机为核心控制器的硬件控制电路,以红外传感器进行循迹和避障,各个模块之间协调工作,很好地满足了智能玩具小车的控制要求。实验结果表明,所设计的智能玩具小车能有效循迹,快速转弯,且系统具有较好的抗干扰能力,满足设计要求。

样品可以作为大学生学习单片机的应用实例,对于智能玩具小车设计也具有一定的应用参考价值。

[1]常赛,王宜怀.可自主编程的智能玩具的开发[J].微型电脑应用,2008,24(11):27-29.

[2]陈华伟,熊慧.智能循迹小车硬件设计及路径识别算法[J].单片机与嵌入式系统应用,2010,12:26-28.

[3]姜岩蕾,史增芳.简易语音控制小车的设计[J].电工技术,2007,(4):47-49.

[4]苏维嘉,王旭辉.基于MSP430单片机数据采集系统[J].现代电子技术,2007,(30):04-15.

[5]韩毅,杨天.基于HCS12 单片机的智能寻迹模型车的设计与实现[J].计算机工程与设计.2008,29(18):4736-4738.

[6]何忠悦.直流伺服电机在智能玩具小车中的编程应用[J].电子世界,2012,(5):125-126.

猜你喜欢
循迹小车语音
基于DFT算法的电力巡检无人机循迹检测系统设计
大车拉小车
自制小车来比赛
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
浅谈基于机器视觉和姿态检测的循迹智能车
对方正在输入……
刘老师想开小车
两轮自平衡小车的设计与实现