低频数字式相位测量仪

 

摘要:本设计给出了以凌阳16位单片机Spce061A为核心的数字式相位测量的基本原理与实现方案。该系统由相位测量仪、数字式移相信号发生器和移相网络三个模块构成,分别由两块单片机独立地实现控制与显示功能。采用DDS技术生成两路正弦波信号,并通过改变存储器中数据读取的起始地址来实现数字移相的功能,用Ф-T变换技术来实现相位差的测量,使得测量分辨率精确到0.1º,测得的频率与相位差值送入LCD进行显示,加入红外键盘以及语音播报的功能,使得系统具有智能化、人性化的特色。

关键词:相位测量 频率测量 数字移相 DDS 语音播报

 

 

 

 

 

 

 

 

 

 

 

引言:随着相位测量技术广泛应用于国防、科研、生产等各个领域,对相位测量的要求也逐步向高精度、高智能化方向发展,在低频范围内,相位测量在电力、机械等部门有着尤其重要的意义,对于低频相位的测量,用传统的模拟指针式仪表显然不能够满足所需的精度要求,随着电子技术以及微机技术的发展,数字式仪表因其高精度的测量分辨率以及高度的智能化、直观化的特点得到越来越广泛的应用。基于这些要求,我们设计并制作了基于Spce061A凌阳16位单片机为核心的低频数字式相位测量系统。

 

方案论证与设计

1 相位测量方案

方案:将被测的两路正弦波信号经比较器整形成方波信号,利用异或门电路进行鉴相处理,将得到的脉冲序列经过RC平滑滤波取出其直流分量,该直流电平的幅值与两路信号的相位差成正比,将此信号送入A/D转换器由单片机进行运算处理从而计算出相位差值。

方案二:采用脉冲填充计数法,将正弦波信号整成方波信号,其前后沿分别对应于正弦波的正相过零点与负相过零点,对两路方波信号进行异或操作之后输出脉冲序列的脉宽可以反映两列信号的相位差,以输入信号所整成的方波信号作为基频,经锁相环倍频得到的高频脉冲作为闸门电路的计数脉冲,由单片机对获取的计数值进行处理得到两路信号的相位差。

方案三:鉴相部分同方案二,将两路方波信号异或后与晶振的基准频率进行与操作,得到一系列的高频窄脉冲序列。通过两片计数器同时对该脉冲序列以及基准源脉冲序列进行计数,一路方波信号送入单片机外部中断口,作为控制信号控制两片计数器。得到的两路计数值送入单片机进行处理得相位差值。

对以上三种方案进行比较,方案一在低频段时,RC滤波电路的输出波动很大,难以达到要求的相位精度,而方案二在所测频率较高时,受锁相环工作频率等参数的影响会造成相位差测量的误差,极大地影响测量的精度,采用方案三由高精度的晶振产生稳定的基准频率,可以满足系统高精度、高稳定度的要求。

2 频率测量方案

方案一:用专用频率计模块来测量频率,如ICM7216芯片,其内部带放大整形电路,可以直接输入正弦信号,外部振荡部分选用一块高精度晶振和两个低温度系数电容构成10MHz振荡电路,其转换开关具有0.01s0.1s1s10s四种闸门时间,量程可以自动切换,待计数过程结束时显示测频结果。

方案二:利用可编程计数器来实现频率的测量,将被测信号转换为方波信号输入可编程计数器8254的某一路Clk端口,并将Gate端置为高电平,利用单片机产生的定时中断来控制8254的计数,最后计数值送入单片机处理并输出。

对以上方案进行比较,利用频率计模块来实现频率测量,ICM7216的外围硬件电路复杂,测频精度不够高;而采用方案二,用单片机控制计数器工作,硬件简单且频率测量精度高,这也是目前较为成熟的一种高精度测频方案。因此采用方案二来实现频率的测量

3 数字移相信号发生器方案

在数字移相信号发生器模块电路中,首先要生成相位测量仪所需的两路不同相位的正弦波信号,目前DDS已经是很完善的一种数字信号产生方案,所以在该部分,我们主要对产生正弦波信号的数字移相方案进行论证。

