您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页多用户电子式电能表的设计和调试

多用户电子式电能表的设计和调试

来源:爱go旅游网
 多用户电子式电能表的设计与调试

课程设计报告

课程名称:单片机在电力系统的应用课题名称:多用户电子式电能表的设计和调试班 级:姓 名:学 号:

2012年01月05日

- 1 -

多用户电子式电能表的设计与调试

前言

多用户电子式单相电能表采用单片机作为处理器,每块电能表可对多达24户的用电情况进行集中检测、循环显示。各户的用电量可以就地读取。多用户电子式电能表采用了“分户用电、集中检测”的方式,与传统感应式电能表相比,有效地提高了电能计量的准确性,而且整机体积小、质量轻、安装方便。

在多用户电子式电能表的前面板上有6位LED显示器,前两位为分户号,后4位为分户用电量,所显示的用电量与分户号相对应,分户循环显示,每3s切换一户。

此外,电能表还必须有断电保护功能,确保用户在断电后能够保存之前的用电数据,在恢复供电时能够继续按照断电前得数据开始计数。

同时,该类电能表还必须有清零功能,每个控制单元上

都对每户设置了相应的清零开关,当相应的用户开关按下时,该用户的用电量亦随之清零。

- 2 -

多用户电子式电能表的设计与调试

目录

一 设计任务及要求----------------------------------------------------4 二 设计原理分析-------------------------------------------------------4 三 硬件电路设计-------------------------------------------------------4

3.1 单片机电路板设计-----------------------------------------------------4 3.2 +5V稳压电源----------------------------------------------------------7

3.3 光电隔离电路----------------------------------------------------------7 3.4 AD7755相关电路-------------------------------------------------------7 3.5 参数设定----------------------------------------------------------------11 3.6 用户清零电路的设计-----------------------------------------------------12 四 软件设计--------------------------------------------------------------12 4.1 流程图-------------------------------------------------------------------12 4.2 程序内容----------------------------------------------------------------18 五 设计总结--------------------------------------------------------------26 六 参考资料--------------------------------------------------------------21

- 3 -

多用户电子式电能表的设计与调试

一 设计任务及要求

设计任务:多用户电子式单相电能表设计与调试

设计目的: 了解单片机在电力系统中的应用,在全面掌握单片机的功能的基础上,初步接触它在本专业的应用范围。要求完成,培养我们自主的习惯。

设计内容:硬件设计与软件设计。硬件设计包括:C8051F360单片机整体电路设计、+5V稳压电源电路设计、光电隔离电路设计、基于AD7755的电能脉冲发生器电路设计;软件设计包括:用C8051F360单片机及编写具有掉电保存功能和清零功能的用户电量显示程序。

设计要求:①AD7755电能脉冲发生器电路仅作电路硬件设计,其电能脉冲由C8051F360单片机P2口所接拨码开关产生的脉冲模拟。②用户电量显示要求精确到小数点后3位③1000个电量脉冲为1度电④每个用户显示时间为3S左右⑤为防止突然停电而使用户电量数据丢失,要求能将电量数据保存,需要设计单片机24C16模块,使其具有掉电保存功能。⑥为了能够方便记取各个用户电量,需要为每一户设计清零程序。

二 设计原理分析

电子式电能表是在数字功率表的基础上发展起来的,采用乘法器实现对电功率的测量,其工作原理框图如图3-10所示。被测量的高电压u、大电流i经电压变换器和电流变换器转换后送至乘法器M,乘法器M完成电压和电流瞬时值相乘,输出一个与一段时间内的平均功率成正比的直流电压U,然后再利用电压/频率转换器,U被转换成相应的脉冲频率f,将该频率分频,并通过一段时间内计数器的计数,显示出相应的电能。

图1 电子式电能表工作原理框图

三 硬件电路设计

3.1 单片机电路板设计

本设计采用的是C8051F360单片机为核心的电路板。C8051F360单片机整体电路

- 4 -

多用户电子式电能表的设计与调试

