智能仪器频率检测测验仪方案_第1页
智能仪器频率检测测验仪方案_第2页
智能仪器频率检测测验仪方案_第3页
智能仪器频率检测测验仪方案_第4页
智能仪器频率检测测验仪方案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能 频 率测试仪 设 计专业:应用电子技术班级:09应电2班学号:姓名:崔建宇指导老师:董卫军1前言本次设计是以STC12C5A3252单片机为控制核心的频率及相位测试仪.本次设计可完成对信号频率的频率测量和相位差测量.要求测量频率的范围为20Hz到20KHz,相位的范围为0到360.可通过按键实现测频或测相,用LED数码管直接显示读数,显示清晰直观.误差小,稳定性高.矚慫润厲钐瘗睞枥庑赖。设计要求:功能要求可以测量被测信号的频率.使用多周期同步测量原理,实现全频段等精度测量.输入采用交流耦合方式.使用220V/50Hz交流电源,设置电源开关、电源指示灯和电源保护功能.主要技术指标测量频率范

2、围:1Hz1MHz测量误差:0.01%(全频段)额定输入信号电压:500mV最大输入信号电压:100V输入阻抗:1M显示方式:6位LED数码管显示被测信号的频率.2总体方案设计2.1方案比较2.1.1 方案一方案一的结构框图如下图2.1所示.整形电路STC12C5A3252整形电路移相电路待测信号2待测信号1输入信号键盘控制切换LED显示图2.1 方案一方框图2.1.2方案二方案二的结构框图如下图2.2所示.整形电路整形电路FPGAAT89C51LED显示AB待测信号1待测信号2图2.2 方案二方框图2.2方案论证本设计要完成信号频率的测量和相位差的测量.设计中有两路输入信号,也是被测量信号,

