快乐生活的三个秘诀:【新提醒】智能玩具—机器狗的研发技术方案 - 机电玩具设计- electronic toy...

来源:百度文库 编辑:偶看新闻 时间:2024/05/06 01:03:52

智能玩具—机器狗的研发技术方案   [复制链接]

mylejin
  • 发短消息
  • 加为好友
mylejin 当前离线
注册时间
2005-6-7 
阅读权限
70 
威望
42  
贡献
0  
金钱
28377  
积分
1572 
精华
帖子
1572 

金牌会员

金牌会员, 积分 1572, 距离下一级还需 3428 积分
最后登录
2009-11-14 
注册时间
2005-6-7 
金钱
28377  
帖子
1572 
UID
1267 
楼主 发表于 2006-2-23 22:56 |只看该作者 |倒序浏览 |打印 .pcb{margin-right:0} 智能玩具—机器狗的研发方案

摘  要:本文主要介绍利用SPCE061A单片机来开发的一款智能玩具——机器狗的实现方案。
关键词:语音识别 SPCE061A 智能玩具

1 引言
    智能化已成为玩具行业的新趋势,让语音技术融入到玩具中,不仅可以赋予玩具“听”“说”的交流能力,使其更加生动、智能,还有利于在儿童中普及现代科学技术,推动语音技术产业化的发展。一些领先技术被应用于今天的玩具领域如:无线电、红外通讯、传感器、语音识别等等。本文介绍的是基于SPCE061A的一种具有语音识别功能的玩具产品,并着重介绍了软硬件设计方法。
    摘要:凌阳科技公司的SPCE061A,不但具备微控制器的功能,还具有DSP运算功能,可以用来进行数字语音信号处理,实现语音的播放、识别、录制等功能。本产品就是利用SPCE061A的该功能设计的一款智能玩具。该玩具可以在人的语音指令下完成“前进”、“后退”、“变速”、“演奏”等动作,和人有良好的互动性,实现了玩具的智能化。

2 系统框图
    硬件组成框图如图 2.1所示:主要由电池盒、61B板、传感器组、电机控制电路、电机、显示电路等部分组成。



图 2.1 硬件框图

    通过一个开关控制玩具的启动、停止,首次下载程序后或按下重录键可以进行语音命令训练。训练内容有:前进、后退、变速、温度。
    用户发出“变速”的命令时,小狗可以做出相关响应,将电机的转度改变。
    用户发出“前进”或“后退”的命令时,小狗会做出前进或后退的动作。同时相应的发光二极管会点亮。
    在前进过程中如果遇到障碍物,小狗会发出“汪——汪汪”的狗叫声,并停止运动。
    用户发出 “演奏” 命令时,小狗会进行大合唱。

3 硬件电路

3.1 障碍物检测电路
    出于成本的考虑,这里采用红外对管作为障碍物检测的传感器。由于红外对管容易受可见光干扰,为了在不同的光线环境下,该传感器都能正常工作,特采用循环检测的方式而且实践证明该方式非常有效。

图 3.1 障碍物检测传感器电路

3.2 显示电路
    显示电路由两个发光二极管指示电机工作状态。前进时D5绿灯(IOB11)亮,后退时D6红灯(IOB10)亮。电路原理图如下:


图 3.2 显示电路

3.3 电机驱动控制电路
    电机控制电路原理及控制模块:其控制电路如图4所示。电机驱动控制电路由I/O口输出信号送PB8和PB9,J13是电机插座,VDD是给电机供电的电源。电机的控制原理为:通过PB8和PB9的不同电平输入,在J13处得到正反向控制电压来实现电机的正反转,例如:当PB8为高PB9为低时,三极管Q1、Q2、Q3导通; Q6、Q7、Q8截止,此时由于Q2导通Q8截止,J13的1脚相当于接地;由于Q3导通Q7截止,电源J13的2脚相当于接电源VDD,这样就可以在J13处获得一个正向电压(2(+),1(-)),从而驱动电机正向转动。当需要电机反转时,同理只需使输入端PB8和PB9的电平反向即可。

  
图 3.3  电机驱动控制电路

控制电路的控制方式如表 3.1所示:
                          表 3.1
2006-2-23 22:56 上传 下载附件 (8 Bytes)

4  软件设计

4.1 主程序流程说明
    程序流程主要通过程序主模块来实现,主模块的任务包括:硬件资源初始化、响应用户输入以及调用相关子模块对用户输入进行相应的处理。程序的主流程图如图 4.1所示:

  
图 4.1 主程序流程

4.2 各功能子模块及流程说明
    硬件资源初始化:根据硬件资源的使用情况,对其进行相应的初始化,以便后面的程序使用。初始化工作主要包括:Port_A和Port_B的输入输出属性设置、初始化存储器RAM等。
    命令训练模块:主要功能是给出语音提示,对用户的语音输入进行比较并保存正确的语音数据。命令训练模块的具体流程如下:

  
图 4.2 命令训练流程

    电机控制:主要任务是实现电机的快慢速、正反转控制。控制电机为直流电机,通过PWM信号来控制,PWM控制信号由软件来产生,PWM信号的占空比由软件来设定。电机控制流程图如下:


图 4.3 电机控制流程

    障碍物检测:主要任务是判断前方是否有障碍物,如果有障碍物,则电机停转,并播放狗叫。障碍物检测是通过循环读取红外线传感器的输入信号来实现的。障碍物检测模块流程图如下:


图 4.4 障碍物检测模块流程

    键盘输入扫描:在主循环中反复读取相应IO端口的值,并进行去抖动处理,即在探测到有按键按下后,延迟一定时间再重新探测键值,并判断是否与上一次的探测值相等,如果相等则继续进行下面的处理。 根据探测的键值类型,进行相应的处理。键盘输入扫描模块流程图如下:


图 4.5 键盘输入扫描模块流程

5 结语
    使用SPCE061A进行智能玩具的开发具有明显的优势。该单片机具有DSP的功能,在此基础上可以实现语音识别、语音播放等算法,与专用语音处理芯片相比具有结构简单、成本低廉等特点。而现成的语音API函数也大大加快了产品开发的进程,提高了效率。IOB8、IOB9的PWM功能使得电机控制非常的容易。由于功能比较简单,很多IO口和内部资源没有用到,本产品外围还可以增加多个传感器以实现障碍物的智能躲避或目标的跟踪等。

[文章来源:凌阳科技大学计划]