板包含:C8051F360单片机、LED/FMQ报警、RS-232通信、USB接口、电源接口、LM336-2.5、下载/复位、外接器件、5V--3.3V、两路AD输入、信号输入、PCF8563、24C16、74HC165、74HC1显示等模块。本次设计中主要用到的部分有C8051F360单片机、PCF8563、24C16和74HC1显示等模块。

C8051F360单片机为主要部件,它具有片内上电复位电路、VDD监视器、看门狗定时器和时钟振荡器器件,是真正能工作的片上系统。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051 固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。其P1.0,P1.1口产生的脉冲向74HC1显示输送数据,使其显示相关信息,P2口接拨码开关,模拟AD7755电量脉冲,PCF8563、24C16部件实时存储用户电量信息,并在掉电后保存,单片机上电复位后能够从中读取数据。

FM24C16是用先进的铁电技术制造的16K位的非易失性的记忆体铁电随机存储器FRAM具有非易失性并且可以象RAM一样快速读写数据在掉电可以保存10年且比EEPROM或其他非易失性存储器可靠性更高系统更简单不象EEPROM FM24C16以总线速度进行写操作无延时数据送到FM24C16直接写到具体的单元地址下可以立即执行FM24C16可以承受超过100亿次的读写或者是比EEPROM高一万倍的写操作FM24C16的写能力使得它在需要对非易失性记忆体快速读写的状况下非常理想举例说数据采集系统中对写入数据的频率要求高即速度要求非常快使用EEPROM可能丢失数据这种优势合并使得系统可以更可靠的实时采集数据FM24C16为使用串EEPROM的用户提供了便利它在硬件上可以直接替换EEPROM。以下是电路板的相关电路图。

图2 74HC1显示电路

- 5 -

多用户电子式电能表的设计与调试

图3 24C16与C8051F360连接电路

- 6 -

多用户电子式电能表的设计与调试

3.2 +5V稳压电源

电源是电能表设计的重要部分,其设计的好坏对整个系统的性能有较大影响。本设计使用的稳压电源是由MC7805实现的,输入电压220V,输出电压+5V。

集成三端稳压器稳压精度高、工作稳定可靠、外围电路简单、容易设计和制作、体积小、重量轻、成本低、维修简单。7805集成三端稳压器的典型应用电路如图2所示,这是一个输出+5 V直流电压的稳压电路。IC采用集成三端稳压器7805,C1、C 2分别为输入端和输出端滤波电容,RL为负载电阻。电路如下图。

图5 +5V稳压电源电路图

3.3 光电隔离电路

在实际应用中,许多电路链接之间需要非直接的连接,从而在提供数据的同时避免来自系统某一部分的危险电压或电流对另一部分造成破坏,造成这种破坏的可能是电源质量低劣、接地故障等各种故障。电路隔离的主要目的是通过隔离元件把干扰的路径切断,从而达到抑制干扰的目的。

我们选用光电隔离法,光电隔离元件里面包含两个基本元件:光发射元件和光接收元件,因光电隔离元件中的光发射元件和光接收元件中间是以光的形式相互联系的,在电气上没有直接相连,从而达到在电气上的隔离作用。

光电耦合的主要优点是:信号单向传输,输入端与输出端完全实现了电气隔离,抗干扰能力强,工作稳定。光电耦合电路如下图。

图6 光电隔离原理电路图

3.4 AD7755相关电路

AD7755是AD公司推出的脉冲输出的一种高准确度电能测量芯片,AD7755在低频

- 7 -

多用户电子式电能表的设计与调试

输出端提供平均功率信息,在高频输出端输出频率正比有效功率的脉冲,AD7755还有自校准功能。AD7755内部包含一个对AVdd电源引脚的监控电路。在AVdd上升到4V之前,AD7755一直保持在复位状态。当AVdd降到4V以下,AD7755也被复位,此时F1、F2和CF都没有输出。下图是AD7755的相关电路图。

图7 AD7755功能框图

图8 AD7755性能测试电路

- 8 -

多用户电子式电能表的设计与调试

11、 电流采样电路:

