频率相位计4文档格式.docx

上传人:b****5 文档编号:19814653 上传时间:2023-01-10 格式:DOCX 页数:28 大小:99.01KB
下载 相关 举报
频率相位计4文档格式.docx_第1页
第1页 / 共28页
频率相位计4文档格式.docx_第2页
第2页 / 共28页
频率相位计4文档格式.docx_第3页
第3页 / 共28页
频率相位计4文档格式.docx_第4页
第4页 / 共28页
频率相位计4文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

频率相位计4文档格式.docx

《频率相位计4文档格式.docx》由会员分享,可在线阅读,更多相关《频率相位计4文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

频率相位计4文档格式.docx

利用单片机测量两输入信号上升沿相隔时间tp,并测出信号周期t,经过计算得出相位差。

优点是硬件电路简单,方便易行。

缺点是单片机晶振频率有限,对于高频信号测量精度大大降低,无法达到2°

的绝对误差。

对测量信号倍频。

利用反馈原理,通过锁相环与分频器构成倍频器。

倍频系数固定,故测量两相位差之间的脉冲即可获得相应的相位差。

例如倍频1000倍数。

每个脉冲就是0.36°

,倍频10K倍则精度可达到0.036°

,且测量绝对误差不随频率变化而变化,提高倍频倍数可直接降低绝对误差。

优点是测量脉冲数与相位差成正比,通过简单的甚至不通过计算即可得出相位差,不占用CPU资源。

方案三:

(如图5)用计数器对相位差之间的外部晶振脉冲进行计数,通过计数器计数以及逻辑门电路向CPU申请中断。

CPU用定时器/计数器0对外部计数器的溢出脉冲进行计数,同时将计数器里的数值计入内部数据区。

用同样的方法将被测信号一个周期内的脉冲数记录。

可将以上数据换算为时间长度,则信号的频率为

,相位差

其测量精度取决于外部晶振的频率以及计数器的位数,众所周知计数器的位数可通过级联轻松进行扩展,外部晶振的频率可以很高,所以此法具有较高的可行性,而且节省CPU,可使其用更多的时间进行数据处理、键盘处理及显示。

图5

由于资源与时间的限制,没有得到性能优良的倍频器件,而普通锁相环输出频率最高为1.2MHz,实际测量仅达到800KHz。

通过比较与论证,频率、相位测量部分利用方案三,数字式移相信号发生器可利用方案二对系统输出作初步校验。

3、弦信号发生

利用锁相环与倍频技术进行信号发生。

其具有很好的窄带跟踪特性可以很好的设定所需频率,抑制杂散分量,避免了大量滤波器。

利用8038集成信号发生器:

该集成电路使用方便、调试简单、性能稳定,它不仅能产生正弦波,同时还能产生三角波和方波,且需要的外接元件很少,产生频率的温度漂移小于

/℃,正弦波输出失真度小于1%,频率范围为0.01Hz~300kHz,峰峰值可由零到电源电压,控制信号为电压信号,有着较好的可控性和较高的精度,但由于外接电阻电容对参数影响使其抗干扰能力和频率稳定度收到一定限制。

采用直接数字频率合成方案(DDFS):

这是目前实际应用中波形发生常用的方案,其分辨率精度是传统方法几乎无法实现的,稳定性和可控性也是最高的,完全数字步进。

正弦信号发生方案论证:

方案一在控制时可达到较好的精度和方便的控制方案,但是由于自身频率的限制,很难达到系统要求的频率;

方案三客观上说是完成该任务的最佳方案,但是对于难以程控的相对稳定度极低的相移来说没有太大的必要,对于主设计系统测量,影响甚微,而且对此功能的实现投入较大的精力和资金显然是不合理的;

方案二实现比较简单,而且其稳定性和控制调节基本可以满足现实的要求,因此我们选择方案二完成信号发生。

二、理论分析与计算

1、关于信号发生的有关计算:

利用8038产生信号的频率可经过电压输入进行调节。

为提高频率范围,首先对D/A输出电压的进行放大至0~12V。

8038有较高的稳定度,产生频率的温度漂移小于

/℃,正弦波输出失真度小于1%,频率范围为0.01Hz~300kHz。

8038产生的信号频率与RC值紧密相关,固定的RC值不可能把频率控制到20Hz~20KHz。

