频率相位计4._第1页
频率相位计4._第2页
频率相位计4._第3页
频率相位计4._第4页
频率相位计4._第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、1低频数字式相位测量仪作者: 黄金龙 杜丙同 柴汇山东大学控制学院山东济南 250061 )赛前指导老师: 姚福安 万朋摘要本系统包括相位测量仪, 数字式移相信号发生器和移相网络 三部分组成。 相位测量仪以单片机为核心, 可以实现两路信号的 相位差测量及频率测量。 数字式移相信号发生器产生信号并对其 移相。相位测量仪, 数字式移相信号发生器均使用键盘输入, LCD 液晶显示,具有可视化操作及友好的人机界面 。关键词: 频率、相位、移相、方案论证与选择根据系统要求,可分为几个基本模块,如图1图1 各模块有以下设计方案:1、移相网络方案一:利用RC桥路,如图2。图2该电路通过桥式相位比较,最大移相

2、角度可达到 90,通过一电位器对两 路信号幅值的调节,合成出一45+ 45的相位差。但该网络的缺点是对频率 响应明显,频率变化,对移相网络的的参数要求都有相应的变化, 所以对连续的 频率变化,很难达到要求。但对固定频率,能够轻松完成移相任务。方案二:利用集成运放,如图3。该网络通过对对地电阻的调节,可实现180。0的调节,然后进行二 级串连,对第二级进行移相调节,可得到180180的调节。即使在高频时, 仍满足系统要求,对系统元件没有太大要求, 但系统比较复杂,可用于频率要求 连续变化的环节。移相网络方案论证:通过比较,我们发现,系统仅仅要求对固定三个频率的信号,经过计算,方 案一仅仅通过改变

3、电容便可使系统达到要求, 且移相精度高,可控性较方案二高, 结构简单,仅此我们选择方案一。我们用方案二制成了移相范围为0。360的移相网络。值得一提的是我们也做过 RC桥路数控方面的设计尝试,其中有用 集成模拟开关CD4051作多路开关,但由于在试验中发现 CD4051会明显影响 RC桥的平衡从而使网络对频率的响应产生畸变,而我们对CD4051内部阻抗的数学模型不甚了解,无法提供因此引起的误差的补偿,而由于时间的限制,通过试验的方法确定补偿电路的参数是比较困难的。对于相位差调节我们曾考虑过使 用数控电位器进行数字调节,由于理想的数字电位器(如x9c103)很难购买,我们考虑的替代品X9313W

4、不能满足精度要求。出于以上考虑我们最终采用了 手动分档式调节,并辅助以移相的相位初步显示。2、频率、相位测量方案一:利用单片机测量两输入信号上升沿相隔时间tp,并测出信号周期t,经过计算得出相位差。优点是硬件电路简单,方便易行。缺点是单片机晶振 频率有限,对于高频信号测量精度大大降低,无法达到2的绝对误差。方案二:对测量信号倍频。利用反馈原理,通过锁相环与分频器构成倍频器。 倍频系数固定,故测量两相位差之间的脉冲即可获得相应的相位差。例如倍频 1000倍数。每个脉冲就是0.36,倍频10K倍则精度可达到0.036,且测量绝 对误差不随频率变化而变化,提高倍频倍数可直接降低绝对误差。优点是测量脉

5、 冲数与相位差成正比,通过简单的甚至不通过计算即可得出相位差, 不占用CPU 资源。方案三:(如图5)用计数器对相位差之间的外部晶振脉冲进行计数, 通过计 数器计数以及逻辑门电路向 CPU申请中断。CPU用定时器/计数器0对外部计 数器的溢出脉冲进行计数,同时将计数器里的数值计入内部数据区。 用同样的方 法将被测信号一个周期内的脉冲数记录。 可将以上数据换算为时间长度,则信号 测量精度取决于外部晶振的频率以及计数器的位数,众所周知计数器的位数可通 过级联轻松进行扩展,外部晶振的频率可以很高,所以此法具有较高的可行性, 而且节省CPU,可使其用更多的时间进行数据处理、键盘处理及显示。的频率为外部

6、晶振的频率一个周期内的计数值,相位差相位差之间的脉冲数一个周期内的计数值360。其高频脉冲溢出中晰计单.数k片器机图5由于资源与时间的限制,没有得到性能优良的倍频器件,而普通锁相环输 出频率最高为1.2MHz,实际测量仅达至U 800KHZ。通过比较与论证,频率、相 位测量部分利用方案三,数字式移相信号发生器可利用方案二对系统输出作初步 校验。3、弦信号发生方案一:利用锁相环与倍频技术进行信号发生。其具有很好的窄带跟踪特 性可以很好的设定所需频率,抑制杂散分量,避免了大量滤波器。方案二:利用8038集成信号发生器:该集成电路使用方便、调试简单、性能稳定,它不仅能产生正弦波,同时 还能产生三角波