方案一:将正弦波量化为一张数据表分别存储于两片之中,通过单片机控制计数器来对存储器中的数据进行寻址,并经过两片D/A转换芯片循环的输出该数据表,当两路D/A转换芯片所获得的数据序列不同时,转换所得的两路正弦信号存在相位差,相位差值仅与数据地址的偏移量有关。

方案二:将参考正弦波转换为方波,以此信号为基准,延时后产生另一路同频率的方波,通过改变延时的长短来控制两个波形的相位差大小,最后通过波形变换电路将其还原为两路有相位差的正弦波输出。

综合以上两种方案,利用方案一,采用2K的存储芯片2817存储量化的正弦波数据,通过单片机可以较精确的控制移相的大小,实现1º相位差步进,而且硬件电路较为简单,而方案二虽然也可以精确控制移相,但是相对而言硬件电路更为复杂,调试较为麻烦,因此我们采用第一种方案来实现数字移相。

4 显示部分设计方案

方案一:采用八位共阴极LED数码管进行显示,利用单片机串行口的移位寄存器工作方式,外接MAX7219串行输入共阴极显示驱动器,每片可驱动8LED数码管。

方案二:采用点阵字符型LCD液晶显示,可以显示数字与阿拉伯字母等字符,随着半导体技术的发展,LCD的液晶显示越来越广泛的应用于各种显示场合。

比较这两种方案,数码管显示驱动简单,但显示信息量少,功耗大;利用液晶显示可以工作在低电压、低功耗下,显示界面友好、内容丰富,综合考虑,选用LCD来实现显示功能。

 

原理分析与硬件电路图

根据赛题要求的任务,该低频相位测量系统包括相位测量仪、数字式移相信号发生器和移相网络三个模块,由于三个模块相对独立,以下分别对其进行原理分析与电路设计。

1 相位差测量模块

1)原理分析

输入两路同频率的正弦波信号,其波形表达式分别为:

 

其中为电压瞬时值,为电压的幅值,为角频率,为初始相角,当两路信号的频率相同时,相角差是一个与时间无关的常数

将此两路正弦波信号经过放大整形成两路占空比为50%的正方波信号f1f2,经过异或门输出一个脉冲序列A,与晶振产生的基准脉冲波B行与操作得到调制后的波形C,在一定的时间范围内对BC中脉冲的个数进行

计数得,则其相位差计算公式为采用多个周期计数取平均值的方式以提高测相精度。系统框图如图2-1-2所示:

2)原理电路

前级放大整形电路:

两列正弦波信号经过一级电压跟随器以提高测量仪的输入阻抗,选用高精度、低漂移型运放TLE2074使输入阻抗达到兆欧数量级,由LM311构成的迟滞回环比较器可以有效的避免在过零点时信号的干扰和抖动所引起的电压跳变,最后通过一级单门限电压比较器输出两路TTL电平信号,经异或门得到方波的脉冲序列。该前级放大整形电路的基本原理图如下:

相位差测量电路

通过理论分析,基准频率越高,记得的窄脉冲个数越多,相位差的测量也越精确,但是受到8254极限工作频率的影响,最终选取8.000MHz的晶振,由单片机I/O口控制两片8254分别对两路脉冲进行计数,将8254内含的两路计数器进行级联以提高计数位数,对32位的计数结果进行浮点运算使得相位差测量的分辨率达到0.1º,其原理图如图2-1-4所示:

 

相位极性判别电路

在图2-1-4所示的相位测量电路中,只

能给出相位差的大小,无法判断波形的超前

或者滞后,因此将波形整形电路的两路输出

方波送入D触发器中进行相位极性判别,当超前时,Q端输出高电平,反之输出低电平,极性判别的原理图如右图215所示。

2 数字式移相信号发生器模块

1)原理分析

要实现数字移相,首先要生成两路正弦波信号,在目前的波形生成方案中,最常用的就是数字式直接频率合成技术(DDS),DDS的工作原理是基于相位与幅度的对应关系,通过改变频率控制字来改变相位累加器的相位累加速度,然后在固定时钟的控制下取样,取样得到的相位值通过相幅转换得到的相位值所对应的幅度序列,通过数模转换以及低通滤波之后输出正弦波信号。基本框图如下:

 