3、它们是两个频率相同的正弦信号,频率范围为20Hz到20KHz,幅度为1到5V(可以扩展到(0.3到5V),但两者幅度不一定相等.令正弦信号为,式中:称为幅值(最大值),且=,称为有效值;称为相位,称为初相位,称为角频率.、称为正弦量的三要素.聞創沟燴鐺險爱氇谴净。方案一和方案二的比较见表2.1.表2.1方案一和方案二的比较 方案项目方案一方案二芯片部分 741741整形部分LM324LM339信号转换部分74HC08FPGA适配板单片机部分STC12C5A3252AT89C51显示部分LEDLED只有两个同频率的(正弦)信号才有相位差的概念.不妨令两个同频率的正弦信号为 则相位差,由此可看出,

4、相位差在数值上等于初相位之差,是一个角度.不妨令,式中是相位差对应的时间差,且令为周期信号,则有比例关系:360=:,可以推导得到=360此式说明,相位差与 一一对应,可以通过测量时间差及周期信号的测量,也就是时间的测量,而时间的测量则要用到电子计数器.信号频率的测量可以采用直接测频率的方法和周期测频率的方法.一般信号频率较高时,采用直接测频率法,而信号频率较低时,采用测周期的方法.用直接测频率的方法获得信号频率即是让定时器/计数器T1对外部事件计数,而让定时器/计数器T1定时1s,只有在这1s内T1启动对外部事件(即信号I)计数,则T1的计数值就是待测信号的频率.用测周期的方法获得信号频率即

5、是对I进行2分频后的波形中,高电平的宽度正好对应I的周期,我们将此高电平信号作为单片机内部定时器的硬件启动/停止信号,便可测得周期T,由公式,得频率.残骛楼諍锩瀨濟溆塹籟。方案一工作原理:两路待测信号经整形后变成了矩形波信号1和2,1和2是同频率,不同相位的矩形波.(1)频率的测量:STC对信号频率的测量可以采用直接测量法和测周期法.一般信号频率较高时采用直接测量法,而信号频率较低时用测周期法.本设计我组采用测周期法.由图2.1.2可知,将输入信号送入单片机再对高电平进行扫描,记录在1s内高电平出现的次数N,则N就是测得的频率.酽锕极額閉镇桧猪訣锥。信号图2.3输入信号图(2)相位差的测量我组

6、用一个与门将两输入的待测信号比较后叠加,而输出的波形中,正脉冲宽度就是要测量的待测1和待测2相位差所对应的时间差t,跟据公式可得相位值.如图2.4所示.彈贸摄尔霁毙攬砖卤庑。信号1信号2与门输 出图2.4相位比较图方案一工作原理:让FPGA实现数据的采集,即待测信号的频率f、两路输入信号的相位差所对应的时间差t分别转换为二进制数据,供STC单片机读取使用.STC从FPGA获取数据并经过CPU计算、转换等有关处理后,得到信号的频率和相位差并送LED数码管显示.謀荞抟箧飆鐸怼类蒋薔。待测信号1、待测信号2经整形电路处理后,变为矩形波,不妨令其为A、B,可以认为A、B为两个同频率的有相位差的矩形波.

7、FPGA通过对整形后的信号A、B的处理,要获得二进制数形式表示的信号频率以及相位差对应的时间差.厦礴恳蹒骈時盡继價骚。(1)频率的测量.对频率的测量采用测周期的方法,即在信号周期T时间内,对时标信号进行计数.设时标信号的频率为f,时标信号周期为T,对信号A二分频都得信号高平宽度就是信号周期T,此高电平宽度作为闸门的控制信号,控制计数器在T时间内对f进行计数,则有N/F=T,被测信号的频率为:茕桢广鳓鯡选块网羈泪。f=1/T=f/N上式中N计数器的计数值,当f一定时,它的大小表示信号频率的大小.(2)相位差对应的时间差T的测量.对相位差的测量跟频率测量的方法类似,不过闸门控制信号为AB的高电平宽

8、度,则有:鹅娅尽損鹌惨歷茏鴛賴。N/f=T(3)f的确定及其FPGA的二进制数据位数的确定.因为相位差测量的绝对误差 ,而FPGA在测量T时有一个字的误差,对待测信号频率f=20kHz而言,下式成立:籟丛妈羥为贍偾蛏练淨。:=:50us则有0.278us即FPGA采集相位差对应时间差T时,至少要能分辨出0.287us的时间间隔比较方案一和方案二可以看出:(1)方案一比方案二更加可靠;(2)使用到的元器件也都是我们所常用到的一些元件,如:74HC138译码器,74HC573锁存器,按键等;預頌圣鉉儐歲龈讶骅籴。(3)从操作和可行性上说方案一思路清晰;(4)虽然方案一略显复杂一些,但由于本次设计是

9、第一次将单片机运用于实际的电路设计中,且尚未学过EDA,用FPGA设计有一定困难.渗釤呛俨匀谔鱉调硯錦。2.3方案选择综上所述,并且考虑系统的方案可行性和成本等各种因素,本设计采用方案一作为最终的方案.3单元模块设计3.1各单元模块功能介绍及电路设计3.1.1 移相整形电路模块图3.1 移相整形电路模块电路图这一模块,由741和运算放大器LM324组成.输入正弦波通过741发生移相,使得相位滞后原初始信号,原来的正弦信号和发生移相后的信号分别经过LM324放大整形成矩形波形式,再将整形后的信号引入单片机的计数引脚,原正弦波接至T0,移相信号接至T1和INT1.原正弦波通过计算T0在1S内计数信

10、号发生负跳变的次数,得到其频率.T的确定,由单片机产生高频率的时钟信号,,对输入信号进行扫描,即与输入信号进行逻辑与运算. 输入信号为低电平时,没有时钟脉冲输出;为高电平时输出时钟信号,对其进行记数,假设为N,就可以计算出脉宽,为 N*T1,即T=N*T1.铙誅卧泻噦圣骋贶頂廡。将参考信号整形为方波信号,并以此信号为基准,延时产生另一个同频的方波信号,再通过波形变换电路将方波信号还原成正弦波信号.以延时的长短来决定两信号间的相位值.这种处理方式的实质是将延时的时间映射为信号间的相位值.擁締凤袜备訊顎轮烂蔷。相位的测量则是通过将原正弦信号和移相后的信号分别经过整形后相与,由 GATE门和INT1

11、控制T1,通过定时对外部信号高电平进行计时,从而测得相与后的高电平持续时间.再通过之前测得频率的倒数除以2得到它们时间差t,由:360=:,算出即为相位滞后角贓熱俣阃歲匱阊邺镓騷。3.1.2显示模块这一部分由2个8位数据锁存器74HC573、ULN2803以及8位LED数码显示管组成,ULN2803在电路中能起到大电流输出和高压输出作用,专门用来驱动继电器的芯片.当LE2为高电平,即时,LED位锁存器工作,当时序由高电平变为低电平时即发生负跳变时,将位选信号锁存,再经过ULN2803进行位选.当LE1为高电平,即时,数据通过P0口,当时序由高电平变为低电平时即发生负跳变时,经74HC573锁存

12、,LED段锁存器工作,再经过延时,就能够将我们所要显示的频率或相位按照我们的要求显示出了.坛摶乡囂忏蒌鍥铃氈淚。锁存器74HC573电路见图3.2(a).(a)显示模块电路见图3.2(b).(b)图3.2显示模块电路图3.1.3片选模块片选模块电路见图3.3.图3.3片选模块电路图这一模块由3-8线译码器74HC138和四2输入或非门74HC02组成.通过74HC138译码器,将A,B,C3路信号译码,,所得信号CS3,CS4与信号相或非来控制锁存器的工作情况,,.蜡變黲癟報伥铉锚鈰赘。3.1.4电源输入模块电源模块电路见图3.4.图3.4 电源输入模块电路图这部分电路由USB连接器,电源输入

13、组成,为系统提供可靠稳定的电源.3.2电路参数的计算及元器件的选择显示部分(见图3.2),因为本组所测频率范围为20Hz到20KHz,共需5个八位LED数码显示管,所以选用了两组4个的LED显示管.在移相整形部分(见图3.1),R3 、R5、 R13 、R14、 R18采用10K电阻,R4用100电阻,R7 、R16用510电阻,R8、R10用30K电阻,C1用0.2u电容.在片选部分(见图3.3)选用74HC138作译码器,选用74HC02对输出信号进行或非处理产生片选信号.買鲷鴯譖昙膚遙闫撷凄。3.3特殊器件的介绍3.3.1 74HC573的介绍74HC573为八进制3态非反转透明锁存器

14、,是高性能硅门 CMOS器件.器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和 LS/ALSTTL输出兼容.当锁存使能端为高时,这些器件的锁存对于数据是透明的(即输出同步).当锁存使能变低时,符合建立时间和保持时间的数据会被锁存.其特点有:綾镝鯛駕櫬鹕踪韦辚糴。(1)输出能直接接到CMOS,NMOS和 TTL接口上 ;(2)操作电压范围:2.0V6.0V (3)低输入电流:1.0uA (4)CMOS器件的高噪声抵抗特性 其引脚图如图3.5.图3.5 74HC573引脚图其功能表:见表3.2.表3.2 74HC573功能表X:任意变量Z:高阻抗额定功率的下降PDIP:10mW/ ,65

15、125SOIC:7 mW/ ,6512574HC573参数最大值范围见表3.3.表3.3 74HC573参数最大值范围表74HC573推荐操作条件见表3.4.表3.4 74HC573推荐操作条件表这个器件带有保护电路,以免被高的静态电压或电场损坏.然而,对于高阻抗电路,必须要采取预防以免工作在任何高于最大值范围的条件下工作.VIN和VOUT应该被约束在GND(VIN或VOUT)VCC.驅踬髏彦浃绥譎饴憂锦。3.3.2 RS232的介绍RS232是由电子工业协会(EIA) 所制定的异步传输标准接口.通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般

16、个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2.其电气特性:猫虿驢绘燈鮒诛髅貺庑。EIA-RS-232 对电器特性、逻辑电平和各种信号线的功能都作了规定.(1)在TxD和RxD上: (2)逻辑1(MARK)=-3V-15V (3)逻辑0(SPACE)=+3+15V (4)在RTS、CTS、DSR、DTR和DCD等控制线上: (5)信号有效(接通,ON状态,正电压)+3V+15V (6)信号无效(断开,OFF状态,负电压)=-3V-15V3.4各单元模块的联接各个单元模块连接的具体关系参见附录1.4软件设计4.1软件设计的总体结构系统软件设计总体结构如图4.1.主程序

17、键盘扫描数据处理频率及相位显示图4.1 系统软件设计总体结构图4.2主要模块的设计流程框图程序流程如图4.2.初始化判断有键键盘扫描Y处理按键的键值显示测相测频键值N0XFEH0XFDH图4.2程序流程方框图数据处理模块流程图见图4.3.显示部分模块流程图见图4.4.判断键值0XFE0XFD初始化T0,开启TR0,EA调用延时函数延时一秒关闭TR0提取出TH0, TL0 返回主程序初始化T1,开启TR1INT1=1时T1开始工作INT1=0时,TR1=0提取出TL1数据处理程序开始根据所得数值查表找到相应段码调用延时函数送入位码调用延时函数返回主程序显示程序开始锹籁饗迳琐筆襖鸥娅薔。图4.3数

18、据处理部分方框图 图4.4显示部分方框图5系统调试5.1 Proteus软件仿真5.1.1 Proteus仿真总图Proteus仿真结果总图见附录25.1.2 Proteus仿真的元件参数Proteus仿真元件参数见表5.1所示.表5.1 Protues仿真元件参数表元件编号元件型号元件编号元件型号电阻R1510电阻R18100电阻R210K电阻R1930K电阻R310K电阻R2030K电阻R4100排阻RP11K电阻R5510排阻RP21K电阻R610K无极性电容C10.2u电阻R710KU1AT89C52电阻R8100U2:ALM324电阻R9510U2:BLM324电阻R10510U3:

19、A74HC02电阻R11100U3:B74HC02电阻R12100U474HC573电阻R13100U5ULN2803电阻R14100U674HC573电阻R15100U774HC138电阻R16100U8741电阻R17100U974085.1.3 Proteus仿真的具体操作软件仿真是设计的一个重要部分,一般来说,如果能够在软件仿真获得成功,下一步的硬件调试就不会出多大的问题.我们运用的软件仿真平台式Proteus的ISIS仿真工具.首先按硬件调试平台或者是根据设计的原理图绘制出仿真的原理总图,然后根据需要一部分一部分的进行调试.構氽頑黉碩饨荠龈话骛。在进行软件调试的时候,特别是对移相及整

20、形电路进行调试的时候,为了看它的时序是否符合技术资料上的时序要求,最好单步进行调试.这里提供了一个比较好的解决方案.通过KEIL C和Proteus 7.5(及以上版本),可以通过驱动让Proteus和KEIL C联合调试,并通过ISIS的数字示波器实时监视单总线的时序.连接图如图5.1所示.輒峄陽檉簖疖網儂號泶。频率及相位测试仪部分的仿真连接见图5.1.图5.1 频率及相位测试仪部分的仿真连接图6系统功能指标参数6.1系统功能本系统可完成对信号频率的频率测量和相位差测量.可实现测量频率的范围为20Hz到20KHz,相位的范围为0到360.可通过按键实现测频或测相,用LED数码管直接显示读数,

21、显示清晰直观.通过与现实温度的对比,可以粗略的测得该设计的准确度,从而对比该设计的指标.我们用标准的温度计对一杯温水的温度进行测量,并且将测量结果同本系统所测得结果作对比,得出如表6.1所示的结果.尧侧閆繭絳闕绚勵蜆贅。6.2系统指标参数测试通过与现实频率相位的对比,可以粗略的测得该设计的准确度,从而对比该设计的指标.我们用标准的频率相位计对一信号的频率相位进行测量,并且将测量结果同本系统所测得结果作对比,得出如表6.1所示的结果.识饒鎂錕缢灩筧嚌俨淒。6.1 系统性能参数测试表频率相位计测得频率(HZ)频率相位计测得相位()系统测得频率(HZ)系统测得相位()频率相位计测得频率(HZ)频率相

22、位计测得相位()系统测得频率(HZ)系统测得相位()10017310117716002791606280200199199205210029121022955002334992342700310268831110002561001262330033932953436.3系统功能及指标参数分析从表6.1可得,本设计能够比较准确的测量温度相位,并且能够实时显示其值,灵敏度较高.7结论本次设计中遇到很多平常不常注意的和遇到的问题,知识面和实践上都有一些问题,在本次设计中充分感到了时间的紧迫和创新的快乐.理论上大胆假设,实践上小心求证.本组同学齐心协力在四周时间里完成了设计.本设计的数字测频测相仪具有

23、原理简单、易于编程的特点.使用单片机的定时器与计数器实现频率的等精度测量是本次设计的亮点,但由于时间与技术上的问题,本次设计还有诸多问题.但总的来讲本次设计是成功的.凍鈹鋨劳臘锴痫婦胫籴。8 总结与体会通过这次课程设计,使自己的知识水平有了显著的提高,并学会了如何将自己所学的运用于实践之中,本系统所涉及的东西几乎涵盖了大学所学的各个方面的知识,如电子技术、电路原理、程序设计基础、检测与转换、单片机等,尽管下半年就将毕业,但是学习却是终身受益的事情,只有不断学习才能不断进步,只有不断的将所学运用于实践,才能检验出所学是否正确,自己是否真的掌握.本系统还有很多有待提高之处,这需要在以后的学习中完善

24、自己的知识不断补充.通过这次课程设计,我们学会了把书本上的理论知识如何运用到实践中,在以后的生活学习中,我们也将不断努力、创新.恥諤銪灭萦欢煬鞏鹜錦。9.主要参考书单片机原理与接口技术 李朝青 北京航空航天大学出版社单片机原理与应用李建忠西安电子科技大学出版社智能仪器原理,设计及调试季建华等华东理工大学出版社单片机应用系统设计应用何立民主编北京航空航天大学出版社智能化仪器原理及应用 曹建平 西安电子科技大学出版社 智能仪器原理与设计 赵新民 哈尔滨工业大学出版社智能仪器原理及应用 赵茂泰 电子工业出版社现代科学仪器 中国分析测试协会主办自动化仪表 中国仪器仪表学会 上海工业自动化仪表研究所主办

25、仪器仪表学报 中国仪器仪表学会主办仪器仪表网 (http:/www.china_)仪器商城网 (http:/)附录1:系统的电路原理图附录2:PCB图附录3:程序代码/*头文件定义*/#ifndef _HEAD_H_#define _HEAD_H_#define uchar unsigned char#define uint unsigned int#define ulong unsigned long #define Data P0 /数据口#define Addr P0 /地址口uchar ksp2=0xfe,0xfd;sbit Write=P36; /写信号低电平有效sbit A1=P2

26、5; /低位sbit B2=P26; /中位sbit C3=P27; /高位uchar led=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/7SEG-CC鯊腎鑰诎褳鉀沩懼統庫。uchar address=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;硕癘鄴颃诌攆檸攜驤蔹。uchar button;ulong time0;ulong freq=0;uchar frequ8;#endif/*头文件函数库*/#ifndef _FUNCTION_H_#define _FUNCTION_H_void delay(

27、)/* 延时函数*/ unsigned int i; for(i=0;i10;i+); void delay1() unsigned int i; for(i=0;i2000;i+); void delay_1ms(uchar t) /延时 ms级 uchar i,j;while(t)t-;for(i=0;i10;i+)for(j=0;j100;j+);/*显示函数,先将段码通过P0口送出经74HC573锁存,再将位码通过P0口输出经74HC573,ULN2803输出位码*/阌擻輳嬪諫迁择楨秘騖。display(uchar temp,uchar i) Write=0; /写壮态 Data=le