AGND2R1IF1F1AGNDC2R2C1V1P3V1N

图2.6 电流采样电路

使用分流器的电流采样电路如图2.6所示,其中F1为分流器,R1、R2为

采样电阻,C1、C2为采样电容,他们为电流采样通道提供采样电压信号,采样电压信号的大小由分流器的阻值和流过其上的电流决定。电流采样通道采用完全差动输入,V1P为正输入端,V1N为负输入端。电流采样通道最大差动峰值电压应小于470mV,电流采样通道有一个PGA,其增益可由ADE7755的G1和GO来选择,见表1:

表1

G1 0 0 1 1 G0 0 1 0 1 增益 1 2 8 16 最大差动信号 ±470Mv ±235Mv ±60Mv ±30Mv 当使用分流器采样时,G1、G0都接高电平,增益选择16,通过分流器的峰值电压为±30mV,当设计电表为5(20)A规格时,分流器阻值选择为500uΩ,当流过分流器的电流为最大电流20A时,其采样电压为500uΩ×20A=10mV,不超过峰值电压半满度值,这样考虑能允许对电流信号和高峰值因数进行累计。

当使用互感器采样时,其电路如图2.7所示:

V1PR1IH1R312.4R2V1NR302.4C1AGNDC2

图2.7 互感器采样电路

使用互感器采样时,G1、G0都接低电平,增益选择1,电流采样通道最大

差动峰值电压为±470mV,其差动信号由互感器的二次侧电流流过电阻R30和R31产生,互感器二次侧额定电流为5mA,当过载4倍时,二次侧电流为20mA,其流

- 9 -

多用户电子式电能表的设计与调试

过电阻R30和R31产生的差动信号为96mV,远小于峰值电压半满度值(235 mV)。 R1C1和R2C2组成两个低通滤波器,衰减掉那些无用的高频分量,从而防止有用频带内的失真。R1、R2、C1、C2阻值、容值的选取对电表的性能有很大的影响,因此取值为R1= R2=300欧,C1=C2=27nF。 2、

电压采样电路:

R7.5JR115JR3.9JR130JR2390K/0.25JR2390K/0.25JJR1200RJR1562R1JR1100R1100CLR820¦3.3nV2C1000pAGNV2C1000p220pCL~220V RR1¦AGN820¦AGN

图2.8 电压采样电路

电压输入通道(V2N,V2P)也为差分电路,V2N引脚连接到电阻分压电路的分压点上,V2P接地。电压输入通道的采样信号是通过衰减线电压得到的,其中R6至R15为校验衰减网络,通过短接跳线J1至J9可将采样信号调节到需要的采样值上,我们设计的电能表基本电流时电压采样值为174.2 mV,为了准许分流器的容差和片内基准源8%的误差,衰减校验网络应该允许至少30%的检验范围,根据参数,其调节范围为169.8 mV –250 mV,完全满足了调节的需要。这个衰减网络的-3dB频率是由 R4和C3决定的,R19、R23、R24确保了这一点,即使全部跳线都接通,R19、R23、R24的电阻值仍远远大于R4,R4和C3的选取要和电流采样通道的R1C1匹配,这样才能保证两个通道的相位进行恰当的匹配,消除因相位失调带来的误差影响。 3、 轻载调节电路

1AGNDV1P2R1F1300ΩI-C1S2SW-SPDTR20200K27nF3R2300ΩI+AGNDC227nFV1N~220VRyV2NR4820ΩVxR31ΩAGND 图2.9轻载调节电路

轻载调节电路如图2.9所示,其原理是用电压采样处的电压值再经分压后

加到电流采样的正或负端来增大或减小电流采样,达到调节的目的。当短节S2到I+或I-时,附加到分流器端的电压值为:

Vq=R1×Vx/ (R20+R1)

- 10 -

多用户电子式电能表的设计与调试

R1、Vx已知,可通过改变R20的值来改变需要补偿的电压值。根据计算当R5为200k时,Vq约为0.0003mV。在轻载时电流采样值Vi=2.5mV×0.05=0.125mV。轻载误差改变量为0.0003/0.125=0.0024即0.24%,在校验台上表现为轻载误差增