经分析,采用分档模式进行C的调整可满足要求。

对于题目要求的步进20Hz,在低频阶段相对误差太大,而高频却达到0.1%的精度,委实不太符合工程习惯。

为提高低频信号的精度与高频信号的步进,通过对C的选择对20Hz~20KHz范围内进行分段。

由于电压的控制,某一频率段有固定的步进,又由于电容影响,整个频率范围内又有较为稳定的相对误差。

2、对RC网络的参数计算:

根据图2所示的移相电路,通过对RC桥两输出口计算得两部分传函分别为

,令s=

,电阻固定为1.6k不变,根据题目所给出的100,1k,10kHz,由电位器得两个极限位置,得出三档电容值分别为1μF,0.1μF,0.01μF。

设调节相位电位器的变化比例为k,即k=

,移相网络的传函为

ks为前向增益。

由于幅角与频率的非线性关系,在高频区,器件的误差在相位上显现出来,试验测量得出,相对误差小于4%,基本达到要求。

3、0°

移相网络的参数计算:

移相网络电路如图7所示:

经计算,其前级传函为

,令s=jω,调整RC,当jωRC>

>

1时,

=1,当jωRC<

<

=-1,由此便可以实现0°

的相移,其后在加上一级相同的网络,便可实现0°

移相。

经过我反复测试们,令C=1μF,当频率为20KHz时,R为10~1KΩ,当频率为20Hz时,R为80~500KΩ,由此确定R的调节范围为0~500KΩ。

由于使用器件自身的误差,在高频时几乎无法完成调节任务,因此我们只用其对20~1kHz的信号进行移相。

由于调节范围相差较大,我们采用两电位器级联,一作为粗调,一作为微调,增加了可调性。

4、关于相位差测量电路有关计算:

利用计数的方法测量两路信号的相位差关键是计数频率的要求,若使测量精度提高可提高计数脉冲频率。

对于高频信号,信号周期短,其测量精度较之低频大大降低。

如20KHz信号,其周期为50μs,在测量精度为2°

要求下,计数周期应小于50/180=0.278μs,即频率在3.6M以上。

本系统使用24M计数频率,对于20KHz高频信号测量精度为0.3°

而对20Hz的低频信号测量精度可达到0.0003°

大大满足题目的要求。

加入软件滤波减小误差及降低误测量。

5、关于移相控制器校验相位的有关计算:

由于是对相移的初步校验,目的是显示手动调节相移的粗略测量及显示,提高移相控制器的可操作性,故本系统把测量精度定为4°

,缩相环对测量信号进行100倍频。

由于此测量数据精度与信号频率无关,较大的误差对手动调节可以接受。

三、电路分析与设计

1、信号发生电路:

我们利用ICL8038来制作信号发生电路,

图6

我们根据不同频段电压的调节能力,将RC网络分为五个,有拨段开关构成五档,每档电路都如图6所示一样,利用8位D/A转换器输出电压信号控制(如图7),因此每档的步长为每档频率范围的1/256,保证了步长为每档有效数字的单位步进,甚至是半单位步进。

这种方便控制且更加接近工程应用的的习惯。

图7

2、电位器控制移相电路:

使用题目给出的RC桥路,电路见上文(图4),原理上文已经有过明确的说明和分析,这里不再具体介绍。

移相网络电路:

该电路有两级180°

移相网络串连构成,电路如图8所示:

图8

在电路输出的后级加上一级电压放大,以平衡移相时对幅值的影响,在一级网络相移180°

后,经手动转换到第二级输出,完成180°

的相移,在调整时,系统通过简易锁相环简测相位差电路初步显示所调出的相位差。

若认为精度达不到要求,还可以逐级增加,本系统利用的是三级串联网络。

4、整形电路:

利用电压比较器,使信号过零比较使产生标准0~5V电压信号。

经过放大整形电路,可以大大提高正弦信号峰峰值的测量范围。

经测试可测量峰峰值低至0.01V的正弦波,由于加入过压保护可提高对输入信号的耐压程度。

5、锁相环倍频电路

如图10所示,使倍频电路倍频100倍。

输入信号频率范围从1Hz~8KHz均可获得倍频信号,而对于大于8KHz的输入,输出信号的频率将出现饱和和非线性。