相位增量

时钟        地址总线                                        正弦波输出

 

2-2-1  DDS工作原理

 
 


   

相幅转换的方式选用查表法,根据题目的要求,输出的两列波形具有相位差,用以相位测量仪的输入,将正弦波的量化数据存储于两片之中,通过控制读取存储器数据的地址差,从而改变输出波形的相位差,每个周期取样360个点,相位差步进为1º。琐相环倍频的基频为900Hz,输出正弦信号的频率范围为5Hz~23KHz,实际频率步进值为2.5Hz。为了防止输出信号产生相移,D/A的输出尽量避免滤波电路,只是在小信号输出时接了一个低通滤波器,原理框图如下所示:

 

 

 

 

 

2-2-2  数字式移相信号发生器系统框图

 
 

 


2 原理电路

选用2k存储器2817对正弦波信号的量化数据进行存储,由晶振电路产生基准频率的方波作为锁相环的基准时钟,配合可编程计数器8254进行倍频处理,改变倍频的比例来改变输出波形的频率,同时倍频之后的信号控制计数器74HC4040进行循环计数,将计数器的输出作为存储器读取的地址,改变数据读取的地址即可改变输出波形的相位。通过改变AD7524的基准电压幅值来改变输出波形的峰-峰值大小。因两路正弦波产生的原理相同,仅仅是数据读取的起始地址不同,以下给出一路波形生成电路,另一路硬件电路与此相同。

2-2-3  倍频电路

 
 


2-2-4  移相信号发生电路

 
 


3 移相网络模块

由赛题的要求,在三种不同的输入频率下,要求实现-45º~+45º的连续移相,且幅值可调,利用题中给出的移相网络方案,对元件的参数进行理论分析与计算,采用阻容式移相电路,由其矢量图可以知,当电阻、电容的等效阻抗相等时,移相范围可以满足90º要求,即=2f。当频率f变化时,经理论计算结合Pispice仿真,得到R、C的具体参数如下:

f=100HzR=160kΩ、C=10nF

2-3-1 移相电路矢量图

 
f=1KHzR=16kΩ、C=10nF

f=10KHzR=1.6kΩ、C=10nF

通过改变R3R4的阻值来改变输出信号的幅值,电路原理如下图所示:

2-3-2  移相网络

 
 

 


软件设计与流程

1 系统软件介绍:

软件部分采用模块化程序设计的方法,由主控制程序、液晶显示部分子程序、键盘服务子程序、语音提示部分子程序组成。我们选用凌阳公司推出SPCE061A16位单片机微控制器,它带有高寻址能力的32K字闪存FLASH以及2K静态RAM,具有32位可编程的多功能I/O端口,中断处理能力强,适合于实时、高速的应用领域,尤其是其指令系统中提出了具有较高运算速度的16×16位乘法运算指令和内积运算指令,为其应用增添了DSP功能,可以进行数字信号处理,因此我们的系统很便利的加入了语音模块。在其编译环境下可以内嵌C高级语言,C函数与汇编函数可以很方便的相互调用,所以编程效率高而且可靠。

2 程序流程图

相位测试模块流程图如图3-1-1所示:

3-1-1 相位测试模块流程图

 
 


数字移相信号产生部分流程图如图3-1-2所示:

3-1-2  数字移相信号产生流程图

 

            

系统测试与误差分析

1 测试环境

时间:2003918

温度:25

2 测试仪器

1)FLUKE17B多功能数字万用表

2)数字示波器TDS1002

3)凌阳SPCE061A单片机

4)BS1905工频电参数测试仪

6)CA164OP-20型函数发生器/计数器

3 测试方法

硬件模块测试:系统本身由三个独立的模块构成,所以分三部分进行调试,首先对移相网络,在三个频点下通过拨码开关来切换网络的元件参数,以此来对输出波形的相位与幅值进行调整。对于数字式移相信号发生器,通过红外键盘对输出两路信号的频率、相位差以及峰-峰值进行设置。最后把产生的有相位差的两路信号分别接入相位测试电路进行相位差的测量。

