声音导引系统包含详细的程序等Word格式.docx
- 文档编号:20779910
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:38
- 大小:1.04MB
声音导引系统包含详细的程序等Word格式.docx
《声音导引系统包含详细的程序等Word格式.docx》由会员分享,可在线阅读,更多相关《声音导引系统包含详细的程序等Word格式.docx(38页珍藏版)》请在冰豆网上搜索。
附录4图2.7.112
附录5表4.1.113
附录6图4.2.114
附录7表4.2.214
附录8表4.2.414
附录9表4.2.515
附录10图4.2.115
附录10主要元件清单16
附录10程序清单16
1系统方案
1.1总体设计方案
本系统设计要求实现三个位置不同的声音接收器引导一个可移动声源精确定位,设计要素有声音接收器、测距方案、以及定位算法。
1.1.1整体方案比较
(1)测距方案的论证与选择:
方案一:
采用音频峰值检测的方法,比较三个接收点音频信号峰值的大小来判断小车与接收点之间的距离(距离远近不同,峰值不同),从而控制小车的运动。
方案二:
采用测量音频信号传递时间的方法,比较声音从声源到三个接收点的传播时间长短来判断小车与接收点之间的距离(距离远近不同,传播时间不同),从而控制小车运动。
方案选择:
若采用方案一,声源在距离变化同时,接收点接收到的声音大小也在变化,因此峰值测量本身就存在较大的误差。
且三个信号的差距微小,须通过放大及AD采样才能检测出变化,电路复杂。
方案二声音速度远超过小车速度,速度误差可以忽略不计,且外围电路相对简单,但要求控制器要有三个外部中断口和较快的处理速度。
通过比较,选择方案二。
(2)定位控制算法的论证与选择:
采用三线定位的方案。
在确定声源与每个接收点的距离或者距离差之后,通过三个接收点与声源位置的不同关系确定位置。
采用模糊补偿的方案。
先大致判断出声源距一个接收器的距离,将声源划分在几个模糊的位置,分别对不同位置的时间差进行不同的补偿,然后再比较两个接收器接收到声音信号的时间差来确定位置。
方案比较:
方案一需要计算接收点与声源的距离需要使用三角方程或者多次函数,计算复杂,不适合单片机控制,方案二只需求出时间差,通过模糊补偿时间差来定位,设计简单,所以选择方案二。
(3)主控制器的论证与选择
采用Atmega128单片机。
Atmega128单片机运算功能强,运算速度快,编程灵活,并且其具有丰富的外部中断口资源(7个外部中断口)、功耗低、体积小、技术相对比较成熟和成本低等优点,因此Atmega128控制芯片能很好的满足系统设计需求。
从性价比和低功耗考虑,选择方案二。
(4)从机控制器的论证与选择
采用Atmega8单片机。
Atmega8单片机小引脚封装,其性价比相当的高,运算功能强、运算速度快。
由于从机系统需要较多的I/O口资源,这里不采用。
采用STC89C52单片机。
STC89C52单片机是一款抗干扰、高速、低功耗功能都很优秀的单片机;
具有32个可用I/O口,资源相对丰富。
从低功耗和可用资源考虑,选择方案二。
(5)电机控制方案的论证
根据题目要求,电动车的平均速度要大于5cm/s,此条件要求电机转速比较快;
定位误差小于3cm,要求电机控制精准;
还要考虑到车体电机安装的问题,所以本设计采用直流电机。
电机驱动芯片采用L298。
L298内含二个H桥的高电压大电流双全桥式驱动器,可以驱动两个直流电机,具有调速特性优良、调整平滑、调速范围广、过载能力大,可实现频繁的无级快速启动和反转的等优点。
(4)其他模块的选择
本设计无线接收模块采用nRF905模块,采用发光二极管和蜂鸣器做声光指示,RT12864液晶显示器做显示,由SK-SDMP3语音模块给出语音提示,ZLG7290按键模块作为输入环节。
1.2设计与论证
1.2.1定位方案的设计
本设计采用测量音频信号传递时间的方法来定位,将音频输入信号接入单片机外部中断口,当接收到音频信号的时候,单片机通过外部中断打开定时器,开始计时;
当下一次音频信号输入的时候再次进入中断关闭定时器,由于8位的ATmega128单片机采用11.0592M的晶振,定时器最小定时时间为:
=90.4ns
而题目最高要求定位精误差小于1cm,即:
=28μs
通过时间上的比较可知定时器完全可以精确到最高要求的时间,理论上完全可以实现精确定位。
1.2.2误差信号产生及控制算法分析
本设计采用单片机计时两个音频信号的间隔时间来计算空间距离,由于声音传播的速度受温度以及其它因素的影响,且计时器本身也存在时间误差,所以测试到的时间差值并不是真正声音传播时间的差值,而是一个时间差的偏差值,但影响时间差值的因素是相同的,所以,所计算到的时间偏差还是成线性关系,同样还是可以利用这个时间差来计算距离差。
本设计采用模糊补偿定位法。
如图1.2.2,先通过音频信号的输入大概确定小车到B点的距离,然后分区进行时差补偿。
只要多分区,误差就可以不断减少。
时差补偿之后对A、B两点所测的时间差进行简单的比较,若:
-
>
说明没有到达中线,电动车继续向前走;
当图1.2.2系统模型原理图
=0
说明已到达Ox线,因为Ox在以AB为底的等腰三角形的中线上,中线到两角的距离相等。
定位W点的时候也是同样的原理。
2单元电路设计
2.1系统组成
通过以上设计方案的论证与分析,可以得出如图2.1.1所示的系统框图。
系统分为主从机控制,主机系统主要由音频接收模块、RT12864显示模块、SK-SDMP3语音模块、LM386功放模块以及ZLG7290按键模块组成,实现音频信号的采集和显示,并通过无线返回给从机,整个过程有语音提示。
机系统由声源控制模块,电机驱动模块以及声光显示模块组成。
主要实现音频信号的发生和执行控制电动车。
系统框图如图2.1.1所示。
图2.1.1系统设计框图
2.2控制器电路设计
主机控制器采用ATmega128单片机,最小系统由Atmega128单片机、复位电路、时钟电路以及接口电路组成(采用购买的模块)。
ATmega128有丰富的I/O口资源和存储空间、32个通用工作寄存器、实时时钟RTC、多通道PWM、SPI串行端口、以及六种可以选择的省电模式,可工作在低耗模式。
从机控制器采用STC89C52单片机,最小系统由STC89C52单片机、复位电路、时钟电路以及接口电路组成,最小系统原理图如附录1图2.2.1a图所示。
STC89C52单片机具有增强型8051内核,具有较多I/O口资源,极低功耗,抗干扰能力强。
2.3音频接收电路设计
音频接收采用驻极体电容话筒,通过LM386的放大后接入比较器LM311,LM311的3脚接可调电阻,通过调节3脚的电压大小就可以选择输入信号大小,还可以抗干扰。
模拟信号经过LM311比较器之后输出数字信号。
电路设计原理图如图2.3.1所示。
图2.3.1音频接收电路设计原理图
2.4nRF905无线模块电路设计
无线传输模块用于从机与主机的通信。
从机和主机都采用挪威NordicVLSI公司推出的nRF905单片射频收发器。
本设计采用433MHz的工作频率。
主从机都采用ShockBurstTX工作模式,通过SPI接口与单片机通信,接口简单,操作方便易实现。
主机、从机电路接口图如图2.4.1所示。
图2.4.1NRF905通讯模块接口图
2.5电机驱动电路设计
电机控制采用NEC电子电机控制ASSP芯片MMC-1。
MMC-1通过串行接口与STC89C52单片机连接,选用通道一和通道二控制L298驱动两个直流电机。
L298与ASSP芯片之间采用光耦进行隔离保护,电路设计原理图如附录2图2.5.1a图所示。
2.6SK-SDMP3语音模块电路设计
SK-SDMP3电路原理图如附录3图2.6.1所示。
模块的19脚和18脚分别为串口数据的输出与输入,18脚与Atmega128单片机的PE1口(串口数据输出口)相连,单片机通过串行通信控制MP3模块,模块的2脚和3脚分别为左声道、右声道输出。
音频信号从NE5534的4脚输入,
用来调节输入信号阻抗,
为反馈电容。
NE5534采用同相放大,这里放大倍数
取决于可调电阻
的大小:
=
+1(式2.5)
第二级采用LM386功率放大电路,3脚为输入端,5脚输出,1脚与8脚为增益调整,这里接入10µ
F的电容和1k的电阻。
2.7其他硬件模块介绍
键盘输入采用ZLG7290键盘/LED专用驱动模块,电路原理图见附录4图2.7.1a图;
液晶显示模块采用RT12864模块,音频发声电路采用华兴机电有限公司生产的电子蜂鸣器,声光显示模块采用蜂鸣器和发光二极管,采用三极管驱动。
3.软件设计
3.1开发软件介绍
软件编程工具采用ICCAVR和KEIL,使用C语言编程,程序设计方便,可移植性强。
3.2系统程序设计
3.2.1主机系统主程序
主机系统的主程序流程图如图3.2.1所示,程序初始化之后主机发送给从机一个发声命令,同时打开外部中断,等待外部音频信号是输入。
由音频信号触发定时器计时,当下一次音频信号到达的时候关闭定时器和外部中断,由于三个不同方向的距离不同,所以音频信号到达的时间也不同,由计时器记得的时间可以计算出时间差值,由时间差值即可判断小车是否已经定位,若已经定位好了,主机通过无线发送命令给从机控制小车停止,若没有定位,则继续进入下一次音频信号接收时间的比较与计算。
3.2.2从机系统主程序
从机系统的主程序流程图如图3.2.2所示,程序开始后等待接收主机通过无线发来的指令,如果没有接收到指令,则一直等待。
如果接收到指令,则进行指令判断,是小车运动指令还是小车停止指令。
如果是小车运动指令,则进入音频发声函数并通过ASSP芯片MMC-1控制小车的前进与后退,小车在完成相应指令之后,给主机发送一个数据,说明已经完成动作,等待主机的下一个指令;
如果是小车停止指令,则停转电机,并发出相应的声光显示,标志已经到达定位点。
3.2.3其他子程序
从机控制器还调用了无线收发子程序、电机调速子程序、音频信号发声子程序、声光报警子程序,主机控制器调用了数据处理程序、图3.2.1主机主系统流程图
无线收发、ZLG7290键盘读取程序、RT12864液晶显示、语音播报子程序。
4.系统测试
4.1测试使用的仪器及设备
测试仪器主要有示波器,秒表和卷尺,根据系统要求可知仪器的精度要求比较高,详细清单见附录5表4.1.1。
4.2指标测试和测试结果
声音导引系统测试分三部分测试:
基本要求数据测试、功能测试、发挥部分数据测试。
测试场地说明:
场地大小要求如题目给出的条件,示意图见附录6图4.2.1。
(1)音频信号的测试:
设计要求制作一个频率不限,脉冲周期不限的声源,采用示
波器观察的测试方法测试,测试结果:
声源频图3.2.2从机系统主程序流程图
率3.1KHz左右,脉冲周期可变,满足要求。
(2)平均速度ν的测试:
可移动声源发出声音后开始运动,到达Ox线并停止,位移为s,这段运动时间为响应时间t,测量响应时间t,用下列公式计算出响应的平均速
度ν,要求平均速度大于5cm/s。
发挥部分要求平均速度大于10cm/s。
ν=
;
(式2)
测试数据如附录7表4.2.2所示,测试总结结果如表4.2.3所示。
平均速度ν为14.0cm/s。
表4.2.3基本数据测试结果表
位置一
位置二
位置三
位置四
平均速度ν(cm/s)
13.6
14.4
14.0
(2)定位误差测试:
可移动声源停止后的位置与Ox线之间的距离为定位误差,定位误差小于3cm。
发挥部分要求小于1cm。
测试数据如附录8表4.2.4所示,测试平均误差为1.4cm。
(3)定位超调量测试:
可移动声源在运动过程中任意时刻超过Ox线左侧的距离小于5cm,发挥部分要求小于2cm。
测试平均超过左侧距离为2.3cm。
(4)平均速度
的测试:
在完成基本要求部分移动到Ox线上后,可移动声源在Ox线处可停止5s~10s,然后利用接收器A和C,使可移动声源运动到W点,移动距离为
,到达W点以后,必须有明显的光和声指示并停止,测量响应时间
,此时声源距离W的直线距离小于1cm。
整个运动过程的平均速度
应大于10cm/s。
ν’=
(式3)
测试数据如附录9表4.2.5所示,测试总结结果如表4.2.6所示。
平均速度ν’为12.9cm/s。
实物图见附录10图4.2.1。
表4.2.6基本数据测试结果表
平均速度
(cm/s)
13.4
12.5
13.0
12.9
4.3测试结果分析
测试结果表明,系统完成了基本要求和发挥部分,但仍有误差,分析测试数据和硬、软件结构,造成误差的主要原因有以下几点:
测试时间相当比较短(平均在5s以内),而人测试需要反应时间,当对于小的测试时间,反应时间的影响就有很大了;
三个音频接收电路相差只有1m,而声速有350m/s,在细微的距离变化上,时间变化更加微弱,所以会造成一定精度误差;
小车本身的机械安装以及软件系统本身的计时误差都会对响应时间造成影响。
经过多次测试,基本要求部分平均速度ν为14.0cm/s,定位误差位为1.04cm,定位最大超调量为3cm,发挥部分平均速度ν’为12.9cm/s。
5.结论
声音导引系统分为主机控制部分、从机控制部分两部分。
主机控制部分主要分为音频接收模块、语音模块、按键以及等模块;
从机控制部分主要分为音频发声模块、电机驱动模块以及声光显示模块;
主从机通讯由nRF905无线模块完成。
采用低功耗ATmega128单片机作为主控制器,通过比较器把音频模拟信号转化成数字信号,方便控制;
采用单片机内部定时器计时,有利于精确计时;
使用语音播报以及液晶显示,使设计具有人性化;
使用NEC公司提供的电机控制ASSP芯片,可实现256档调速。
通过软件算法实现了小车的快速调速与定位,完成了基本部分和发挥部分的部分设计要求。
参考文献
1.黄智伟.全国大学生电子设计竞赛系统设计[M].北京:
北京航空航天大学出版社,2006.
2.高吉祥.全国大学生电子设计竞赛培训系统教程[M].北京:
电子工业出版社,2007.
3.姚福安.电子电路设计与实践[M].济南:
山东科学技术出版社,2002
4.张立.现代电力电子技术基础[M].北京:
高等教育出版社,1999.
5.张伟,吴红杰,徐海鹰.ProtelDXP高级应用[M].北京:
人民邮电出版社.2002.
附录1图2.2.1
图2.1.1a图STC89C52单片机最小系统原理图
图2.1.2b图STC89C52单片机最小系统底层印制版图
附录2图2.5.1
图2.4.1a图电机驱动电路设计原理图
图2.4.1b图电机驱动电路设计底层印制板图
图2.4.1c图电机驱动电路设计顶层印制板图
图2.4.1d图电机驱动电路设计元件布局图
附录3图2.6.1
图2.5.1aSK-SDMP3语音模块与原理图
图2.5.1bSK-SDMP3语音模块与底层印制板图
图2.5.1cSK-SDMP3语音模块顶层印制板图
图2.5.1dSK-SDMP3语音模块元件布局图
附录4图2.7.1
图2.7.1aZLG7290键盘/LED模块原理图
图2.7.1bZLG7290键盘/LED底层印制板图
图2.7.1cZLG7290键盘/LED顶层印制板图
图2.7.1dTOP元件布局图
附录5表4.1.1
表4.1.1测试工具表
序号
名称、型号、规格
数量
备注
1
秒表(精度0.01s)
NOKIA6230i手机自带秒表
2
卷尺(量程2m,精度1mm)
-----
3
直尺(量程0.02m,精度0.001m)
4
TDS2012
泰克科技(中国有限公司)
附录6图4.2.1
测试场地示意图
附录7表4.2.2
表4.2.2基础部分平均速度测试表
速度ν(cm/s)
第一次测量
第二次测量
13.8
13.9
14.5
14.6
第三次测量
12.4
14.1
第四次测量
14.8
13.7
附录8表4.2.4
表4.2.4定位误差测试表
定位误差(cm)
1.6
1.8
1.3
1.2
0.9
1.4
1.1
0.8
1.5
附录9表4.2.5
表4.2.2发挥部分平均速度测试表
12.6
13.2
14.2
12.2
12.8
13.5
附录10图4.2.1
图4.2.1实物图
附录10主要元件清单
序号
名称
备注
Atmega128
单片机(购买的模块)
STC89C52
单片机
ZLG7290
按键/LED专用芯片
NRF905收发模块
无线模块(购买的模块)
5
L298
直流电机驱动
6
LM311
比较器
7
LM386
功率放大器
8
RT12864
液晶
9
SK-SDMP3
MP3模块
附录10程序清单
#include<
iom128v.h>
iom128.h>
macros.h>
BIT.h>
delay.h>
#include"
NRF905.C"
12864.h"
zlg7290.c"
pic.h"
mp3.h"
#defineucharunsignedchar
#defineuintunsignedint
#pragmainterrupt_handlerExter4:
6//定义外部中断向量(0~7)中断向量为(2~9)
#pragmainterrupt_handlerExter5:
7//定义外部中断向量(0~7)中断向量为(2~9)
#pragmainterrupt_handlerTimer1:
15//定时器1溢出中断向量
ucharRxBuf[4]={0};
ucharTxBuf[4]={0};
//定义发送数组发送命令两个电机的正反转及速度hhhh
uintTime_count=0;
//时间计数器
ucharstart_flag=0;
ucharDAT_flag=0;
ucharXZ[3]={0};
uintdw_count=0,DAT_B=0;
ucharExter5_flag=0,Exter4_flag=0;
ucharox_flag=0,send_flag=0;
uchardw_flag=0;
//定义ox中线标志为0时未到达ox线为1到达ox线
ucharrev_flag=0;
//定义接收标志用来判断哪个先接收到超声波为1时表明已有接收器先接到超声波
/*******************************************
函数名称:
Timer1_Init()
功能:
定时器1定时计数模式初始化函数晶振11.0592M
主要设置输出模式
/********************************************/
voidTimer1_Init()
{
TCCR1B=0X01;
//设置分频数为1计数频率为11.0592MHZ
TCNT1H=0xFF;
//FF设置计数初值每10微秒进入定时器中断处理子函数
TCNT1L=0x91;
//91TCNT3=65536-fclk*T
TIMSK&
=~BIT
(2);
//关闭定时器1
}
Exter_Init()
外部中断456初始化
参数:
无
返回值:
voidExter_Init(void)
SEI();
//使能全局中断
EIMSK&
=~(BIT(4)|BIT(5));
//使能外部中断456EIMSK的0~7分别是外部中断0~7的使能位
EICRB|=BIT
(1)|BIT(3);
//外部中断4采用下降沿触发外部中断需要两位来设置ISCn1ISCn0
//EICRA为外部中断0~3中断方式设置位EICRB为外部中断4~7中断方式设置位
DDRE&
//配置中断管脚为输入D0~D3为外部中断0~3输入口E4~E7为外部中断4~7输入口
PORTE|=BIT(4)|BIT(5);
//使能中断管脚的上拉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 声音 导引 系统 包含 详细 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)