7、和方波,且需要的外接元件很少,产生频率的温度漂移小于50 10 6/C,正弦波输出失真度小于1%,频率范围为0.01Hz300kHz,峰峰值 可由零到电源电压,控制信号为电压信号, 有着较好的可控性和较高的精度, 但 由于外接电阻电容对参数影响使其抗干扰能力和频率稳定度收到一定限制。方案三:采用直接数字频率合成方案(DDFS):这是目前实际应用中波形发生常用的方案,其分辨率精度是传统方法几乎 无法实现的,稳定性和可控性也是最高的,完全数字步进。正弦信号发生方案论证:方案一在控制时可达到较好的精度和方便的控制方案,但是由于自身频率 的限制,很难达到系统要求的频率;方案三客观上说是完成该任务的最佳

8、方案, 但是对于难以程控的相对稳定度极低的相移来说没有太大的必要,对于主设计系统测量,影响甚微,而且对此功能的实现投入较大的精力和资金显然是不合理的; 方案二实现比较简单,而且其稳定性和控制调节基本可以满足现实的要求,因此我们选择方案二完成信号发生。、理论分析与计算1、关于信号发生的有关计算:利用8038产生信号的频率可经过电压输入进行调节。为提高频率范围,首 先对D/A输出电压的进行放大至012V0 8038有较高的稳定度,产生频率的温 度漂移小于50 10 6/T,正弦波输出失真度小于1%,频率范围为 0.01Hz300kHz。8038产生的信号频率与RC值紧密相关,固定的RC值不可能把频

9、率控 制到20Hz20KHz。经分析,采用分档模式进行 C的调整可满足要求。对于题 目要求的步进20Hz,在低频阶段相对误差太大,而高频却达到0.1%的精度,委实不太符合工程习惯。为提高低频信号的精度与高频信号的步进,通过对C的选择对20Hz20KHz范围内进行分段。由于电压的控制,某一频率段有固定的 步进,又由于电容影响,整个频率范围内又有较为稳定的相对误差。2、对RC网络的参数计算:根据图2所示的移相电路,通过对RC桥两输出口计算得两部分传函分别为1 和 旦亠,令s= j ,电阻固定为1.6k不变,根据题目所给出的100, sRC 1 sRC 11k,10kHz,由电位器得两个极限位置,得

10、出三档电容值分别为1卩F,0.1卩F,0.01 卩 Fo设调节相位电位器的变化比例为k,即k =2一,移相网络的传函为R1 R2Gs ks?1 SRC SkRCk sRC 1ks为前向增益。由于幅角与频率的非线性关系,在高频区,器件的误差在相位 上显现出来,试验测量得出,相对误差小于4%,基本达到要求。3、0360移相网络的参数计算:移相网络电路如图7所示:经计算,其前级传函为Gs二ks?範,令ssRC 1=j 3,调整 RC 当 j 3 RC1 时,G s = 1,当 j 3 RCM d Pi in & W F* Q000 0QO0o g GD口口口J.-.Jy i? JrJy瓷E7m口 Q

11、 口 C nH1 h- rtf- 1石12图11四、软件设计在系统中,我们将相位差测量与正弦波发生分为两个独立的功能模块,由两 个独立的单片机分别控制,因此有两套独立的程序,一是脉冲计数测量频率及相 位差的程序,二是通过 D/A控制8038波形发生程序。1、正弦波发生控制程序:其流程图如图10所示。开始屮判断键值Q数据送DA輪出斗昱示输出频率*r读入缩相环的相 位差敢抵“显示相位差图102、脉冲计数测量频率及相位差程序:僭号$_ |_| _ _ |_|_j lj |相* 1 n n n n n n n n 购辜茲剧信号IIlE 帀 |伽J*如上图所示,信号经过整形相与后得到相位差信号,经过计数

12、控制信号,得 到计数值,经过比较得到相位差,利用时间 2得到频率值。其流程图如图11所示。14五、系统测试分析图11预值201002001k2k5k10k20k1、测试数据a对信号发生器预值频率测试16数实际 值19.6498.2200.61.34k2.35k4.799. 3619.31图12、频率输出曲线从图12上可以看出,系统线性度较好,但在 10k以上时,出现一定的系统误差。b、固定频率经过手动移相网络测试频率1001k10k取大超前176. 3180.9183. 2最大滞后197. 3182. 5176. 3c、相位差的测试频率100Hz实际值135.0890.0645.0545.03