软件模块测试:采用自下而上的调试方式,先进行模块测试程序的调试,待全部通过之后将所有的软件程序串接起来并结合硬件电路进行整体调试。

4 测试数据

1)相位差测量仪校准   

由于实验室只有50Hz工频相位测试仪,所以选取了50Hz频点进行测试,由此来对相位测量仪进行校准,数据如表1所示:

1  相位差测量校准数据

设定相位差

显示相位差

测量相位差

误差

10º

9.58º

9.73º

1.9%

45º

44.91º

44.68º

0.5%

90º

89.46º

89.63º

0.2%

135º

134.94º

134.86º

0.1%

180º

181.34º

179.77º

0.9%

270º

270.36º

269.74º

0.2%

315º

316.47º

314.73º

0.6%

359º

358.76º

359.01º

0.1%

 

2)移相网络相移范围测试

2  移相网络相移测试数据

 

 
 


输入信号频率

连续相移范围

-峰值范围

100Hz

-46.78º+43.12º

99mV~5.44V

1KHz

-45.81º+41.07º

90mV~5.50V

10KHz

-44.11º+42.56º

89mV~5.60V

 

3)相位差与幅度的校验 

 根据题意要求,自选几个频点进行校验,

                表3   f=20Hz时校验数据表

设定相位差

显示相位差

误差

设定幅值(V)

实际幅值(V)

误差

 

10º

 

9.83º

 

1.71

0.3

0.32

0.25

3.0

2.96

1.35

5.5

5.42

1.47

 

45º

 

44.85º

 

0.33

0.3

0.32

0.25

3.0

3.04

1.31

5.5

5.36

2.61

  表3   f=20Hz时校验数据表

设定相位差

显示相位差

误差(%)

设定幅值(V)

实际幅值(V)

误差(%)

 

90º

 

90.42º

 

0.46

0.3

0.33

9.10

3.0

3.00

0

5.5

5.44

1.10

 

150º

 

150.29º

 

0.19

0.3

0.33

9.10

3.0

3.04

1.31

5.5

5.36

2.61

 

270º

 

271.31º

 

0.11

0.3

0.32

6.25

3.0

3.04

1.31

5.5

5.36

2.61

 

359º

 

359.02º

 

0.05

0.3

0.32

6.25

3.0

3.02

0.63

5.5

5.40

1.85

4   f=200Hz时校验数据表

设定相位差

显示相位差

误差(%)

设定幅值(V)

实际幅值(V)

误差(%)

 

10º

 

9.73º

 

2.7

0.3

0.31

3.25

3.0

3.04

1.30

5.5

5.42

1.47

 

45º

 

44.27º

 

1.62

0.3

0.32

6.25

3.0

3.04

1.30

5.5

5.47

0.50

 

90º

 

90.04º

 

0.04

0.3

0.30

0

3.0

3.04

1.30

5.5

5.42

1.47

 

150º

 

150.81º

 

0.54

0.3

0.34

11.76

3.0

3.02

0.63

5.5

5.40

1.85

 

270º

 

270.91º

 

0.34

0.3

0.31

3.12

3.0

3.02

0.62

5.0

5.34

6.36

 

359º

 

359.24º

 

0.06

0.3

0.32

6.25

3.0

3.01

0.30

5.5

5.41

1.84

5   f=2KHz时校验数据表

设定相位差

显示相位差

误差(%)

设定幅值(V)

实际幅值(V)

误差(%)

 

10º

 

9.96º

 

0.4

0.3

0.31

3.12

3.0

3.03

0.9

5.5

5.45

0.9

 

45º

 

44.38º

 

1.37

0.3

0.32

6.25

3.0

3.04

1.2

5.5

5.40

1.85

 

90º

 

90.29º

 

0.32

0.3

0.30

0

3.0

3.02

0.66

5.5

5.46

0.73

 

150º

 

150.54º

 

0.35

0.3

0.32

6.25

3.0

3.02

0.60

