文章摘要:
一、方案设计与论证 1、总体方案设计与比较 方案一 系统采用对电压、电流信号分别测量,测量功率时则将电压、电流信号取出,送到功率测量模块进行测量,原理框图如图1-1所示。整个系统是采用模拟控制方式,硬件电路实现复杂,功率因数测量难以实现,系统还不能实现复杂的控制算法。单片机系统可用数码管显示测量值。对于...
QQ交流群:7919575 1920583 TAG:
详细内容:
一、方案设计与论证
1、总体方案设计与比较
方案一 系统采用对电压、电流信号分别测量,测量功率时则将电压、电流信号取出,送到功率测量模块进行测量,原理框图如图1-1所示。整个系统是采用模拟控制方式,硬件电路实现复杂,功率因数测量难以实现,系统还不能实现复杂的控制算法。
图1-1
方案二 方案采用89C52单片机来实现。单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。单片机系统可用数码管显示测量值。对于电压、电流信号采样用可用程控放大器进行预处理。在测量工频交流电压、电流信号时, 利用锁相环对信号倍频所得脉冲控制89C52对电压、电流信号同步取点测量。另外测量功率时,采用双路保持器对信号采样保持,缩小采样时间。由于采用了单片机,使系统整体结构更为简单。
图1-2 系统总体框图
比较以上两种方案,方案一是模拟控制方式,而模拟控制系统难以实现复杂控制和计算,控制方案的改善也较麻烦。方案二是采用以89C52为控制核心的单片机控制系统,可以实现显示、打印、与微机通讯等功能,大大提高了系统的智能化,并且系统所测结果的精度有很大提高。 故经过对两种方案的比较,本设计及制作采用了方案二。
二、模块电路设计与比较
系统硬件以89C52单片机为核心,详细结构如图1-2所示。系统硬件包括三个模块电路:数据信号采集模块,单片机系统数据处理模块,工频表显示模块。
1、数据采集部分
(1)电流、电压信号的放大电路
方案一 采用集成运放芯片OP07对电压、电流信号进行放大处理(见图1-3)。
图1-3 电压、电流信号放大处理电路
可根据理论公式进行计算
K= ![]()
![]()
选择不同的阻值就可以选择不同的放大倍数。R1选用4KΩ,R2选用1KΩ,R3选用0.8KΩ时,放大倍数可以达到5倍,但是由于系统的影响,放大倍数不能达到准确的倍数,并且这种放大处理不能同时满足对大小信号的处理,在放大器的前端还要加上一个电压比较电路把电压信号和基准电压进行比较,电压大于1V时则不需要放大处理。
方案二 考虑到要满足对大小信号的处理,采用可编程放大器件PGA103对电压、电流信号进行放大,通过单片机对可编程器件PGA103的管脚1和管脚2(见图1-4)进行控制,使放大倍数可以为×1(A0=A1=0),×10(A0=1,A1=0)两种不同值。这样能同时满足对大小信号的处理,硬件电路简单,容易实现。 本设计采用了这种方案。
图1- 4 电流信号采集放大电路图
(2)数据保持部分
方案一 因为要测出功率值,所以一个周期内要对交流电压、电流信号同时取点采样。用单片机对信号进行测量时,程序运行需要占用时间,因而不能对电压、电流信号进行同时测量,只能分开测量,先在一个周期测电压值,再在下一个周期测电流值。方案电路简单,全部通过软件实现。但所测值与实际值有误差。因为所测电压、电流信号不为同步信号,功率值也有误差。
方案二 由于测量功率时要对电压、电流信号进行同时测量,可采用保持器LF398(见图1-4)对信号进行双路保持,用单片机P1.4口对保持器LF398控制。进行测量时,单片机先对电压信号进行转换,而此时电流信号被送到保持器进行保持,等待电压信号处理完毕。这种方案可以满足对电压、电流信号进行同时测量,并且减小了系统带来的误差。我们的设计采用了这种方案。
2、单片机系统数据处理部分
(1)信号频率倍频处理部分 为了保证信号采样的精度,要对信号进行等时间间隔采样。其间隔时间就是采样周期;从理论和理想情况来看,若认为信号频率是固定不变的,则采样周期也固定不变,但实际系统中,频率经常会发生变动,假设频率信号减小时,若仍以原频率时的理论采样间隔对信号采样,会造成信号的一个周期中前一段是以理论间隔被采样(以采64个点为例),如果采满了64个点,造成信号后一部分没有被采到,如图1-5(b)所示,而信号频率增大,则一个周期采不到64个点,如图1-5(c)所示,所以频率跳动会引起采样信号波形失真,也不能够达到很高的精度。在实际中,必须保持采样间隔随信号频率的波动而发生相应的变化,即把一个周期等间隔取样变为等相位采样。
方案一 选用单片机外部芯片8253来实现倍频特性,把信号一个周期分成相等的64份,从而实现了一个周期的等相位64点取样。假设信号频率为f先用8253对信号进行