13、89.94135.06测量值225.03270.02315. 0145. 0290. 02135. 01误差0. 110. 08;0. 06;0. 050. 060. 07频率1KHz实际值135.1389.8444.9144.9590. 11135. 18测量值223. 7 1270. 6315. 645. 391. 7136. 2误差0.930.340. 510. 650. 630. 48频率10KHZ实际值135.2290.6545.2145.9690.86135.65测量值223.21271.1315.847.592.5137.2误差1.571.751.011.441.641.152、

14、误差分析信号发生器的预制频率在 1KHz以上绝对误差较大,来源在于电容的选 用,在提高频率范围的前提下,考虑高频信号的相对误差,设计可以接受。 相位差的测量,精度难以达到理论值,可能是由于相位差信号的脉宽相差较大,计数值的末位有一定偏差,故实际误差应比理论值高一倍。由于使用了 软件滤波,测量误差仍较大,原因不祥。六、结论本设计完成了基本要求中的相位差测量与移相网络的制作,及发挥部分的移 相信号发生器的制作。相位差的测量中最大误差仅为0.8高于发挥部分误差低于1的要求。移相网络中,移相范围为一180180 ,且可手动连续可调,与 移相信号发生器结合可实时显示移相幅度。 本系统经过精心的调节达到各

15、项性能 指标,且有一定的创新。Abstract :The system includes a equipment for measuring phase differenc, ea signal generator with different phase and a circuit for getting different signals. The main part of equipment for the measurementof phase difference is MPU, it can measure the phase difference from two inputti

16、ng signals and their frequency. The signal generator can generate a signal and change the phase. The equipment for measuring phase and the signal generator both can be controlled with keyboard, shown by LCD, so the system can be operated visually and have an friendly HMI.Key Words: frequency, phase,

17、 phase moving附 : 源程序RS BIT P2.6R_W BIT P2.7ENABLEBIT P2.5DB0_DB7DATA80HPHASE1EQU21HPHASE2EQU22HPHASE3EQU23HFREQ1 EQU 24HFREQ2 EQU 25HFREQ3 EQU 26H;RS BIT P3.4;R_W BIT P3.5;ENABLEBIT P3.3;DB0_DB7 DATA 90HORG 0000HLJMP MAINORG0003HMOVPHASE3,P0CLRTR0MOVPHASE2,TL0MOVPHASE1,TH0RETIORG0013HMOVFREQ3,P0CLRT

18、R0MOVFREQ2,TL0MOVFREQ1,TH0ORG0040HMAIN: MOV SP,#50HMOV TMOD,#05HMOV TL0,#00HMOV TH0,#00HACALL InitialACALL CLS MOV A,#10000000BACALL Write_instructionMOV DPTR,#LINE1ACALL PR_STRING;显示Phase Differe nee字样MAIN2: SETB P2.1CLR P2.0LOOP1: JNB P2.4,$LOOP2: JB P2.4,$SETB TR0LOOP3: JB P2.4,$SETB P2.0CLR P2.1

19、LOOP4: JNB P2.4,$LOOP5: JB P2.4,$SETB TR0LOOP6: JB P2.4,$CLR CMOV A,PHASE1 SUBB A,FREQ1 JC MAIN2MOV A,PHASE1 ORL A,FREQ1 JNZNEXT CLR CMOV A,PHASE2 SUBB A,FREQ2 JC MAIN2MOV A,PHASE2ORL A,FREQ2JNZNEXTCLR CMOV A,PHASE3 SUBB A,FREQ3 JC MAIN2NEXT: MOV A,FREQ1 ANL A,#0F0H JZ SHUJU1 MOV R2,PHASE1MOV R3,PHA

20、SE2 LCALL PHASECHULI MOV R6,FREQ1MOV R7,FREQ2 LCALL DIVDMOV A,R5 JNZMAINLCALL HB2 LCALL DISPHASE MOV R1,#01H MOV R2,#6EH MOV R3,#36H MOV R4,#00H MOV R6,FREQ1MOV R7,FREQ2LCALL DIVDMOV A,R5JNZMAIN2LCALL HB2LCALL DISFREQLJMP NEXT2SHUJU1: MOV A,FREQ1ANL A,#0FHJZ SHUJU2MOV A,PHASE2ANL A,#0F0HSWAP AADD A,

21、PHASE1MOV R2,AMOV A,PHASE2ANL A,#0FHMOV R0,AMOV A,PHASE3ANL A,#0F0HADD A,R0MOV R3,ALCALL PHASECHULIMOV A,FREQ2ANL A,#0F0HSWAP AADD A,FREQ1MOV R6,AMOV A,FREQ2ANL A,#0FHMOV R0,AMOV A,FREQ3ANL A,#0F0HADD A,R0MOV R7,APUSH 07HPUSH 06HLCALL DIVDMOV A,R5JNZERRORLCALL HB2LCALL DISPHASEMOV R1,#00HMOV R2,#16H