28、dtemp; /送入数据 C3=1; /打开数据锁存器 delay(); C3=0; Addr=addressi; A1=1; B2=1; delay1(); Addr=0x00; A1=0; B2=0; void jisuan(ulong database) /对所得数据信号(频率或者相位)进行处理氬嚕躑竄贸恳彈瀘颔澩。 frequ0=database/;frequ1=database/-frequ0*10;frequ2=database/-frequ0*100-frequ1*10;frequ3=database/10000-frequ0*1000-frequ1*100-frequ2*10;

29、釷鹆資贏車贖孙滅獅赘。frequ4=database/1000-frequ0*10000-frequ1*1000-frequ2*100-frequ3*10;怂阐譜鯪迳導嘯畫長凉。frequ5=database/100-frequ0*-frequ1*10000-frequ2*1000-frequ3*100-谚辞調担鈧谄动禪泻類。frequ4*10;frequ6=database/10-frequ0*-frequ1*-frequ2*10000-frequ3*1000嘰觐詿缧铴嗫偽純铪锩。-frequ4*100-frequ5*10;frequ7=database-frequ0*-frequ1*-fr

30、equ2*-frequ3*10000-frequ4*1000-frequ5*100-frequ6*10;熒绐譏钲鏌觶鷹緇機库。/*键盘扫描程序,通过向P1口输出0Xff,通过判断P1口的信号是否发生了改变,如果发生了改变,考虑到键盘的抖动,通过延时后,再次判断P1口的值,并将P1口的键值返回到主程序 */鶼渍螻偉阅劍鲰腎邏蘞。 uchar keypad_scan() uchar i;uchar key;for(i=0;i2;i+)if(P1=kspi) delay();key=P1;if(key=kspi) return(key); uchar test_freqT0(void) uint aa; TMOD=0x05; /计数器0方式1EA=1;TH0=0X00;TL0=0X00;ET0=1; TR0=1;delay_1ms(1000);TR0=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论