语 音 控 制 小 车
用 户说 明 书
目录
一、语音控制小车概述 ............................................................ 3
1.1 功能简介 ................................................................ 3 1.2 参数说明 ................................................................ 3 1.3 注意事项 ................................................................ 3 二、小车实物 .................................................................... 4
2.1 车体结构 ................................................................ 4 2.2 小车实物图 .............................................................. 4 2.3 动力电机驱动电路 ........................................................ 5 2.4 方向电机控制电路 ........................................................ 6 2.5 语音识别原理简介 ........................................................ 6 三、 软件流程 ................................................................... 7
3.1 主程序流程图 ............................................................ 7 四、 如何使用 ................................................................... 9
4.1 连接硬件 ................................................................ 9 5.2 代码下载 ................................................................ 9 5.3 训练小车 ................................................................ 9 5.4 声控小车 ............................................................... 10 5.5 重新训练 ............................................................... 11
2
一、语音控制小车概述
1.1 功能简介
语音控制小车综合应用了SPCE061A的众多资源,打破了传统教学中单片机学习枯燥和低效的现状。小车采用语音识别技术,可通过语音命令对其行驶状态进行控制。 语音控制小车的主要功能:
1) 可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;
2) 配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能; 3)可以在行走过程中声控改变小车运动状态; 4)在超出语音控制范围时能够自动停车。 1.2 参数说明
车体:双电机四轮驱动
供电:电池(四节AA:1.5V×4) 工作电压:DC 4V~6V 工作电流:运动时约200mA 1.3 注意事项
1)安装电池一定要注意电池的正负极性,切勿装反; 2)长期不用请将电池从电池盒中取出;
3) 由于语音信号的不确定性,语音识别的过程会出现一定的误差和不准确性; 4)由于小车行动比较灵活,速度比较快,在使用时一定要注意保持场地足够大,且保证不会对周围的物体造成伤害;
5)不要让小车长时间运行在堵转状态(堵转状态:由于小车所受阻力过大,造成小车电机加电但并不转动的现象),这样会造成很大的堵转电流,有可能会损坏小车的控制电路。
3
二、小车实物
2.1 车体结构
语音控制小车为四轮结构,车的结构示意图如图 2.1所示。其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。在自然状态下,前轮在弹簧作用下保持中间位置。后面两个车轮由后轮电机驱动,为整个小车提供动力,所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮,如图 2.2所示。
2.2 小车实物图
图 2.3
整个小车分为三大部分:车体部分、61板、控制板,如图 2.3所示。
4
1)车体部分:小车车体主要为两个电机驱动装置,分前轮(方向)驱动和后轮(动力驱动)。在车体的下面有一个可以安装4节AA电池的电池盒,整个小车的电源就是由它来提供的。在小车的底部有一个小开关,它负责控制整个小车的电源开通与关断。
2)61板:61板是小车的核心部分,它负责整个小车控制信号的产生,以及语音的播放和识别功能实现。在不使用小车时可以将61板从小车上拆下来,61板仍然是完整的,可以用它来做其它的实验或开发。
3)控制板:控制板负责将来自61板的控制信号转化为能够驱动电动机的信号。 2.3 动力电机驱动电路
动力驱动由后轮驱动实现,负责小车的直线方向运动,包括前进和后退,后轮驱动电路是一个全桥驱动电路,如图 2.7所示:Q1、Q2、Q3、Q4四个三极管组成四个桥臂,Q1和Q4组成一组,Q2和Q3组成一组,Q5控制Q2、Q3的导通与关断,Q6控制Q1和Q4的导通与关断,而Q5、Q6由IOB7和IOB6控制,这样就可以通过IOB7和IOB6控制四个桥臂的导通与关断控制后轮电机的运行状态,使之正转反转或者停转,进而控制小车的前进和后退。
VCC385508550Q123Q32R12001118050Q52R32KIOB7J221R220013Q628050后轮驱动180508050Q22R42KIOB61Q423 图 2.7后轮电机驱动电路
当IOB6为高电平、IOB7为低电平时Q1和Q4导通,Q2和Q3截止,后轮电机正转,小车前
进;反之当IOB6为低电平、IOB7为高电平时Q1和Q4截止,Q2和Q3导通,后轮电机反转,小车倒退;而当IOB7、IOB6同为低电平时Q1、Q2、Q3和Q4都截止,后轮电机停转,小车停止运动。
注意:IOB7和IOB6不能同时置高电平,这样会造成后轮驱动全桥短路现象。
5
332.4 方向电机控制电路
方向控制由前轮驱动实现,包括左转和右转,前轮驱动电路也是一个全桥驱动电路,如图
2.8所示:Q7、Q8、Q9、Q10四个三极管组成四个桥臂,Q7和Q10组成一组,Q8和Q9组成一组,Q11控制Q8、Q9的导通与关断,Q12控制Q7和Q10的导通与关断,而Q11、Q12由IOB5和IOB6控制,这样就可以通过IOB5和IOB6控制前轮电机的正转和反转,进而控制小车的左转和右转。 注意:IOB5和IOB6不能同时置高电平,这样会造成前轮驱动全桥短路现象。
VCC3Q723Q92R5200855085501118050Q112R72KIOB5J312R620013Q1228050前轮方向驱动180508050Q82R82KIOB41Q10232.5 语音识别原理简介
语音识别主要分为“训练”和“识别”两个阶段。在训练阶段,单片机对采集到的语音样
本进行分析处理,从中提取出语音特征信息,建立一个特征模型;在识别阶段,单片机对采集到的语音样本也进行类似的分析处理,提取出语音的特征信息,然后将这个特征信息模型与已有的特征模型进行对比,如果二者达到了一定的匹配度,则输入的语音被识别。
6
33三、 软件流程
3.1 主程序流程图
以配套资料中的语音识别程序(Car_Demo)为例,说明语音识别小车的实现过程,图 4.1
所示为小车的主程序工作流程。
7
图 4.1 主程序流程图
语音识别小车的主程序流程如图 4.1所示,分为四大部分:初始化部分、训练部分、识别初始化部分:初始化操作将IOB4~IOB7设置为输出端,用以控制电机。
训练部分:训练部分完成的工作就是建立语音模型。程序一开始判断小车是否被训练过,
部分、重训操作。
如果没有训练过则要求对其进行训练,并且会在训练成功之后将训练的模型存储到FLASH,在以后使用时不需要重新训练;如果已经训练过会把存储在FLASH中的模型调出来装载到辨识器中。
识别部分:在识别环节当中,如果辨识结果是名字,停止当前的动作并进入待命状态,然后等待动作命令。如果辨识结果为动作指令小车会语音告知相应动作并执行该动作,在运动过程中可以通过呼叫小车的名字使小车停下来。
重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61板的KEY3),循环扫描该按键,一旦检测到此键按下,则将擦除训练标志位(0xe000单元),并等待复位。复位后,程序重新执行,当检测到训练标志位为0xffff时会要求重新对其进行训练。
在程序的代码中有详细的注释,请参看资料中的例程“Car_Demo”。
8
四、 如何使用
4.1 连接硬件 1)改造新车体
把车体的车盖和内部的原来控制去处,分清楚前轮的电机线(蓝、黄)、后轮电机线(红、黑)、电源线(红VCC、棕GND)。 2)连接新驱动板:
A)前轮的电机线(蓝、黄)的“蓝色”接J3的左插针,“黄色”接J3的右插针。 B)后轮的电机线(红、黑)的“红色”接J2的左插针,“黑色”接J2的右插针。 C)车体的电源线(红VCC、棕GND)接驱动板的POWER处,同时接到语音控制板的J10(注意分清+、-)。
D)驱动板的SPK接语音控制板的J3,线接好后即可安装固定新驱动板和语音控制板了小车的硬件连接就完成了。 5.2 代码下载
硬件连接完成之后,检查无误,接下来就可以下载程序了。具体的步骤为:
第一步:使用EZ_PROBE下载器,请将一端接PC机并口,一端接语音控制板的5pin接口EZ_PROBE,跳线要连接S5的2与3。 打开集成开发环境,打开“FILE/OPEN”中打开“Car_Demo.spj”文件,编译链接。(注意:如果看不到Car_Demo.spj,请在弹出的对话框中选择打开类型为spj或者所有文件)
第二步:点击菜单Project->Select Body,或者直接点击 图标打开如图 5.1所示的对话框:
图 5.1 Select Body对话框
第三步:在弹出的对话框中选择Body Name为SPCE060A_061A,选择Probe为Auto,点击OK
按钮确定。
第四步:点击IDE工具栏上的图标
”下载程序
,选择Use ICE模式。分别点击“
”编译无误
后点“
5.3 训练小车
成功下载程序以后,去掉下载线并复位系统(如果使用EZ-Probe还应将Probe选择跳线S5
9
拔去,接到12处),小车就会提示对它进行训练。训练采用应答式训练,每条指令的训练次数
为两次,每一条命令的训练过程都是一样的,以“前进”为例说明:
步骤一:小车提示“前进”; 步骤二:告诉小车“前进”;
步骤三:小车提示“请再说一遍”(重复训练提示音); 步骤四:再次告诉小车“前进”(重复训练一次)。
这是一个完整的训练过程,如果训练成功,小车会自动进入下一条指令的训练,并会提示
下一条指令对应的动作;如果没有训练成功,小车会提示“说什么暗语呀”或者“没有听到任何声音”等信息,这样的话就要重复刚才所说的四个步骤,直到成功为止。
整个的训练过程共有5次这样的训练,依次为:名称——前进——后退——左拐——右拐。整个的训练流程如图 5.2所示:
图 5.2 小车训练流程
5.4 声控小车
训练完小车之后,怎样进行声控操作,让小车运动或者停下来呢?
10
可以直接对小车说前进,或者倒车、左拐、右拐等,小车如果识别出指令会有一个回应信号,告知你它要执行的动作,然后执行该动作。如果想要小车执行其它动作,直接告诉小车将要执行动作对应的指令即可。比如告诉小车“倒车”,小车识别出之后就会直接倒车。 5.5 重新训练
在实际的使用过程当中,可能会对训练的结果不满意,或者其他人也想对它进行训练、控制。这样就要求小车可以被重新训练。为此,我们把61板的KEY3键定义为重新训练按钮,系统运行之后就会不断的扫描61板的KEY3键。如果检测到KEY3键按下,那么程序首先会把训练标志位(0xe000)单元擦除,并会进入一个死循环等待复位的到来。复位到来之后,程序检测到训练标志单元内容为0xffff,认为小车 没有经过训练,就会要求对它进行训练。
11
因篇幅问题不能全部显示,请点此查看更多更全内容