数字式工频有效值多用表.doc
数字式工频有效值多用表 简介: 本设计主要实现了一个多功能的工频表,能够对交流电压值、交流 电流值、有功功率、无功功率以及功率因数进行测量。设计共分三个模块电路: 数据信号采集模块,单片机系统数据处理模块,工频表显示模块。数据信号采集 模块采用可编程放大器件 PGA103 对信号进行分别放大,满足对大、小信号的 不同处理;数据信号频率采用集成锁相环 CD4046 进行 64 倍倍频处理;单片机 系统数据处理模块由单片机 AT89C52 来控制;显示模块由 74LS164 移位寄存 器和数码管构成。 关键字:工频表 电路调试 数据采集 数据处理 误差分析 改善措施 一、方案设计与论证 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 芯片为核心部件,利用软件编程,实现了对交流电压值、 交流电流值、有功功率、无功功率以及功率因数的测量。在元器件上尽量做到 使硬件线路简单,减小电磁干扰,充分利用软件编程,弥补元器件的精度的不 足。由于水平有限,我们认为系统还有需要改进的地方,例如,采用高精度的 元器件,测量算法进一步完善等。