另外,注意到图中还有一个74LS74双D触发器,它的作用是将由单片机ALE端输出的方波信号进行分频后送到ADC0809作为时钟信号,由于本设计单片机是采用11.0592MHZ的晶振,ALE端输出的方波信号频率时单片机晶振频率的1/6,也就是接近2MHZ,远远超出ADC0809最高允许的时钟频率1.2MHZ,故需要对该时钟信号进行分频之后才能接ADC0809。当然,具体怎样分频还要考虑采样定理,假设超声波发生器发出的频率为30KHZ,最高能测量50m/s的速度,那么多普勒频移信号的频率大概为10KHZ左右,按照采样定理,采样信号的频率至少要是源信号最高频率的2倍,为了提高测量精度,我们把这个倍率提高到5倍,也就是50KHZ,那么就需要对ALE端输出的2MHZ的信号进行40分频之后才能接ADC0809,它的时钟信号频率也就是采样信号的频率。这样便可以提高测量精度,减少误差。
图8 138译码器功能表
3.5.2频率测量
测量频率的方法一般分为无源测频法、有源测频法及电子计数法三种。无源测频法(又可分为谐振法和电桥法),常用于频率粗测,精度在1%左右。有源比较法可分为拍频法和差频法,前者是利用两个信号线性叠加以产生拍频现象,再通过检测零拍现象进行测频,常用于低频测量,误差在零点几Hz;后者则利用两个非线性信号叠加来产生差频现象,然后通过检测零差现象进行测频,常用于高频测量,误差在±20 Hz左右。以上方法在测量范围和精度上都有一定的不足,而电子计数法主要通过单片机进行控制。
由于单片机的较强控制与运算功能,电子计数法的测量频率范围宽,精度高,易于实现。用单片机电子计数法测量频率有测频率法和测周期法两种方法。测量频率主要是在单位定时时间里对被测信号脉冲进行计数;测量周期则是在被测信
号一个周期时间里对某一基准时钟脉冲进行计数。本设计采用的是测频法,它主要是将被测频率信号加到计数器的计数输入端,然后让计数器在标准时间Ts1内进行计数,所得的计数值N1。与被测信号的频率fx1的关系如下:
fx1=N1/Ts1
3.6显示电路
U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516172345678911118XTAL29RSTU2D0D1D2D3D4D5D6D7LEOEQ0Q1Q2Q3Q4Q5Q6Q71918171615141312293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.774HC57380C51U3:A231ABEY0Y1Y2Y3456774HC139 图9显示电路
如图 ,用74HC573锁存器和74HC139译码器分别作为段选和片选,段选决定数码管显示的数字,片选则决定由哪个数码管显示,这样便可以显示任意的数字。由于对单片机的输入输出接口有限,所以只能用动态扫描的方法来显示所要显示的数据,这样能节省输入输出接口,同时还能简化电路设计。
4.软件设计
4.1频率测量程序流程图
开始 检测P3.2口 初始化T1 TF1溢出 N P3.2=1 开外部中断 Y 清空TF0 Y T0停止计数 N
等待中断 保存数据 响应中断 T1开始计时 T0开始计数 中断返回 关中断 中断返回
(a) 中断流程图 (b)频率测量程序 图10 测频法流程图
图10为测频法测量多普勒频移的流程图,采用定时计数器T0和T1分别计数和定时。其中,程序开始时先为TF1初始化,也就是把初始数据装入TF1,之后单片机一直检测P3.2口,当有信号输入P3.2口时,清空TF0,同时T0开始计数,T1开始计时,关闭中断,计数过程中不再响应中断,然后检测TF1,当TF1溢出,也就是计时时间到,此时要保存T0的计数值N1和T1的计时值Ts1 ,进而计算出所得频率:
fx1=N1/Ts1
4.2其他部分的软件设计
通过软件编程在P1.4口上输出频率为30KHZ的方波,由于定时计数器T0、T1都已经被用在频率测量中了,所以对于方波的产生就只能通过延时函数来实现。也就是在一个循环体中先把P1.4口置为高电平,然后调用延时函数,把P1.4口取反,之后再次调用延时函数。如此循环便能够产生方波,方波的频率由延时时间来决定。
AD转换部分的软件设计为通过软件编程向ADC0809的START端以及单片机的ALE端输入一个正脉冲信号时,便开始AD转换,之后单片机便检测EOC端,开始转换时为低电平,转换结束后为高电平,当单片机检测到EOC端为高电平时,打开锁存器,将转换结果的数字量输入到输出端。ADC0809的输出端通过一个138译码器和单片机的P3.2口相连,通过逐次改变138译码器的地址输入端的输入信号来选通各个端口。把数字量输入单片机,进行频率测量。
另外,显示电路也要通过软件编程来实现它的功能。具体做法为通过P1.0和P1.1口输出地址信号通过74HC139作为片选,段选为通过P2口输出信号通过74HC573锁存器实现。由于单片机的I/O接口有限,所以要通过动态扫描的方法实现数码管的显示。
5.误差分析
本设计在实现过程中的误差来源主要有两个,一个是超声波探头在接收过程中不可避免的会受到一些噪声的影响;另一个则是由于计数器只能进行整数计数而引起的±1误差。其中第一个噪声的影响对实验结果不会产生较大的影响,原因是在经过了带通滤波器和低通滤波器后的噪声将相对较小,再者,其对信号幅度的影响并不会对频率测量的精度造成影响。对测量结果产生误差的主要部分是频率测量师造成的误差。
对于频率测量造成的误差,其相对误差为:
ε=±1/N1=±1/Ts1fx1=±fs1/fx1
可见,在同样的Ts1下,测频法fx1的低频端,误差远大于高频端,故可以通过提高多普勒频移信号的频率来减小误差。
6.设计心得及体会
本设计是在我们整个队所有队员的通力合作下完成的,在确定整体设计思想
阶段,我们在激烈的讨论中互相学习,在咨询老师的同时慢慢的一点一点的确定我们的整体设计;在具体设计阶段,队员之间各有分工,有的搜索资料、有的设计电路、有的撰写设计报告,在我们的努力下终于顺利完成了此次物理设计大赛的设计报告,充分享受团队合作带给我们的乐趣。
本设计电路设计简单,易于实现;所用元器件均较为常见,价格便宜,性价比高;由误差分析可知,误差在可以接受的范围之内,测量精度较高,能够满足日常生活及精度要求不太高的场合的测速需要。但是由于能力有限,本设计尚有不足之处,例如:最终测得的速度只是瞬时速度,没有能够测量运动物体的速度—时间曲线;用数码管显示测量所得数据过于简单,不能完成某些特殊的要求。
在设计的过程中我们遇到了许多意想不到的困难,原本以为会很简单的一些电路设计真正实现起来便会遇到很多不懂得地方。我们在设计的过程中学到了很多东西:首先是懂得了团队合作的精神和合理分工的重要性;其此是增强了我们搜索资料的能力;再次,通过设计加深了对学过的知识的理解和运用;最后,提高了对一些应用软件如Proteus的操作能力,达到了学以致用的效果。
7参考文献
【1】 李光仲、刘俊英 基于模拟乘法器的超声多普勒黏度测量实验系统 物理实
验 2010年第2期
【2】 余仕成,刘培姣,胡亚联 关于多普勒效应的进一步讨论 孝感学院学报 第
29卷第六期 2009年11月
【3】 陈国强,邓明长 基于多普勒效应的超声波安防系统 韶关学院学报·自
然科学 第29卷第六期 2008年6月
【4】 丁昕,李子健 基于8051单片机的频率测量技术 东华理工学院 2007年5
月
【5】 周美娟,肖来胜 单片机技术及系统设计 北京:清华大学出版社 2007 【6】 阎石 数字电子技术基本教程 北京:清华大学出版社 2007
【7】 远坂俊昭(日) 测量电子技术设计——滤波器篇 北京:科学出版社 2006 【8】 马场清太郎(日) 运算放大器应用电路设计 北京:科学出版社2007 【9】 辛友顺,胡永生,薛小铃 单片机应用系统设计与实现 福建 福建科学技
术出版社 2005