22、MOV R3,#0E3HMOV R4,#60HPOP 06HPOP 07HLCALL DIVDMOV A,R5JNZERRORLCALL HB2LCALL DISFREQLJMP NEXT2ERROR: LJMP MAIN2SHUJU2:MOV R2,PHASE2MOV R3,PHASE3LCALL PHASECHULIMOV R6,FREQ2MOV R7,FREQ3LCALL DIVDMOV A,R5JNZERRORLCALL HB2LCALL DISPHASEMOV R1,#00HMOV R2,#01HMOV R3,#6EHMOV R4,#36HMOV R6,FREQ1MOV R7,FRE

23、Q2LCALL DIVDMOV A,R5JNZERRORLCALL HB2LCALL DISFREQNEXT2: LJMP MAIN2 ;*8PHASECHULI:MOV R6,#8CHMOV R7,#0A0HLCALL PHASECHULILCALL MULDMOV A,R2MOVR1,AMOVA,R3MOVR2,AMOVA,R4MOVR3,AMOV A,R5MOV R4,ARETDISPHASE:DISFREQ:LINE1: DB Phase Difference,00H;双字节十六进制整数转换成双字节BCD码整数;入口条件:待转换的双字节十六进制整数在 R6、R7 中。;出口信息:转换后

24、的三字节BCD码整数在 R3、R4、R5中;影响资源:PSW、A、R2R7堆栈需求:2字节HB2:CLR A;;BCD码初始化MOVR3,AMOVR4,AMOVR5,AMOVR2,#10HHB3:MOV A,R7;转换双字节十六进制整数; ;从高端移出待转换数的一位到 CY 中23;;BCD码带进位自身相加,相当于乘2; ;十进制调整DA ARLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R5ADDC A,R5MOV R5,AMOV A,R4ADDC A,R4DAAMOVR4,AMOVA,R3ADDCA,R3MOVR3,A;;双字节十六进制数的万位数不超过6,不

25、用调整DJNZR2,HB3;;处理完16bitRET *J;液晶显示初始化子程序;用法: ACALL InitialJ *JInitial:MOV A,#00111000B;指令 6ACALL Write_instructionMOVA,#00001111B;指令 4ACALL Write_instructionMOVA,#00000110B;指令 3ACALL Write_instructionRET *;清屏子程序;用法: ACALL CLS; ACALL DELAY *JCLS: PUSH ACCMOV A,#01HACALL Write_instructionPOP ACCRET *;

26、写操作指令子程序;用法: MOV A,#10000000B 设置显示字符的地址 ; ACALL Write_instructionJ *JWrite_instruction:ACALL CheckBusyCLR ENABLECLR RSCLR R_WSETBMOVCLRRETENABLEDB0_DB7,AENABLE .* ;显示字符串子程序;用法:MOV A,#10000000B 第一行首地址;ACALL Write_instruction;MOV DPTR,#LINE1;ACALL PR_STRING25MOVA,#11000000B第二行首地址#ACALL Write_instructi

27、onMOV DPTR,#LINE2ACALL PR_STRING?;LINE1:DB ABCD,00H;LINE2:DB 0000,00H.*PR_STRING:PUSH ACCPR_LOOP:CLR AMOVC A,A+DPTR JZ END_PRACALL WriteLCDData INC DPTRLJMP PR_LOOP END_PR:POP ACCRET* ;向 LCD 写入字符子程序;用法 :MOV A,#*H ;#*H 为要显示字符的 ASCII 码; ACALL WriteLCDData*WriteLCDData:ACALL CheckBusyCLR ENABLESETB RSC

28、LR R_WSETB ENABLEMOV DB0_DB7,ACLR ENABLERET *;检测液晶是否忙子程序;用法:ACALL CheckBusy *JCheckBusy:PUSH ACCCheckBusyLoop:CLR RSSETB R_WCLR ENABLESETB ENABLEMOV A,DB0_DB7CLR ENABLE;JB ACC.7,CheckBusyLoopPOP ACCACALL DELAYRET *J;延时子程序;R6*(500uS);用法:ACALL DELAY *JDELAY:PUSH 06HPUSH 07HMOV R6,#5D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1POP 07HPOP 06HRETT1S:PUSH 06H;延时 0.6SPUSH07HPUSH05HMOVR5,#03HT1S2:MOV R6,#0FFHT1S1:MOV R7,#0FFHDJNZR7,$DJNZR6,T1S1DJNZR5,T1S2

温馨提示

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

评论

0/150

提交评论