大或减小0.24。

图9 AD7755引脚排列图

3.5 参数设定

+5V稳压电源的参数有:变压器副边绕组的交流电压有效值,整流元件的参数,电容C1、C2的数值以及集成三端稳压器的选用。以下即参数计算:

(1)电容C1,可用下式进行计算:

式中:10ms为交流电网电压周期的一半。取Vimin=7.3V。因为在使用三端稳压器时,为了保证稳压性能,输入端和输出端间电位差至少应在2 V以上,一般对输出电压不大于18V的稳压器,输入电压应小于35V, 按输出电流应有10%的余量,取

通过计算,得:C1=3014uF。

(2)变压器副边绕组的交流电压有效值,可用下式进行计算:

通过计算,得:V2=9.9V。为了留有一定裕量,取V2=10.5V。

(3)桥式整流电路中,每个整流二极管在交流电网电压最高时承受的最大反向峰值电压为

为了安全,整流管的反向耐压应当比上述值大50%以上,因此选择整流管时,其反向耐压应按下 式考虑:

- 11 -

多用户电子式电能表的设计与调试

桥式整流电路中,每个整流二极管的正向电流平均值是输出电流的一半,其最大值是

由于在接通电源瞬间有相当大的冲击电流( 即充电电流) 通过整流管,因此,整流管的参数( 正向电流平均值)应比上述值大0.5~2倍。若按比上述值大0.8倍考虑,则

根据上述计算,可选用1A/25V或

1A/50V的桥堆。

(4)变压器副边绕组电流的有效值Iac要比输出电流Iomax大,这里我们取

因此,变压器副边绕组导线的粗细应按额定电流(交流有效值)为2 A选用。

(5)电容C 2的作用是减小稳压电源输出端由输入电源引入的低频干扰,其数值在100uF左右。

3.6 用户清零电路的设计

如图,即为电能表的用户清零电路,采用74HC165芯片作为清零信号的接收和发出的端口。P1.5接芯片的两个时钟脉冲信号端,同时P1.2也要有低电平信号才能使165芯片在P1.4口输出相应的信号。

四 软件设计

4.1 流程图设计 4.1.1主函数流程图

- 12 -

多用户电子式电能表的设计与调试

开始 初始化定义写SFR 定义31H—3FH为脉冲存储单元 读取24C16 记录P2口的状态于22H单元 终端形式50ms时钟初始化,计数存储单元21H=0 N TF0=1 ? Y 进入中段判断P2口状态改变 P2.x 状态改变 N Y 对应存储单元加1 判断是否有清零脉冲 N 3 2 - 13 -

多用户电子式电能表的设计与调试

3 对应用户24C16相应区域清零 21H单元内满1 N 60,即计满3S Y 写入24C16 将第i户脉冲个数转换成对应电量 调用显示第i个用户电量 i自加1 i=9 N i置1 1 返回主程序

2 - 14 -

多用户电子式电能表的设计与调试

4.1.2 AT24C16读写函数流程图

- 15 -

多用户电子式电能表的设计与调试

4.1.3 用户扫描函数流程图

4.1.4数码管显示函数流程图

- 16 -

多用户电子式电能表的设计与调试

- 17 -

多用户电子式电能表的设计与调试

4.2 程序内容

$NOMOD51

$include (c8051f360.inc)

CLKLED EQU P1.1;数码管1时钟

LED

EQU P1.0 ;数码管数据线

SDA EQU P1.3 SCL EQU P1.6

ORG 0000H LJMP MAIN ORG 000BH

LJMP T0_INT

MAIN: LCALL CHUSHI ;调用F360初始化程序 //定义30H-3FH为脉冲存储区域

MOV R7,#10H ;脉冲个数存储区域清零 MOV R1,#30H MC: MOV @R1,#00H INC R1 DJNZ R7,MC LCALL READ ;读24C16 MOV 20H,#1 ;用户名