图1-5
测量,设测得的周期为T1 ,则采样周期为T2=T1/64,每隔一个采样周期,单片机给AD574发脉冲,启动AD574进行转换。这种方法可以实现倍频,但单片机的指令周期会使频繁启动8253进行测频、倍频、计数的过程中损失一些时间,经计算大约有200μs,使得转换所需时间加长,系统工作繁忙,测量精度难以进一步提高。
方案二 用硬件电路采用锁相环直接实现。用锁相环把信号的频率通过计数器进行64倍倍频,从而在需采集信号的一个周期中产生64个脉冲,利用此等分间隔脉冲信号作为单片机的外部中断信号,快速启动AD574进行转换,实现高速数据采集。这种方案实施简单,而且可靠性高,简化了软件的流程。本设计采用了这种方案。
(2)数据处理转换部分 本设计采用AD574和片外RAM与单片机一起构成数据处理转换部分。
3、显示部分
(1)键盘设定 系统共设有四个按键:
复位键 实现复位功能。
正循环显示测量值按键 循环次序为交流电压有效值,交流电流有效值,有功功率,无功功率,功率因数,基波有效值,总谐波有效值
反循环显示测量值按键 循环次序为总谐波有效值,基波有效值,功率因数,无功功率,有功功率,交流电流,交流电压
副功能选择按键 显示一段时间内的最大值和最小值,循环次序为电压的最大、最小值,电流的最大、最小值,有功功率的最大、最小值,无功功率的最大、最小值
(2)数码显示 采用六位数码管显示,第1个数码管显示测量值的功能(U—电压有效值,I—电流有效值,P—有功功率,O—无功功率,N—功率因数,b—基波有效值,H—谐波有效值),第3~6个数码管显示测量值的大小。单片机利用74LS164的串/并转换功能,将数据送到数码管显示。采用串行输入使得硬件简单,占用单片机系统接口少,能简化软件编程。
三、系统实现及理论分析
1、 数据采集部分
(1)电流、电压信号的放大电路 由于电压、电流信号有效值为0~5V,最大峰峰值为7.07V,超过了AD574的量程,因而在可编程放大器的前端加一个分压电阻起分压作用(见图1-4),调节电阻可以使输入到可编程放大器的电压有效值为0~2.5V之间。可靠保证了AD574的正常工作。
2、单片机数据处理部分
(1)交流电压、电流有效值的计算分析
对交流信号的采集,一般是以其有效值进行计量,其计算公式为:
,其中T为信号周期
![]()
![]()
令
,则:
由于在计算机采集系统中U(t)和f(t)都是一些离散点的数值,故采用数值积分的理论,将函数分解为离散值之和,即:
![]()
余项
<ζ<T
上式中,h=T/(2n)为采样间隔
N=2n N为每周期采样点数
理论上,电压为正弦信号,但当电压发生波动时,以三次谐波影响最大,因此可以认为电压波形为基波和三次谐波之和:
![]()
设在最严重情况,令
,则
,AD574采用
5V满量程,因此可认为u=5v,则
,因此在每周期采集64点时,其余去部分为23μv,远小于AD574的最低分辨率2.4mv,采集精度完全满足要求。
(2)功率和功率因数的计算
在上一步中已经测出了U、I的有效值,根据以下公式可以计算出视在功率、有功功率、无功功率和功率因数。
(U,I为有效值)
(u,i为瞬时采样值)
cosφ=P/S ![]()
(3)测量电压基波有效值的算法
我们采用傅里叶算法来实现。所测信号是一个周期的时间函数,除基波外还含有直流分量和各次谐波,可表示为:
![]()
式中n为自然数,n=0,1,2,…;
和
分别为各次谐波的正弦项和余弦项的振幅。
,
分别为基波分量的正、余弦项的振幅。
为直流分量的值。
根据傅里叶级数的原理,可以求出
,
分别为:
![]()
则u(t)中的基波分量为: ![]()
将上式化简可以得到:
![]()
![]()
,![]()
式中U为基波的有效值,
为t=0时的基波分量的相角。
用单片机处理时,
,
的积分可以用梯形法则求得:
![]()
![]()
式中N为一周期采样点数,N=64,
为第k次采样次数,
,
分别为k=0和n时的采样值。总谐波有效值根据基波有效值可以算出:
(u为电压总的有效值, u0 为基波有效值, u 1 为总谐波的有效值)
(3)软件设计及软件流程图(见图1-6)
软件完成各部分的控制和协调:
数据采集放大部分
P3.4口控制可编程放大器对交流电压信号进行放大处理,P3.4口置“0”,放大倍数为
1;置“1”,放大倍数为
10。P3.5口控制可编程放大器对交流电流信号进行放大处理,P3.5口置“0”,放大倍数为
1;置“1”,放大倍数为
10。P1.4控制两路采样保持器。P1.4口置“0”, 采样保持器关闭;置“1”
采样保持器打开。P3.3口接收锁相环倍频电路的输出信号。
单片机数据处理部分 89C52通过P0口和P2口对单片机系统控制。
显示部分 P1.5口,P1.6口对数码管进行控制。P1.1口接收按键3的信息,P1.2口接收按键1的信息,P1.3口接收按键2的信息。