6、相位差测量电路:

测量相位差是该项目的主要功能,其电路图为图9所示:

图10

由于对相位差与频率同时测量,为使计数值不互相影响,使用两片74LS373进行数据锁存,考虑到高频信号且相位差又比较小的情况,加入一片74LS245进行数据缓冲。

6、其他

键盘可利用键盘显示模块8279,考虑到经济要求,我们没有采用。

也可采取用P1口直接扩展4×

4键盘,但其对资源浪费比较严重。

经过我们对键盘工作原理的理解与改进,最终利用一片74LS245、一片74LS373即可以达到识别键值的目的,我们利用P1口扩展了4×

4键盘。

同时使其可与LCD同时使用P1口,节约了资源。

据此我们并制并测试成功。

大大提高了经济效益。

相位测量仪,数字式移相信号发生器均配备此种键盘,显示采用字符形LCD显示,提供友好的人机接口。

在基本功能的基础上,我们制作了±

5V、±

15V稳压电源。

使系统可直接由220V交流电提供电源。

图11

四、软件设计

在系统中,我们将相位差测量与正弦波发生分为两个独立的功能模块,由两个独立的单片机分别控制,因此有两套独立的程序,一是脉冲计数测量频率及相位差的程序,二是通过D/A控制8038波形发生程序。

1、正弦波发生控制程序:

其流程图如图10所示。

2、脉冲计数测量频率及相位差程序:

如上图所示,信号经过整形相与后得到相位差信号,经过计数控制信号,得到计数值,经过比较得到相位差,利用时间2得到频率值。

其流程图如图11所示。

图11

五、系统测试分析

1、测试数据

a、对信号发生器预值频率测试

预值数

20

100

200

1k

2k

5k

10k

20k

实际值

19.64

98.2

200.6

1.34k

2.35k

4.79

9.36

19.31

图12、频率输出曲线

从图12上可以看出,系统线性度较好,但在10k以上时,出现一定的系统误差。

b、固定频率经过手动移相网络测试

频率

最大超前

176.3

180.9

183.2

最大滞后

197.3

182.5

c、相位差的测试

频率100Hz

-135.08

-90.06

-45.05

45.03

89.94

135.06

测量值

225.03

270.02

315.01

45.02

90.02

135.01

误差

0.11

0.08

0.06

0.05

0.07

频率1KHz

-135.13

-89.84

-44.91

44.95

90.11

135.18

223.7

270.6

315.6

45.3

91.7

136.2

0.93

0.34

0.51

0.65

0.63

0.48

频率10KHz

-135.22

-90.65

-45.21

45.96

90.86

135.65

223.21

271.1

315.8

47.5

92.5

137.2

1.57

1.75

1.01

1.44

1.64

1.15

2、误差分析

信号发生器的预制频率在1KHz以上绝对误差较大,来源在于电容的选用,在提高频率范围的前提下,考虑高频信号的相对误差,设计可以接受。

相位差的测量,精度难以达到理论值,可能是由于相位差信号的脉宽相差较大,计数值的末位有一定偏差,故实际误差应比理论值高一倍。

由于使用了软件滤波,测量误差仍较大,原因不祥。

六、结论

本设计完成了基本要求中的相位差测量与移相网络的制作,及发挥部分的移相信号发生器的制作。

相位差的测量中最大误差仅为0.8°

高于发挥部分误差低于1°

的要求。

移相网络中,移相范围为-180°

且可手动连续可调,与移相信号发生器结合可实时显示移相幅度。

本系统经过精心的调节达到各项性能指标,且有一定的创新。

Abstract:

Thesystemincludesaequipmentformeasuringphasedifference,asignalgeneratorwithdifferentphaseandacircuitforgettingdifferentsignals.ThemainpartofequipmentforthemeasurementofphasedifferenceisMPU,itcanmeasurethephasedifferencefromtwoinputtingsignalsandtheirfrequency.Thesignalgeneratorcangenerateasignalandchangethephase.Theequipmentformeasuringphaseandthesignalgeneratorbothcanbecontrolledwithkeyboard,shownbyLCD,sothesystemcanbeoperatedvisuallyandhaveanfriendlyHMI.

KeyWords:

frequency,phase,phasemoving

附:

源程序

RSBITP2.6

R_WBITP2.7