MOV 21H,#0 ;定时2S的计数单元 MOV 22H,P2 ;暂存P2口的状态

MOV TMOD,#01H

MOV TH0,#0D8H ;定时50ms采样周期 MOV TL0,#0F0H SETB ET0 SETB EA

SETB TR0

SJMP $ //进入中断子程序

T0_INT: MOV TH0,#0D8H ;进入中断采样 MOV TL0,#0F0H

MOV R1,#3FH ;第八户

MOV R6,#00H

- 18 -

多用户电子式电能表的设计与调试

MOV A,P2

XRL A,22H MOV 22H,P2

AA: JNB ACC.7,AA1 ;判断某户是否有脉冲

LCALL COUNT ;有脉冲,则计数

AA1: INC R6

CJNE R6,#08H,AA2 ;判断8户是否均采样完毕 SJMP LCAL

AA2: DEC R1 ;进入下一户的存储单元 DEC R1 RL A ;左移一位

SJMP AA

LCAL: LCALL SCAN ;判断是否有清零信号 LOO: INC 21H MOV A,21H

CJNE A,#28H,MM ;定时2S,顺序执行显示

LCALL WRITE ;调用写入程序

MOV 21H,#0 MOV A,20H

DEC A

RL A ;左移,即乘2

ADD A,#30H ;将存储单元与用户联系并对应 MOV R1,A

LCALL DIP ;调用显示程序 INC 20H ;用户名加1 MOV A,20H

CJNE A,#09H,MM

MOV 20H,#1

MM:

RETI

//----------初始化子程序------------------- chushi: MOV SFRPAGE,#0FH

MOV P1MDIN,#0FFH ;数字输入

MOV P1MDOUT,#0EFH ;推挽输出

MOV XBR1,#40H ;交叉开关使能 MOV PCA0MD,#00H ;关闭看门狗 MOV PSCTL,#13H

MOV OSCICN,#83H ;内部振荡器允许,不分频 MOV DPTR,#tab

RET

- 19 -

多用户电子式电能表的设计与调试

//----------脉冲计数子程序------------------- COUNT: PUSH ACC CLR C MOV A,@R1 ADD A,#1 MOV @R1,A DEC R1

JNC LL

INC @R1 ;有进位

LL: INC R1 ;某户地位地址 POP ACC

RET

//----------显示子程序-------------------

DIP: MOV 51H,20H ;设51H--56H为数码管显示存储区域 MOV 52H,#10 MOV 53H,#0 MOV A,@R1 MOV B,#80H ;设1000个脉冲为1度电

MUL AB MOV 25H,A INC R1 MOV A,@R1 MOV B,#02H DIV AB

ADD A,25H

MOV B,#100 DIV AB

MOV H,A ;十分位 MOV A,B MOV B,#10 DIV AB

MOV 55H,A ;百分位 MOV 56H,B ;千分位

MOV R0,#56H

MOV R7,#0 RE: CALL dispn INC R7 DEC R0

CJNE R7,#8,RE

- 20 -

多用户电子式电能表的设计与调试

RET

dispn:MOV DPTR,#TAB MOV A,@R0

PUSH ACC MOVC A,@A+DPTR CJNE R0,#53H,NEXT

ANL A,#0F7H

NEXT: MOV R4,#08h RR1: RRC A JC

SET1

JNC SET0 SET1: CLR CLKLED

SETB LED SETB

CLKLED

DJNZ r4,RR1 JMP RETURN SET0: CLR CLKLED

CLR LED SETB

CLKLED

DJNZ R4,RR1

RETURN:POP ACC RET

//------写2416程序---

WRITE :LCALL STR;调开始子程序

MOV A,#0A0H;控制字,2416的物理地址和写控制位 LCALL I2C_W1W;调向2416写一字节并接收信号子程序 JB F0,WRITE;若写失败,从头开始 MOV A,#00H;选择地址 LCALL I2C_W1W JB F0,WRITE;至此,地址写完 MOV R0,#30H

MOV R7,#10H

