APP下载

基于SPCE061A单片机的语音控制玩具车设计

2012-05-29龙春阳

常州工学院学报 2012年3期
关键词:玩具车前轮语音

龙春阳

(湖南娄底职业技术学院,湖南 娄底 417000)

0 引言

近年来,世界科技的迅猛发展,高科技含量的机器人、电子玩具等已经成为玩具行业发展的主流,发展科技型玩具已是必然的趋势,不仅世界大玩具公司争相开发,世界电脑巨头微软、英特尔、IBM、以及世界电器霸主松下、东芝、索尼等也都垂青于电子玩具,纷纷将半导体技术、数码技术用于玩具开发。麻省理工学院也早已得到迪士尼等4大公司资助数百万美元的研究开发经费。这种科技、教育与玩具制造业的结合,将是玩具业在技术上的又一次革命,为使其更加生动、智能,让语音技术融入玩具中,不仅可以赋予玩具“听”、“说”等交流能力,富含趣味性,使玩具更可爱、更吸引人,同时也有利于在儿童中普及现代科学技术。这既能推动语音技术产业化的发展,又能促进科学技术在我国新生代中萌发生机,激发出更多创意,进而为我国智能科技的发展奠定坚实的基础。同时亦将推动科技的智能化、产业化,这是社会科技发展的需求与动力。

凌阳公司生产的SPCE061A作为一种16位新型单片机,自带语音系统,为实现玩具智能化提供了便捷,满足了智能化的需求。同时,由于单片机作为一种简单计算机系统,起步较低、上手快,很适合电子爱好者作为起步学习,是掌握单片机应用的好材料,而智能玩具车作为一种可实现的趣味性机器人,不失为一种学习的好方式,是进一步提高软件与硬件综合运用与实现的好途径。

本文采用凌阳单片机SPCE061A作为语音控制玩具车的核心。利用它自身丰富的资源与电机驱动相结合,设计出一款语音控制智能玩具车。

1 方案论证

根据需求,要实现语音对玩具车的控制,即至少通过人说话的声音实现控制玩具车的前进、后退、左转、右转等基础变换运动的功能。本设计的后续开发都是建立在这些基础之上的。

1.1 系统控制方案

该方案采用直接加载凌阳16位单片机SPCE061A语音控制模块,其原理框图如图1所示。

图1 原理框图

人的声音通过话筒滤波之后,直接进入单片机SPCE061A内嵌的ADC模块,由CPU处理后通过总线将信号传至内嵌的语音处理模块,最后通过DAC模块输出,再经功率放大器放大之后就可以听到刚才的声音。在听到声音的同时CPU也将信号通过I/O口输出相应信号到电机控制板,驱动玩具车按照所给的指令进行运动。而系统信号处理板中的各功能模块有凌阳61板可借鉴,很大程度上减小了开发难度与开发周期。

一方面该方案由于有凌阳61板可借鉴,效果较好,同时又大大缩短了开发周期,只需认真分析模块的调用、I/O口的分配及软代码的开发,相对来说较容易实现。另一方面该方案采用1个电机控制方向,能够使玩具车的运行状况更加灵活、稳定,但精确度不高。

1.2 车体机械构造方案

车体机械构造方案主要解决玩具车车轮前后左右方向上受力问题。由于系统控制方案已确定后轮为驱动轮,前轮为方向轮。因此,对于后轮,运动中轮与轴的交点与车体相对静止,即相对位置是唯一的,只需驱动电机通过齿轮提供即可。对于前轮,要实现左右旋转,在运动中轮与轴的交点与车体相对位置就会发生变化,要确保在它变化时仍然受方向电机的控制。

以上方案通过2个弹簧,在电机没有施力的情况下可以自动恢复,且弹簧较短,受力可调,解决了所有问题。

2 系统硬件设计

系统硬件方面,由于大部分的功能实现都是在61板上完成的,只有电机驱动电路和电源另外设计在一块独立的电路板上,不妨称为驱动板。玩具车的运行原理、驱动电路板的结构和功能实现具体如下:

2.1 玩具车动作原理

此次设计的玩具车为4轮结构,由电机控制车轮的运行,后轮提供动力,前轮控制方向。弹簧的作用是使玩具车在没有力作用的情况下,自动处于直行位置;在连杆和支点的协同作用下实现前轮左右偏移动作。

1)直行:由玩具车的结构分析,在没有力作用时,弹簧使前轮保持正直状态(无偏移),此时只需动力电机正转,玩具车便直行。

2)倒车:倒车动作和前行相反,前轮保持直行状态,动力电机反转,玩具车向后运动。

3)左转:前轮逆时针偏移(规定为正转),后轮正转,这时玩具车就会在前后轮共同作用下偏左前进,即左前转弯。

4)右转:前轮反偏,后轮正转,这时玩具车偏右前进。

2.2 驱动板原理

驱动板主要由电源电路、电机驱动电路和接口电路组成。驱动板电路原理如图2所示。

1)电源:整个设计中涉及到4个电源信号,即电池电源、61板电源、61板I/O端口电源及驱动板电源。所有电源由电池提供及分配。

2)接口电路:接口电路实现不同板之间的电路连接。通过它为61板提供电源、信号的输出以及电机的驱动电源。为了以后系统的升级,实现更多更强大的功能,设计中预留了一些接口。

图2 驱动板原理图

3)驱动电路:驱动电路由2个NPN和2个PNP构成H桥来实现对电机的驱动控制。

3 系统软件设计

主程序由初始化、训练操作、识别环节和重训操作等构成。系统流程如图3所示。

1)初始化:由于IOB8~IOB11用以使能电机向不同的方向转动,因此必须将其设置为输出端。开启IOB8、IOB9的第二功能,用脉宽调制输出,可实现对电机的灵活控制。

2)训练操作:训练操作主要完成声音模型的建立。系统上电后就会判断玩具车是否已训练,如果还没有训练则会要求使用者对其进行训练操作,在训练成功后将训练模型存储到Flash中。如果已经训练就会把存储在Flash中的模型调出装载到识别器中,等待与使用者发出的声音命令进行对比。

图3 系统总体程序流程图

3)识别环节:如果使用者发出的是名字指令,系统就会停止当前动作进入待命状态。如果识别结果为动作指令,系统将会语音告知相应动作并执行该动作,相应I/O口输出相应的电平。

4)重训操作:系统板设计了一个可重新训练的触发按键。系统上电后循环扫描该键,如果有按键按下,系统设置的训练标志位将会被擦除,并复位。复位后,系统检测到该标志位为OXFFFF,此时系统便要求进行使用者声音输入训练。

4 结语

基于SPCE061A单片机的语音控制玩具车设计,通过方案论证得出,SPCE061A在语音控制方面具备很强的优势。硬件设计采用2个电机,它们分别用来控制方向和作为驱动控制速度,以图像配文字的方式说明,清晰明了。电机驱动采用NPN、PNP三极管组合构成的H电桥来控制。在软件方面,主要通过语音识别及其原理,导出语音识别子程序、动作子程序、中断子程序等构造。由该设计可以看出,语音识别芯片和单片机的组合不仅可以使方案变得简单清晰,而且成本也会大大降低,同时语音控制玩具车的训练和识别程度都比较理想,是用语音进行控制的典型设计。

[1]何立民.单片机高级教程:应用与设计[M].北京:北京航空航天大学出版社,2007:7-54.

[2]袁太生.单片机应用技术(凌阳系列)[M].北京:中国电力出版社,2007:23-55.

猜你喜欢

玩具车前轮语音
大大的玩具车
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
玩具车变跑车
学生的思维了不起
前轮和后轮
拆前轮不蹭碟