5.5

5.43

1.28

 

270º

 

271.68º

 

0.6

0.3

0.31

3.12

3.0

3.00

0

5.5

5.42

1.47

 

359º

 

358.62º

 

0.1

0.3

0.30

0

3.0

3.05

1.64

5.5

5.38

2.06

6   f=20KHz时校验数据表

设定相位差

显示相位差

误差(%)

设定幅值(V)

实际幅值(V)

误差(%)

 

10º

 

9.96º

 

0.4

0.3V

0.32

6.25

3.0V

3.05

1.64

5.5V

5.40

1.85

 

45º

 

45.82º

 

1.82

0.3

0.31

3.13

3.0

3.00

0

5.5

5.20

5.76

 

90º

 

90.64º

 

0.7

0.3

0.32

6.25

3.0

3.03

0.10

5.5

5.39

2.04%

 

150º

 

150.29º

 

0.19

0.3

0.30

0

3.0

3.04

1.31

5.5

5.10

7.80

续 表6   f=20KHz时校验数据表

设定相位差

显示相位差

误差(%)

设定幅值(V)

实际幅值(V)

误差(%)

 

270º

 

270.41º

 

0.15

0.3

0.33

9.10

3.0

3.05

1.64

5.5

5.30

3.77

 

359º

 

358.85º

 

0.04

0.3

0.31

3.13

3.0

3.10

3.30

5.5

5.32

3.38

 

5 误差分析

1)相位测量电路的误差分析

在相位测量过程中,受电子元器件性能的影响,在正弦波经过零检测电路整成方波的过程之中,两路信号不可能做到时延特性完全的一致,前端放大电路以及过零检测电路会带来方波信号相对于输入信号的过零点偏移,所以得到的两个方波信号的相位差实际上是输入信号的相位差和两路过零比较电路相位差的综合相差,由于是在一定的时间内对脉冲的个数进行计数,因此将引入截断误差,尤其当两路信号的相位差较小时,截断误差的存在将在很大程度上对相位测量的精度造成影响。

2)移相网络的误差分析

 由于移相网络是基于阻容移相的原理,因此电阻与电容的阻值大小将决定移相的范围,由于采用的是常规的金属膜电阻,其阻值与理论计算值存在误差,因此造成实际移相范围与理论计算值存在一定的偏差。

3)数字式移相信号发生电路的误差分析

在数字式移相信号发生电路中,由于锁相环的稳定度的影响,波形的微小振荡就会使得输出和设定值之间存在输出偏差,同时由于D/A转换过程中不可避免的存在量化误差,所以产生的波形幅值与频率将会与设定的预期值形成一定的误差。

由于通用板本身结构的限制,以及电路中两路信号的串扰等影响,都会使得系统存在一定的误差。

 

总结

本系统实现了题目基本部分以及发挥部分的要求,经过测试,相位测量仪的测量范围为:电压(峰峰值):0.2V30V;频率:2Hz65kHz;显示分辨率为0.01度,测量的绝对误差在2º以内。数字式移相信号发生器20Hz-20kHz范围内波形能够稳定输出,并且扩展到5Hz~23KHz,频率步进达到2.5Hz,相位差步进1º,幅值在0.1V-5.5V范围内可调,人机交互接口采用双键盘(有线键盘+红外遥控键盘)带语音提示的模式;由于单片机留有空闲的I/O口,因此可以进一步对系统的功能进行扩展,比如加入相位测量的自适应调节、加入波形的打印功能或者将语音播报的功能进一步完善等,使得系统更趋于智能化、人性化的特点。

 

 

 

参考文献:

1陈炳和.计算机控制系统基础.北京:北京航天航空大学出版社,2001.

2谢自美.电子线路设计·实验·测试(第二版).武汉:华中理工出版社,2000.

3张彦斌等.凌阳十六位单片机原理及应用. 北京:北京航天航空大学出版社,2003.

4张菊鹏等.计算机硬件技术基础(第二版).北京:清华大学出版社,2000.

5王福昌.锁相技术.武汉:华中理工大学出版社,1997.

附图:单片机最小系统图