具有实时语音播报的超声波测距仪的设计与报告.docx
《具有实时语音播报的超声波测距仪的设计与报告.docx》由会员分享,可在线阅读,更多相关《具有实时语音播报的超声波测距仪的设计与报告.docx(16页珍藏版)》请在冰点文库上搜索。
具有实时语音播报的超声波测距仪的设计与报告
具有实时语音播报的超声波测距仪的设计与总结报告
摘要:
本系统采用集成语音播报电路功能、键盘电路功能及便于携带、方便操作等优点于一体的由干电池供电的凌阳SPCE061A为核心控制器件,采用NE555和电容电阻组成的电路产生40KHz的方波,以使超声波传感器产生谐振,而后面的CD4049则对40KHz频率信号进行调理从而共同构成超声波谐振频率发生电路与调理电路;超声波回波接收处理部分的电路前级采用NE5532构成10000倍放大器,对接收信号进行放大,后级采用LM311比较器对接收信号进行调整。
设计中充分利用凌阳SPCE061A单片机的运算及控制功能,由本系统构建的具有实时语音播报的超声波测距仪具有测量准确、反应迅速、工作稳定、低功耗、便于携带等特点。
关键字:
超声波测距低功耗凌阳SPCE061A单片机实时语音播报
Abstract:
Thesystemintegratedcircuitvoicebroadcastfunction,thekeyboardcircuitfunctionsandeasytocarry,easytooperateinoneoftheadvantagesofdry-cellbatteriespoweredbySunplusSPCE061Aasthecorecontroldevice,theNE555andtheCapacitanceofthecircuithavearesistancecomponentofthe40KHzsquarewavesothattheultrasonicsensorshavearesonance,andthebackof40KHzfrequencyontheCD4049signalconditioninginordertoconstitutetheultrasonicresonantfrequencycircuitandconditioningcircuit;ultrasonicechoreceivepartofthecircuittodealwiththeuseofpre-amplifierNE5532constitutea10000-fold,toreceivesignalamplification,aftertheintroductionoftheLM311comparatortoadjustthereceivedsignal.Takefulladvantageofthedesignofsingle-chipSunplusSPCE061Acomputingandcontrolfunctions,builtbythesystemwithreal-timevoicebroadcastwiththemeasurementofultrasonicrangefinderisaccurate,responsive,stable,lowpowerconsumption,easytocarryandsoon.
Keywords:
Ultrasonicranginglow-powersingle-chipSunplusSPCE061Areal-timevoicebroadcast
目录
1.系统设计--------------------------------------
(1)
1.1设计要求-------------------------------------
(1)
1.2方案比较与论证--------------------------------
(1)
1.2.1控制器方案的比较与选择-------------------------
(1)
1.2.2超声波谐振频率发生电路及调理电路方案的比较与选择
(1)
1.3系统总体设计---------------------------------
(2)
2.单元电路设计----------------------------------
(2)
2.1超声波谐振频率发生电路及调理电路----------------
(2)
2.2超声波回波处理电路---------------------------(3)
3.软件设计---------------------------------------(3)
3.1开发软件-------------------------------------(4)
3.2软件实现-------------------------------------(4)
3.2.1超声波测距原理-----------------------------(4)
3.2.1.1超声波脉冲法测距原理----------------------(4)
3.2.1.2超声波测距模组信号------------------------(4)
3.2.1.3软件控制脉冲发射及检测回波信号-------------(5)
3.3软件流程--------------------------------------(5)
3.3.1主程序------------------------------------(5)
3.3.2超声波测距程序----------------------------(6)
3.3.316Hz时基中断处理程序-----------------------(7)
3.3.4EXT1外部中断程序---------------------------(8)
4.系统测试--------------------------------------(9)
4.1测试仪器与设备--------------------------------(9)
4.2指标测试--------------------------------------(9)
4.2.1测试方法----------------------------------(9)
4.2.2测量数据及结果-----------------------------(9)
4.2.2.1距离测量--------------------------------(9)
4.2.2.2语音播报与显示测试-----------------------(9)
4.2.2.3误差分析--------------------------------(9)
4.2.3仪器型号---------------------------------(10)
5.结论-----------------------------------------(10)
附录----------------------------------------------
参考文献------------------------------------------
1.系统设计
1.1设计要求
设计并制作一台具有实时语音播报的超声波测距仪(原理框图如图所示),
要求该系统:
♦具有反射式超声波测距功能,测量距离0.2m~3.0m
♦测量距离精度:
误差±1cm
♦自动语音实时播报测量距离数值:
几点几几米
♦播报声音无明显失真
♦实时显示测量的距离(实时显示要与语音播报同步)
♦显示格式为:
.m
1.2方案比较与论证
1.2.1控制器方案的比较与选择
方案一:
普通51系列单片机,例如MCS—51系列,仅支持汇编语言,如若想要构成复杂系统则需要另外组建较多模块,因而设计通常笨拙、功耗大并且不便于携带。
方案二:
凌阳SPCE061A型单片机是一种集成语音播报电路功能、键盘电路功能及由干电池供电的便携式高性价比的控制器,除汇编语言外还支持C语言。
基于上述原因拟选用方案二。
1.2.2超声波谐振频率发生电路及调理电路方案的比较与选择
方案一:
采用三极管推动变压器完成对40KHz方波的升压,由于变压器的参数离散,同时自行绕制的变压器参数很难完全满足设计要求,虽然变压器发射电路可以使发射电压升得很高,但是发射波形发生严重畸变,发射效率并不高而且推动三极管的功耗很大,不适用于用干电池供电的系统。
方案二:
采用单片机内部定时器定时,在I/O口上产生40khz的方波,再经CMOS低功耗型器件CD4069反向器,在超声波发射头上产生正负5V的电压,可提高发射强度,增加测量距离,并且省电。
考虑本系统要求的低功耗及远距离测量要求,拟选用方案二。
1.3系统总体设计
系统采用集成语音播报电路功能、键盘电路功能,由干电池供电的凌阳SPCE061A为核心控制器件,采用NE555和电容电阻组成的电路产生40KHz的方波,以使超声波传感器产生谐振,而后面的CD4049则对40KHz频率信号进行调理从而共同构成超声波谐振频率发生电路与调理电路;超声波回波接收处理部分的电路前级采用NE5532构成10000倍放大器,对接收信号进行放大,后级采用LM311比较器对接收信号进行调整。
详细系统结构框图:
2.单元电路设计
2.1超声波谐振频率发生电路及调理电路
采用NE555和电容电阻组成的电路产生40KHz的方波,以使超声波传感器产生谐振,而后面的CD4049则对40KHz频率信号进行调理从而共同构成超声波谐振频率发生电路与调理电路。
2.2超声波回波接收处理电路
超声波回波接收处理部分的电路前级采用NE5532构成10000倍放大器,对接收信号进行放大,后级采用LM311比较器对接收信号进行调整。
3.软件设计
3.1开发软件
unSPIDE2.0.0、multisim。
3.2软件实现
3.2.1超声波测距原理
3.2.1.1超声波脉冲法测距原理
声波在其传播介质中被定义为纵波。
当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射,反射波称为回声。
假如声波在介质中传播的速度是已知的,而且声波从声源到达目标然后返回声源的时间可以测量得到,那么就可以计算出从声波到目标的距离,这就是本系统的测量原理。
这里声波传播的介质为空气,采用不可见的超声波。
假设室温下声波在空气中的传播速度是335.5m/s,测量得到的声波从声源到达目标然后返回声源的时间是t秒,距离d可以由下列公式计算:
d=33550(cm/s)×t(s)
由于声波经过的距离是声源与目标之间距离的两倍,声源与目标之间的距离应该是d/2。
3.2.1.2超声波测距模组信号
图中可见,接收回路中测得的超声波信号共有两个波束,第一个波束为余波信号,即超声波接收头在发射头发射信号(一组40KHz的脉冲)后,马上就接收到了超声波信号,并持续一段时间。
另一个波束为有效信号,即经过被测物表面反射的回波信号。
超声波测距时,需要测的是开始发射到接收到信号的时间差,在上图中就可看出,需要检测的有效信号为反射物反射的回波信号,故要尽量避免检测到余波信号,这也是超声波检测中存在最小测量盲区的主要原因。
3.2.1.3软件控制脉冲发射及检测回波信号
系统的Demo程序采用的是脉冲测量法,由凌阳SPCE061A控制电路发生40KHz的脉冲信号,每次测量发射的脉冲数至少要12个完整的40KHz脉冲(Demo程序中为20个左右)。
同时发射信号前要打开计数器,进行计时;等计时到达一定值后再开启检测回波信号,以避免余波信号的干扰。
采用外部中断对回波信号进行检测(回波信号送到单片机的为一序列方波脉冲)。
接收到回波信号后,马上读取计数器中的数值,此数据即为需要测量的时间差数据。
为避免测量数据的误差,程序中对测距数据的处理方法是:
每进行一次测距,利用时基中断测量4次,即取得4组数据,经过处理后得到这一次测距值。
3.3软件流程
以下是程序模块中的主要的文件类型和功能说明:
♦C程序文件及其说明:
main.c(主程序)、IntDocument.c(有关测距的中断服务程序)、UserFunction.c(有关测距的应用程序)、Speech.c(语音整合程序);
♦汇编程序文件及其说明:
isr.asm(语音播放的中断服务程序)、DataOS_A.asm(数据处理程序)、Key.asm(键盘及液晶驱动程序)。
其中,在Demo程序中与超声波测距有关的文件为:
UserFunction.c、IntDocument.c、DataOS_A.asm,具体用法请参考Demo程序的注释。
3.3.1主程序
流程图以及相关的程序流程图如图所示:
3.3.2超声波测距程序
Demo程序中,超声波测距的功能函数流程图如图所示:
用户需要先调用测距初始化函数InitMeasure(),再调用该函数BeginMeasure()即可进行一次测距操作,函数返回值为测量结果。
每一次测距要进行四次测量,这四次的测量结果需要经过处理后才可得到最终的测距返回值,而四次测量的控制以及测量结果的处理都是在这个函数中完成的。
具体处理方法:
每一次测距中的四次测量的间隔时间用16Hz的时基中断来控制。
每次测量,先发射20个40KHz脉冲(参见16Hz中断),然后使能测量时间基准计数器,当计数到4ms时,打开EXT1外部中断,等待回波反射到接收头。
四次测量全部完成后,再对测量的结果进行处理、换算及出错处理,用户可以根据不同的应用对数据处理部分的程序作适当的调整。
等待4ms的原因:
压电式的电声传感器存在余波干扰,而有部分声波会沿电路板直接传到接收头,经接收电路的放大后,系统就有可能把它误认为是反射回来的回波信号。
3.3.316Hz时基中断处理程序
16Hz的时基中断处理程序里,主要进行检查上次测量是否超时,若超时便会转到超时处理程序,然后进行下一次的测量启动,即再次发送20个40KHz方波脉冲。
3.3.4EXT1外部中断程序
当回波触发控制器的外部中断后,程序会转到EXT1外部中断服务子程序中读取测量结果,并作数据的初步处理。
4.系统测试
4.1测试仪器与设备
10m卷尺一个、30cm×20cm的木板一块、4节5号碱性干电池。
4.2指标测试
4.2.1测试方法
使用10m卷尺测量超声波探头与被测物之间的距离,与显示值进行比较。
4.2.2测量数据及结果
4.2.2.1距离测量
实际距离(m)
测量值(m)
最大绝对误差(m)
0.05
0.06
0.01
0.10
0.09
0.01
0.20
0.21
0.01
0.40
0.40
0
0.60
0.59
0.01
0.80
0.82
0.02
1.00
1.02
0.02
1.50
1.53
0.03
2.00
2.02
0.02
2.50
2.51
0.01
3.00
3.02
0.02
3.50
3.50
0
4.00
3.99
0.01
4.50
4.51
0.01
5.00
5.03
0.03
5.50
5.54
0.04
4.2.2.2语音播报与显示测试
当显示值为0.99m时,语音实时播报0.99米,播报正确满足要求。
4.2.2.3误差分析
♦为什么测量时所测得的距离数据与实际距离有出入呢?
解答:
所有的测量用的传感器都需要进行标定以及数据补偿,本系统在Demo程序中作了一定的标定及软件数据补偿,但并不能针对每一个传感器作出很精确的标定,所以当使用者需要真实的测量结果时,最好再进行数据的标定。
♦为什么有时候设置以及测量方法都是正确的,测量得到的数据总是错的呢?
解答:
如果一切都按照操作要求来做的话,总出错时应该是电源问题,请用数字万用表检测一下电源是否还保持在4.5~5.5V之间。
♦为什么供电电源过高或过低时都会测量出错?
解答:
当电源低于4.5V时,系统模组上的运放就会工作不正常,从而出现自激;而电源到5.5V时,也会影响模组上的产生40KHz电路的工作,产生的频率信号与40KHz偏差较大,这时不在传感器的谐振频率上,所以对于超声波传感器来说是无效的。
4.2.3仪器型号
凌阳SPCE061A单片机、超声波测距系统模组、CT-3606电子工具箱(内含CT-30B烙铁、CT-88烙铁架、CT-366吸锡器、CT-9830数字万用表、CT-801螺丝刀、CT-031尖嘴钳、CT-021斜口钳、SK.8焊锡筒、CT-061A焊锡膏)、凌阳十六位单片机SPCE061A仿真实验箱。
5.结论
本系统基本达到了实时语音播报的超声波测距仪的基本功能,测量距离0.2m~3.0m,测量距离精度误差在±1cm间,自动语音实时播报测量距离数值为“几点几几米”且播报声音无明显失真,实时显示测量的距离(与语音播报同步),显示格式满足大赛规定的要求。
附录
附录一:
系统总原理电路图
附录二:
实物图
附录三
超声波DemoCode
参考文献
[1]童诗白.模拟电子技术基础.北京:
高等教育出版社,2000
[2]阎石.数字电子技术基础.北京:
高等教育出版社,1988
[3]张毅刚等.单片机原理及应用.北京:
高等教育出版社,2003
[4]谭浩强.C程序设计(第三版).北京:
清华大学出版社,2005