ENABLEBITP2.5

DB0_DB7DATA80H

PHASE1EQU21H

PHASE2EQU22H

PHASE3EQU23H

FREQ1EQU24H

FREQ2EQU25H

FREQ3EQU26H

;

RSBITP3.4

R_WBITP3.5

ENABLEBITP3.3

DB0_DB7DATA90H

ORG0000H

LJMPMAIN

ORG0003H

MOVPHASE3,P0

CLRTR0

MOVPHASE2,TL0

MOVPHASE1,TH0

RETI

ORG0013H

MOVFREQ3,P0

MOVFREQ2,TL0

MOVFREQ1,TH0

ORG0040H

MAIN:

MOVSP,#50H

MOVTMOD,#05H

MOVTL0,#00H

MOVTH0,#00H

ACALLInitial

ACALLCLS

MOVA,#10000000B

ACALLWrite_instruction

MOVDPTR,#LINE1

ACALLPR_STRING;

显示"

PhaseDifference"

字样

MAIN2:

SETBP2.1

CLRP2.0

LOOP1:

JNBP2.4,$

LOOP2:

JBP2.4,$

SETBTR0

LOOP3:

SETBP2.0

CLRP2.1

LOOP4:

LOOP5:

LOOP6:

CLRC

MOVA,PHASE1

SUBBA,FREQ1

JCMAIN2

ORLA,FREQ1

JNZNEXT

MOVA,PHASE2

SUBBA,FREQ2

ORLA,FREQ2

MOVA,PHASE3

SUBBA,FREQ3

NEXT:

MOVA,FREQ1

ANLA,#0F0H

JZSHUJU1

MOVR2,PHASE1

MOVR3,PHASE2

LCALLPHASECHULI

MOVR6,FREQ1

MOVR7,FREQ2

LCALLDIVD

MOVA,R5

JNZMAIN

LCALLHB2

LCALLDISPHASE

MOVR1,#01H

MOVR2,#6EH

MOVR3,#36H

MOVR4,#00H

JNZMAIN2

LCALLDISFREQ

LJMPNEXT2

SHUJU1:

ANLA,#0FH

JZSHUJU2

SWAPA

ADDA,PHASE1

MOVR2,A

MOVR0,A

ANLA,#0F0H

ADDA,R0

MOVR3,A

MOVA,FREQ2

ADDA,FREQ1

MOVR6,A

MOVA,FREQ3

MOVR7,A

PUSH07H

PUSH06H

JNZERROR

MOVR1,#00H

MOVR2,#16H

MOVR3,#0E3H

MOVR4,#60H

POP06H

POP07H

ERROR:

LJMPMAIN2

SHUJU2:

MOVR2,PHASE2

MOVR3,PHASE3

MOVR6,FREQ2

MOVR7,FREQ3

MOVR2,#01H

MOVR3,#6EH

MOVR4,#36H

NEXT2:

*****************************************************8

PHASECHULI:

MOVR6,#8CH

MOVR7,#0A0H

LCALLMULD

MOVA,R2

MOVR1,A

MOVA,R3

MOVA,R4

MOVR4,A

RET

DISPHASE:

DISFREQ:

LINE1:

DB"

00H

双字节十六进制整数转换成双字节BCD码整数

入口条件:

待转换的双字节十六进制整数在R6、R7中。

出口信息:

转换后的三字节BCD码整数在R3、R4、R5中。

影响资源:

PSW、A、R2~R7堆栈需求:

2字节

HB2:

CLRA;

BCD码初始化

MOVR3,A

MOVR4,A

MOVR5,A

MOVR2,#10H;

转换双字节十六进制整数

HB3:

MOVA,R7;

从高端移出待转换数的一位到CY中

RLCA

MOVR7,A

MOVA,R6

MOVR6,A

MOVA,R5;

BCD码带进位自身相加,相当于乘2

ADDCA,R5

DAA;

十进制调整

MOVA,R4

ADDCA,R4

DAA

MOVA,R3

ADDCA,R3

MOVR3,A;

双字节十六进制数的万位数不超过6,不用调整

DJNZR2,HB3;

处理完16bit

RET

*****************************************************************

液晶显示初始化子程序

用法:

ACALLInitial

Initial:

MOVA,#00111000B;

指令6

ACALLWrite_in

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1