II1: MOV A,@R0;将30h-3FH的内容写到2416中 LCALL I2C_W1W JB F0,WRITE

INC R0

DJNZ R7,II1

LCALL STP;调停止子程 LCALL DELAY

RET

//------读2416程序---

- 21 -

多用户电子式电能表的设计与调试

READ:

LCALL STR

MOV A,#0A0H;控制字,2416的物理地址和写控制位 LCALL I2C_W1W;调向2416写一字节并接收信号子程序 JB F0,READ;若写失败,从头开始 MOV A,#00H;选择地址 LCALL I2C_W1W

JB F0,READ;至此,地址写完 lcall STR

MOV A,#0A1H;控制字,2416的物理地址和读操作位 LCALL I2C_W1W JB F0,READ

MOV R0,#30H

MOV R7,#16

JJ3: LCALL I2C_R1W;调用从2416中读1字节子程序 MOV @R0,A;将从2416中读出的内容存储到30h-3Fh中 INC R0 DJNZ R7,JJ3 SETB F0

LCALL I2C_R1W

LCALL STP

RET

//--------启动2416子程序---- STR:SETB SDA NOP SETB SCL NOP NOP NOP NOP NOP CLR SDA NOP NOP NOP NOP NOP CLR SCL

RET

//--------停止2416子程序---- STP:CLR SDA

NOP - 22 -

多用户电子式电能表的设计与调试

SETB SCL NOP NOP NOP NOP NOP SETB SDA NOP NOP NOP NOP NOP

RET

//--------向2416中写一字节并接收2416返回的信号------- I2C_W1W:MOV R5,#8

CLR SCL

AR_LP1: NOP NOP NOP NOP

NOP

RLC A MOV SDA,C NOP NOP SETB SCL

NOP

NOP NOP NOP

NOP CLR SCL DJNZ R5,AR_LP1 NOP NOP SETB SDA NOP NOP NOP SETB SCL NOP NOP

NOP

- 23 -

多用户电子式电能表的设计与调试

NOP CLR F0

JNB SDA,ACKEND SETB F0 ACKEND:NOP

CLR SCL NOP NOP

RET

//------从2416中读出1字节,并发送应答或非应答信号 I2C_R1W:MOV R5,#08H RCV: SETB SDA NOP CLR SCL NOP NOP NOP NOP NOP SETB SCL NOP NOP NOP NOP NOP CLR C JNB SDA,RCV0 SETB C RCV0: RLC A

NOP NOP

DJNZ R5,RCV CLR SCL NOP NOP NOP NOP CLR SDA JNB F0,SENDACK SETB SDA SENDACK:NOP

NOP SETB SCL

NOP

- 24 -

多用户电子式电能表的设计与调试

NOP NOP NOP NOP CLR SCL CLR F0

RET

//-----------------清零子程序---------------------- SCAN: MOV R0,#8H

MOV R1,#30H CLR P1.2 NOP NOP NOP SETB P1.2

QINGLING:CLR P1.5 SETB P1.5

JNB P1.4,CC1

SJMP DD1 CC1: MOV @R1,#0 INC R1

MOV @R1,#0 INC R1 SJMP DD2

DD1: INC R1 INC R1

DD2: DJNZ R0,QINGLING RET

//----------延时子程序------------------------ DELAY: MOV R3,#30H MOV R5,#0FFH loop : NOP

DJNZ R5,LOOP

DJNZ R3,loop RET

END

TAB:DB 88H,0ebh,4ch,49h,2bh,19h,18h,0cbh,8h,09h,07fh ;0,1,2,3,4,5,6,7,8,9

- 25 -

多用户电子式电能表的设计与调试

五 设计总结

本次单片机设计,我收获很多。比如对单片机在电力系统中的应用有了一个更加深入的了解和感悟。同时,也学到了一些处理问题的新的方法和思路,对譬如AD775、24C16等芯片的作用和处理接入方式有了一个比较好的理解。

此外,在编程中,我们对清零程序何时开始运行和单片机的中断和计数等分支程序有了更加深入的了解。

- 26 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务