图1-6 软件流程图
三、电路调试
1、调试方法和过程
调试方法和过程我们采用先分别调试各单元模块,调通后再进行整机调试的方法,以提高调试效率。各单元模块的调试如下:
(1) 数据采集、放大模块调试 可编程放大器PGA103的管脚1和2用单片机的P3.4和P3.5 来控制,将PGA103的输入与函数信号发生器输出相联,先通过改变P3.4和P3.5脚的电平来改变放大倍数,用万用表测试输入、输出电压;再调节函数信号发生器的输出,用万用表测试输入、输出电压是否正确;数据保持器LF398的管脚8则用单片机的P1.4来控制,并用示波器观察波形。调试结果显示模块可以正常工作。
(2) 数据信号频率倍增模块调试 将函数信号发生器的输出与锁相环倍频电路的输入相联,调节函数信号发生器的输出频率,用示波器观察锁相环倍频电路的输出频率。经检验,锁相环能够正常工作。
(3) A/D转换模块调试 因系统软件较大,不适合用来调试A/D转换模块,故编制了一简单程序进行调试,并用示波器监视几个控制信号(如片选、启动)是否正确。通过这种方法使A/D转换电路很快便能正常工作了。
(4)显示模块调试 将显示模块与仿真机相连,编制一简单程序进行调试,并观察显示数码管的变化是否正确。通过这种方法可以看出显示模块能够正常工作。
各单元均调通后,进行整机调试,其过程如下:将调好的各模块连接在一起,用函数信号发生器模拟交流电压和交流电流两路输入,先用仿真机代替89C52单片机进行模拟调试,对每一芯片的片选、启动进行检测,并对数据线和地址线也进行检测。调试成功后再将程序写到单片机中进行调试。调试结果显示整个系统能够正常工作。
2、测试仪器
PC机,K6-266,32M内存 AEDK5196ET仿真机
UT2003型数字万用表 HH1710-4双路稳压稳流电源
cos 5020B示波器 EE1641B型函数信号发生器/计数器
3、测试数据(见下页表格)
表1 电压测量数据
电压变换信号
输入(V)
本设计
测量值(V)
本设计
测量误差(V)
允许误差
(V)
0.05
4.882
-0.118
+/-0.045
0.25
24.90
-0.1
+/-0.205
1
100.5
+0.5
+/-1.3
1.5
151.3
+1.3
+/-1.7
2
200.6
+0.6
+/-2.1
2.5
250.0
0
+/-2.5
3
299.8
-0.2
+/-2.9
3.5
349.6
-0.4
+/-3.3
4
397.4
-2.6
+/-3.7
4.5
447.2
-2.7
+/-4.1
表2 电流测量数据
电流变换信号
输入 (V)
本设计
测量值(V)
本设计
测量误差(V)
允许误差
(V)
0.25
2.490
-0.01
+/-0.025
0.5
4.980
-0.02
+/-0.045
1
10.05
+0.05
+/-0.13
1.5
14.90
-0.10
+/-0.17
2.0
19.85
-0.15
+/-0.21
2.5
25.00
0
+/-0.25
3
30.27
+0.27
+/-0.29
3.5
35.25
+0.25
+/-0.33
4.0
40.18
+0.18
+/-0.37
4.5
45.16
-0.16
+/-0.41
表3 功率测量数据
电压变换信号输入(V)
电流变换信号输入(A)
有功功率测量值(W)
无功功率测量值(var)
有功功率
测量误差
无功功率
测量误差
0.248
0.220
50.38
19.17
-0.61
-0.23
0.503
0.445
205.1
79.27
-3.7
-1.42
1.001
1.879
801.8
327.3
-12.6
5.2
1.497
1.304
1771
749.6
26
11.3
2.006
1.743
3162
1392
38
16
2.508
2.175
4934
2146
68
29
3.009
2.609
7090
3126
93
64
3.500
3.026
9572
4258
103.46
46
4.007
3.467
12590
5538
153.1
72.56
表三 功率因数数据
实际功率值
功率值测量
0.9346
0.9298
0.9328
0.9314
0.9259
0.9242
0.9209
0.9200
0.9227
0.9217
0.9170
0.9187
0.9150
0.9168
0.9137
0.9124
0.9154
0.9124
表四 基波有效值、总谐波数据
方波 输入峰值
基波有效值
总谐波有效值
1V
92.77V
45.87V
2V
184.5V
93.25V
3V
264.1V
127.4V
4V
370V
183.5V
四、误差分析及改善措施
(1) 调试AD574测试零电压时,显示为在0.0024V和0.0048V之间跳动,原因是AD57
转换时,有1~2个步长的误差,即2.4mV~4.8mV之间,由于误差恒定,采用软件对误差进行补偿。
(2) 由于电路信号处理部分的元器件以及模拟开关4051上有一定的压降(约20 mV),虽经软件、硬件修正,在小幅值(或大幅值)的情况下仍会有一定误差。
(3) 整个系统板由手工焊接完成,布线无法避免线路之间以及外界的电磁干扰,从而会导致一定误差。
(4) 功率的测量由电压、电流的测量值间接得到,由于误差的累计效应也会使有功、无功测量值与理论值存在差异。
五、结论
本系统以89C52芯片为核心部件,利用软件编程,实现了对交流电压值、交流电流值、有功功率、无功功率以及功率因数的测量。在元器件上尽量做到使硬件线路简单,减小电磁干扰,充分利用软件编程,弥补元器件的精度的不足。由于水平有限,我们认为系统还有需要改进的地方,例如,采用高精度的元器件,测量算法进一步完善等。
