语音遥控智能小车设计.docx
- 文档编号:10872800
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:36
- 大小:181.13KB
语音遥控智能小车设计.docx
《语音遥控智能小车设计.docx》由会员分享,可在线阅读,更多相关《语音遥控智能小车设计.docx(36页珍藏版)》请在冰豆网上搜索。
语音遥控智能小车设计
介绍了语音遥控的电动小车的机械结构及控制部分.在机械结构上,对普通的玩具小车做了改进,使小车的转向更加灵活,并且在设计范围内可以实现任意角度转弯和任意速度移动;而在控制系统部分,则采用语音控制方式,使小车可以"听懂"人的命令,娱乐性和互动性更强.
该小车各部分采用模块化设计,各个模块之间独立性强。
控制部分采用可编程微处理哭器,可以在不增加系统硬件的情况下方便地对系统进行二次开发。
本文对一辆小车进行了实验,实验结果表明,语音识别系统在低噪声环境中识别率很高,在噪声水平较高的场合,识别率有所下降。
小车反应灵敏。
关键词:
语音识别单片机智能小车电机驱动
ABSTRCT
Introducedthepronunciationremotecontrolelectricallyoperatedcarmechanismandthecontrolsection.Inthemechanism,hasmadetheimprovementtotheordinarytoycar,causesthecartochangenimbly,andmayrealizetherandomanglecurveandthefreevelocitymigrationinthedesignscope;Butincontrolsystempart,thenselectsthevoicecontrolmethod,enablesthecartobepossible"tounderstandthe"person'sorder,theentertainmentandinteractiveisstronger.
Thiscarvariouspartusesthemodulardesign,betweeneachmoduleindependent.Thecontrolsectionusesprogrammablemicroprocessingtocry,mayinnotincreasethesystemhardwareinthesituationconvenientlytocarryonthere-developmenttothesystem.Thisarticlecarriedontheexperimenttoacar,theexperimentalresulthadindicatedthat,thespeechrecognitionsystemdistinguishedinthelownoiseenvironmentrateisveryhigh,inthenoiselevelhighsituation,therecognitionratehadthedrop.Thecarresponseiskeen.
Keyword:
Speechrecognitionmonolithicintegratedcircuitintelligencecarmotor-driven
绪论
在电气时代的今天,电动机一直在现代化的生产和生活中起着十分重要的作用。
无论是在工农业生产、交通运输、医疗卫生、办公,还是在日常生活中,都大量的使用着各种电动机。
而微处理器取代模式电路作为电动机控制的技术也日渐成熟。
单片机介于工业控制计算机和可编程控制器之间,他有较强的控制能力、低价的成本。
人们在选择电动机控制器时,常常是在先满足功能需要的同时,优先选择成本低的控制器。
语音遥控的电动小车的机械结构及控制部分有了新的改进。
在机械结构上,对普通的玩具小车做了改进,使小车的转向更加灵活,并且在设计范围内可以实现任意角度墨迹和任意速度移动;而在控制系统部分,则采用语音控制方式,使小车可以“听懂”人的命令,娱乐性和互动性更强。
1总体方案
1.1方案论证
本系统采用芯片TSG110进行语音识别过程,通过语音的识别完成对小车的控制,通过对红外的检测完成对小车的避障,该设计可以达到系统要求的各项指标,设计方案是可行的。
1.2总体方案图
1.3系统工作原理
该系统是基于单片机的语音遥控车系统,该系统包括了语音训练识别模块,驱动电机模块(包括转向电机和驱动电机),红外检测模块,控制键盘模块,和单片机的电源设计。
该系统首先是利用语音芯片进行语音采集,将语音信息放入语音芯片的内存中,并判断语音的训练是否成功。
成功的话,则进行语音识别过程,该芯片一直处在语音识别过程中,对接受到的语音与内存中的语音进行比较,如果相同则对小车完成相应的操作。
小车的驱动和转向是由H型双极性进行双极性驱动,可以很好的完成小车的正转和反转,小车的转向由机械部分传动,电机正反转完成小车的左转和右转。
小车在停车时可以通过按键进行语音信息重输。
小车在前进过程中是通过红外检测可以检测到20~30CM内是否有障碍物,可以完成避障。
2硬件设计
2.1语音识别模块
本系统采用TSG110芯片进行语音识别:
TSG110语音识别集成电路
TSG110是一种单片式语音识别集成电路。
它除了具有内置音频信号方法器、接口电路、声音压缩、分析、识别处理系统外,还自带64kB的SRAM和ROM电路,具有性能可靠、功能完整和外接元器件少等特点。
其芯片引脚图1。
TSG110语音识别集成电路管脚功能表:
引脚号
名称
输入/输出
功能
1
2
3
K1
输入/输出
人工控制时,为外接键盘式扫描信号端CPU控制时,为数据总线,CPU可读取TSG110的状态寄存器及WD1~WD4的内容
K2
K3
4
EOR
输出
语音输入指示,当有语音输入时,ERO=1
,否则ERO=0
5
WR
输入/输出
人工控制时无效,CPU控制时为读/写端
6
NC
空脚,无用
7
RD
输出
人工控制时无效,CPU控制时,为读/写控制端。
低电平时为读写状态
8
REGST
输入
识别精度控制端。
该端为1时,识别精度高;为0时,识别精度低
9
STBY
输入
状态选择,STBY=1为等待状态;STBY=0为工作状态
10
11
12
CPUM
输入
输出
工作模式选择,CPUM=1为CPU模式;
CPUM=0时为人工模式测试端;在使用时无效
TIO3
TIO2
13
ADCAP
输出
内部A/D转换电路参考电压端
14
Tref
输出
内部语音识别电路参考电压端
15
Uref
输出
内部模拟电路参考电压端
16
Uss
电源地
17
Udd2
数字电路正电源端
18
NC
空脚,无用
19
LINE
输入
语音输入方法选择端,LINE=1,线路输入;LINE=0,传声器输入
20
LINEIN
输入
语音线路输入端
21
TS3
输出
测试端,工作时应接地
22
TIO3
输出
测试用,使用时无效
23
TS2
输出
测试端,工作时应接地
24
MICIN
输入
传声器输入端
25
TS1
输出
测试端,工作时应接地
26
27
WD1
输出
输入、输出状态指示,以二进制形式表示,分别为低一位、低二位
WD2
28
NC
空脚,无用
29
30
WD3
输出
输入、输出状态指示,以二进制形式表示,分别为低三位、低四位
WD4
31
P01
输出
芯片工作状态指示,P01=1,等待状态;P01
=0,工作状态
32
33
34
P02
输出
始终处于低电平状态
P03
P04t
35
Xin
输入
外接晶震端,也可以从此端直接引入外接震荡信号,f=800kHz
36
Xout
输出
外接晶震端,当Xin直接引入外接震荡信号时,此端应为悬空
37
ACL
输入/输出
复位端,ACL=0时,TSG110复位
38
NC
空脚,无用
39
Udd1
模拟电路正电源端
40
41
42
43
S4
输入/输出
人工控制时,为键盘扫描信号端
S3
S2
S1
44
K4
同K3、K2、K1
语音训练、语音识别与WD4~WD1输出的关系
WD4、WD3、WD2、WD1的输出
语音训练(建立样本)
语音识别过程
0000
复位或静态时
复位或静态时
0001
1号段训练
识别1号段语音
0010
2号段训练
识别2号段语音
0011
3号段训练
识别3号段语音
0100
4号段训练
识别4号段语音
0101
5号段训练
识别5号段语音
0110
6号段训练
识别6号段语音
0111
7号段训练
识别7号段语音
1000
8号段训练
识别8号段语音
1001
9号段训练
识别9号段语音
1010
10号段训练
识别10号段语音
1011~1101
无效
无效
1110
输入的语音时间短于0.16s
输入的语音时间短于0.16s
1111
输入的语音时间短于0.96s
输入的语音时间短于0.96s
单片机与TSG110的连接
2.2电机驱动模块
本设计即主要介绍这种直流电机的驱动及控制。
小车的运行和转向都采用H型双极性驱动
双极性驱动可逆PWM系统的控制原理
当电动机在较大负载情况下反转工作时,情形正好与正转时相反,当电动机在轻载下工作时,负载使电枢电流很小,电流波形基本上围绕横轴上下波动,电流的方向也在不断变化,如图6-9(c)琐事。
在每个PWM周期的0~t区间,V2、V3截止,开始时,由于自感电动势的作用,电枢中的电流维持原流向——从B到A,电流线路如图6-8中虚线4,经二极管D4、D1到电源,电动机处于再生制动状态。
由于二极管的D4、D1钳位作用,此时V1、V4不能导通。
当电流衰减到零后,在电源电压的作用下,V1、V4开始导通。
电流惊V1、V4形成回路,如图6-8中虚线1。
这时电枢电流的方向从A到B,电动机处于电动状态。
在每个PWM周期的t1~t2区间,V1、V4截止。
电枢电流在自感电动势的作用下继续从A到B,其电流流向如图6-8中的虚线2,电动机仍处于电动状态。
当电流衰减为零后,V2、V3开始导通,电流线路如图6-8中虚线3,电动机处于反接制动状态。
所以在轻载工作时,电动机的工作状态呈电动和制动交替变化。
双极性驱动时,电动机可在4个象限上工作,低速时的高频震荡有利于消除负载的静摩擦,低速平稳性好。
但在工作的过程中,由于4个开关管都出在开关状态,功率损耗大,因此双极性驱动只用语小功率直流电动机上。
单片机通过P2口进行控制电机。
当B1电机正转时前进,反转时后退。
另一个电动机控制左右转,电机正转时左转,电机反转是右转。
2.3红外检测模块
采用红外线避障方法,利用一管发射另一管接收,接收管对外界红外线的接收强弱来判断障碍物的远近,由于红外线受外界可见光的影响较大,因此用250Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。
接收管输出TTL电平,有利于单片机对信号的处理。
采用红外线发射与接收原理。
利用单片机产生38KHz信号对红外线发射管进行调制发射,发射距离远近由RW调节,本设计调节为10CM左右。
发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出TTL电平。
利用单片机的中断系统,在遇障碍物时控制电机并使小车转弯。
由于只采用了一组红外线收发对管,在避障转弯方向上,程序采用遇障碍物往左拐方式。
如果要求小车正确判断左转还是右转,需在小车侧边加多一组对管。
外界对红外信号的干扰比较小,性价比高。
。
调试时主要是调制发射频率为接收头能接收的频率,采用单片机程序解决。
发射信号强弱的调节,由可调精密电阻调节。
2.4键盘电路
键盘工作原理
可采用“扫描”的方法查看键盘中有无按键按下以及所按的是哪有个键,其原理如图所示。
先对各行线都送以低电平,若读回各列线的电平值仍为1,便说明未曾按过按键;若某列出现低电平,则说明跨接到该列的按键已有按下。
因此使行线上的低电平引入到列线。
要辨别是该列的哪个按键被按,需进一步通过“逐行扫描”,查看个列线电平值来鉴别。
2.5主控芯片8051模块
2.5.1单片机的电源设计
对于模数转换部分,需要较高的电源基准,可采用电源隔离、稳压和精密调整等一系列芯片实现单独的供电;对于控制部分和数字化的传感器,由于对电源的要求不高,直接引用电池电压;对于特殊的电源要求,如串行信号的传输,需要±9V的参考电压,利用升降压和电源转换芯片实现,具体规划如图所示。
6V
9v5.2V
5V2.5V
从图中看出,在本例中分别使用MAX1675、MAX8875、MAX61923种电源变换芯片,将系统的电源电压从不稳定的5V变换到稳定的5V和电压基准2.5V。
MAX1675
MAX1675升降型DC-DC转换器,属于电压变换类的芯片,可提供高达94%的转换效率,安装于微型uMAX封装管内,静态电流仅16uA。
内置同步整流器一方面改善了效率,另一方面省去了外部肖特基二极管,从而使尺寸更小、成本更低。
MAX1675具有0.5A限流,允许使用很小的电感。
并且由于消除了电感振荡,使EMI降至最低。
所有器件内置0.3Ω,N沟道MOSFET,可选择3.3V或5V输出电压。
输出也可利用分压电阻在2V至5.5V范围内调节。
输入电压范围为0.7V至Vout,开启电压可低至1.1V。
输出电流200mA时,效率达94%,内置低电压检测和0.1uA停机模式。
MAXA8875
MAX8875低至差线性稳压器输入范围为+2.5V~+6.5V,输出电流达150mA,使用P沟道MOSFET调节器输出,以在最高为150mA的任何负载下保持低的压差和低的电源电流。
MAC8875在输出端只需一个1uF陶瓷电容,就能确保负载最高为150mA时的稳定性。
MAX8875采用一个低成本的钽电容,实现优化工作。
可提供输出电压值为2.5V、2.7V、3.0V、3.3V、和5.0V,他们的初始精度为±1%。
MAX8875带有“POWER-OK”输出为引脚,当输出电压超出稳压范围时产生报警信号。
该电路图输出稳定5V电压,直接可以给单片机提供电压
2.5.2单片机复位电路
基本复位电路
复位电路的基本功能是:
系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
上图所示的RC复位电路可以实现上述基本功能。
3.软件设计
本程序的主要由语音训练程序,监控程序扫描键盘程序电机驱动程序。
三部分构成。
主程序首先完成对软件所要用到的内存进行初始化,然后进入下一步进行语音训练程序,根据按键完成对相应的段的语音训练,并判断该段语音训练是否成功,如果成功的话,则进行下一段的语音训练,直到语音训练结束键按下,语音训练则结束。
进入监控程序,监控程序完成对红外检测的读取,键盘扫描,语音的接收并识别,识别成功后,对小车完成相应的控制。
根据单片机与TSG110语音识别控制芯片的连接,单片机是这样控制TSG110语音芯片的内部语音段(该系统需要4段语音,分别为前进、后退、左转、右转):
一号段训练,置高P0.0与P1.0前进语音段
二号段训练,置高P0.1与P1.0后退语音段
三号段训练,置高P0.2与P1.0左转语音段
四号段训练,置高P0.3与P1.0右转语音段
清除对应段指示,置高P0.0与P1.1
左右转存放40H,前进后退存放41H,“0”表示正转,“1”表示右转。
3.1主程序
`
主程序流程图的介绍:
一开始进行语音训练程序,完成基本语音的输入,并判断是否成功输入。
主程序利用监控程序采集语音,语音识别,识别成功完成相应的对小车的基本控制。
并能在小车运行过程中利用红外检测完成小车避开20~30厘米左右的障碍物。
监控程序不断循环,直到有停车语音接收到。
3.2监控程序
系统监控程序是控制单片机按预定操作方式运转的程序。
它完成人机对话和远程控制等功能,使系统按操作者的意图或遥控命令来完成指定的作业,当用户操作键盘(或按钮)时,监控程序必须对键盘操作进行解释,然后调用相应的功能模块,完成预定的任务,并通过显示等方式给出执行的结果。
因此,监控程序必须完成解释键盘、调度执行模块的任务。
系统投入运行的最初时刻,应对系统进行自检和初始化。
开机自检在系统初始化前执行,如果自检无误,则对系统进行正常的初始化,通常包括硬件初始化和软件初始化两个方面。
硬件初始化工作是指对系统中的各种硬件资源设定明确的初始状态,如对各种可编程芯片进行变成、对各I/O端口设定初始状态和硬件资源分配任务等。
软件初始化包括对中断的安排对堆栈的安排、状态变量的初始化、各种软件标志的初始化、系统时钟的初始化和各种变量存储单元的初始化等。
自检过程和初始化过程也是监控程序的任务之一,但由于通常只执行一便,且编写方法简单固定,故做介绍监控程序设计时,通常也不在提及自检和初始化。
单片机系统在运行时,也能被某些预定的条件触发而完成规定的作业。
这类条件中有定时信号、外部触发信号时,监控程序也应考虑这些触发条件。
监控程序的任务有:
完成系统自检、初始化、处理键盘命令、处理接口命令、处理条件出发、及时启动输出和显示功能。
监控程序流程图
监控程序简介
在本系统中,利用单片机中的两个计数器,完成系统的监控任务,在该系统中。
外部循环60000次,内部循环的时间为1ms。
在内部循环的1ms的时间内完成完成所有的小车控制,
ORG0000H
LJMP0030H
ORG001BH;中断服务程序
SETBF0
RETI
0030H:
START:
MOVTMOD,#0101001BH
MOVTH1,#15H
MOVTL1,#A0H
MOVTH0,#FCH
MOVTL0,#18H
CLRP3.5
MOVIE,#88H
SETBTR1
005FH:
SETBTR0
0060H:
LOOP:
008FH:
JNBTF0
CLRTF0
JBF0,ELSE
SETBP3.5
MOVTH0,#FCH
MOVTL0,#18H
CLRP3.5
SJMPLOOP
ELSE:
按本方案的设计延时,计算机可同时承担其他工作,完成系统的监控任务。
以上程度段中自0030H到0050H为初始化程序;自0060H到008FH计算机执行着监控等任务,其执行总时间与执行0093H到00A3H间程序所用时间之和不应超过1ms;达到一min延时后,响应定时器/计数器1中断,进入中断服务程序,标志位F0建起,使程序转移到ELSE,只相应程序后,又转移到REPEAT。
程序中有关定时器/计数器1和1置数的计算如下:
定时器/计数器哦按ms定时,当采用12MHz晶振时,内部时钟脉冲的频率为1MHz,每1us计1个脉冲,1ms需1000个脉冲。
因1000=03E8H
故定时器/计数器0应预置以FC18H,即在TH0中置数FCH,在TL0中置数18H。
又定时器/计数器1按60000次计数,
因60000=EA60H
故定时器/计数器1定时器15A0H,既在TH1中置数15H、在TL1中置数A0H。
3.3语音训练程序
语音训练程序的工作过程:
程序一开始扫描键盘,直到有语音训练键的段号按下,根据按键的值完成对相应的语音段进行训练,延时一定时间,在这一秒钟,完成对语音的输入。
单片机接收芯片的信息,判断语音是否输入成功。
输入成功的话则不给提示,如果输入不成功的话,则用一个二极管提示重新进行输入。
直到四段语音全部输入完毕,则等待是否有语音输入完毕键按下,有的话,则退出语音训练程序。
没有的话,则可对四段语音进行任意修改。
该段语音程序只要按语音输入完毕键,则可以一直对四段语音进行输入。
3.4键盘扫描程序
键盘与单片机的连接:
单片机用P3.0,P3.1,P1.0~P1.3这6个引脚进行控制
在本系统中,可采用“扫描”的办法查看键盘中有无按键按下以及所按是哪一个键,下对个行线都以低点平,若读回各列线的电平值仍全为1,便说明未曾按过案件‘若某列出现低电平,则说明跨界该列的按键以有按下,因此使行线上的低电平引入到列线。
到辨别是该列的拿一个按键被按,需进一步通过“逐行扫描”查看各列线电平值来鉴别。
应用键盘的单片机系统为了能即使地响应键操作,需经常对键盘进行扫描。
究竟在何时扫描,可以有不同的安排。
有的主程序循环执行过程中作为内容之一附带进行;有的按时间定时进行;也有的在有按键按下的同时将申请外部中断,而只在CPU响应并进入这一外部中断服务程序后才进行。
在本系统中,先进行第一行的键盘的扫描:
先给P3.0置高电平,给P3.1置低电平,读取P3.2~P3.5,相应位为高电平表示没有对应的按键按下,为低电平表示有键按下;再进行第二行的键盘的扫描先给P3.1置高电平,给P3.0置低电平,读取P3.2~P3.5,相应位为高电平表示没有对应的按键按下,为低电平表示有对应的按键按下。
3.5电机驱动程序
在本系统由于需要正反转,所以本系统采用H型双极性驱动电机。
H型双极可逆PWM驱动系统。
它由4个开关管组成,单电源供电。
4个开关管分两在V1、V4注意组,V2、V3为另一组。
同一组开关管同步导通或关断,不同组的开关管的导通或关断正好相反。
在每个PWM周期里,当控制信号Ui1高电平时,开关管V1、V4导通,此时Ui2为低电平,因此V2、V3截止,电枢绕组承受从A到B的正向电压;当控制信号Ui1低电平时,开关管V1、V4截止,此时Ui2为高电平,因此V2、V3导通,电枢绕组承受从B到A的反向电压,这就是所谓的“双极”。
在本系统中分为两种电机,一个是完成小车的前进和后退,另一个是完成小车的左转和右转。
本系统中单片机控制电机的引脚分配:
引脚P2.0完成对驱动电机正转(小车前进)
引脚P2.1完成对驱动电机反转(小车后退)
引脚P2.2完成对转向电机正转(小车左转)
引脚P2.3完成对转向电机反转(小车右转)
引脚的控制见电路图所示:
由于该系统的驱动比较简单,利用H型双极性驱动电机,足以完成对小车的前进,后退,左转和右转功能。
由电路图可知,当V1,V4导通,电机正转,当V2,V3电机反转。
两个电机均是这样。
电机驱动程序流程图为
3.6延时程序
计算机执行一段程序需要时间,利用计算机执行程序耗用的时间来实现延时的,称为“延时程序”。
应用延时程序可方便地实现“软件延时”,不需要另添硬件,且变化灵活,故用得很多。
缺点是在延时过程中CPU被占用,所以不宜设计太长的延时程序。
设计一延时程序,延时时间为1ms。
DELAY1:
MOVR1,#0AH
MOVR2,#18H
NOP
NOP
DJNZR2,DL1
DJNZR1,DL2
RET
当采用12MHz晶振时,1机器周期=1us,执行这段程序将用993us,与1ms比较,存在7us误差
本列采用R1、R2两个工作寄存器作为计数器;在社顶R1、R2后,在R2的减1计数构成内循环;R1的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 遥控 智能 小车 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)