单相用电器分析监测装置设计报告文档格式.docx
《单相用电器分析监测装置设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《单相用电器分析监测装置设计报告文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
方案二:
采用LCD1206液晶显示屏
该屏幕价格低廉,与51单片机兼容性良好,但是显示内容有限,不能显示详细的信息。
通过比较,我们选择方案一。
2、数据采集模块的论证与选择
采用电流互感器与电流变送器。
可以直接测得较为精确的电流,经过加法器抬升后在送到单片机AD采样,可以得到与输入信号一致的电流波形。
采用电流互感器与电压互感器。
采用CS5463电能计量芯片,CT118F电流互感器,ZMPT101B电压互感器,可以测出具体的电流值和电压值。
CS5463是一个包含模-数转换器(ADC)、功率计算功能、电能到频率转换器和一个串行接口的完整的功率测量芯片。
它可以精确测量瞬时电压,电流和计算IRMS、VRMS、瞬时功率、有功功率、无功功率。
功能齐全。
综合以上两种方案,选择方案二。
3、方案描述
220V交流信号经过电流互感器及电压互感器处理后变成几百毫伏的交流信号,然后经过电路将信号送入CS5463芯片实现模数转换功能,再通过串口通信将信号传输给51单片机系统。
单片机处理信号后显示在液晶显示器上。
系统总体框图如图1.1所示:
图1.1系统总体框图
二、系统理论分析与计算
1、电流互感器
电流互感器采用CT118F,体积小,精度高,一致性好。
CT118F结构图如图2.1所示。
图2.1CT118F电流互感器结构图
2、电压互感器:
电压互感器采用ZMPT101B,互感器结构图如图2.2所示。
图2.2ZMPT101B结构图
3、信号处理电路:
CS5463芯片是一个包含两个ΔΣ模-数转换器(ADC)、高速电能计算功能和一个串行接口的高度集成的ΔΣ模-数转换器。
图如图2.3所示它可以精确测量和计算有功电能、瞬时功率、IRMS和VRMS,用于研制开发单相2线或3线电表。
CS5460A可以使用低成本的分流器或互感器测量电流,使用分压电阻或电压互感器测量电压。
CS5460A具有与微控制器通讯的双向串口,芯片的脉冲输出频率与有功能量成正比。
CS5460A具有方便的片上AC/DC系统校准功能。
图2.3CS5463引脚图
4、电压和电流测量计算
数字滤波器输出字是基于DC偏移量调整和增益校准(看系统校准部份)。
校准后测量的瞬时电压,电流是有效的。
RMS值是利用近的N(N值放在周期计数寄存器中)个瞬态电压/电流采样值计算,这些值可从Vrms和Irms寄存器中读出。
5、功率测量计算
瞬态电压/电流的采样数据相乘,得到瞬时功率。
N个瞬时功率平均计算出有功功率的值用来驱动电能脉冲E1输出。
电能输出E2是可选的,可指示电能方向,也可输出与视在功率成正比的脉冲。
电能输出E3提供一个与无功功率或视在功率成正比的脉冲输出。
E3还能表示为电压通道的电压符号,或作为PFMON比较器输出。
功率
三、电路设计
1、信号采集和处理电路
220V交流信号经过电流互感器及电压互感器处理后变成几百毫伏的交流信号,然后经过电路将信号送入CS5463芯片实现模数转换功能,信号采集和处理电路如图3.1所示。
图3.1信号采集和处理电路
2、单片机系统
本模块是整个设计的核心部分,设计采用的是STC89C52单片机系统。
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52系统的原理图如图3.2所示。
图3.2STC89C52系统的原理图
四、程序设计
本系统采用C语言编程,主函数调用编写好的功能函数实现基本功能。
功能函数有处理电压信号的函数、处理电流信号的函数、处理功率信号的函数、处理温度信号的函数。
程序框图如图4.1所示。
图4.1主函数程序框图
五、测试方案与测试结果
1、测试方案
(1)硬件测试
检查多次,硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
然后使用示波器测量采集模块的波形,220V交流电经电流互感器和电压互感器后的信号波形如图5.1所示。
图5.1硬件测试图
2、测试结果及分析
测试结果如下表所示:
(单位/V/A/W/℃)
类型
测试电流
测试电压
测试功率
负载性质
电磁炉
5.7900
233
1349
感性
电炉子
5.1520
1200
阻性
白炽灯
0.2710
63
机顶盒
0.7215
230
165
电热水壶
5.2173
电风扇
0.2732
62
五、心得体会
忙碌而又富有激情的四天电子大赛已经过去了,通过这次比赛,我们受益匪浅。
电子大赛不仅仅是一种理论知识的竞赛,更是一种动手能力的比赛,一种团队精神的比赛,一种理论与实际结合的技能大赛。
它需要我们具有足够的能力做好比赛的每一个步骤,要有一颗永不言弃的心,一种强大的团队精神,一种趋人进取的精神动力。
在这次比赛过程中,我们从开始选题、方案论证与选择到零器件的购买、硬件电路的设计、搭建、焊接与测试、程序调试付出的努力远比其他高手付出的多很多。
最后在大家共同的努力下完成了比赛。
参考文献
[1]
谭浩强.C语言程序设计[M].北京:
清华大学出版社,2012
[2]张毅刚.单片机原理与应用设计[M].北京:
电子工业出版社,2015
[3]基于集成芯片CS5463的电测仪表的设计[J].常铁原,王素平.科技资讯,2013
[4]刘月武,李杏春.新型单相双向功率/电能集成电路CS5463的原理与应用[J].仪器仪表用户,2010
[5]张玲玲.基于51单片机的LCD12864程序设计[J].中小企业管理与科技(中旬刊),2015
附录1:
完整的测试结果图
附录2:
电路原理图
附录3:
源程序
voidmain()
{
CS5463_Init();
LCM_init();
//初始化液晶显示器
LCM_clr();
//清屏
chn_disp(tab1);
//显示欢迎字
DelayM(500);
//显示等留3秒
while
(1)
{
sta=CS5463_GetStatusReg();
//检测中断产生的原因
if(0x01==(sta&
0x01))//读取电流电压
{
CS5463_ResetStatusReg();
//清除标志
CS5463_GetVoltRMS();
//获取电压
CS5463_GetCurrentRMS();
//获取电流
CS5463_GetPactiveRMS();
//获取功率
if(0x02==(sta&
0x02))//读取温度
{
//获取电压
CS5463_GetTemperature();
//温度读取不需要太频繁,所以跟电流电压一起读取
//CS5463_Init();
//重新初始化芯片
}
//SndCom1Data(MeasureData,16);
}
}
staticvoidCS5463_GetVoltRMS(void)
floatG=0.5,result;
//typedeffloatfp32;
就是浮点类型
inttemp1;
//int
uint8temp,i,j;
//byte
CS5463ReadReg(REG_VRMSR,RX_Buff);
//读取电压有效值
i=0;
result=0;
while(i<
3)
temp=RX_Buff[i];
j=0;
while(j<
8)
if(temp&
0x80)
{
result+=G;
temp<
<
=1;
j++;
G=G/2;
}
i++;
}//电压在220时取样电压为78mv
result=result*CS5463_VScale;
//V_Coff;
//计算电压值220V*250mv/(110mv/1.414)=704.8V可以暂时不用
result*=100;
//单位为mV(毫伏)12345mv5位你怎么显示
temp1=(uint32)result;
LCM_WriteDatOrCom(0,0x84);
aa=temp1/10000;
LCM_WriteDatOrCom(1,aa+0x30);
bb=(temp1%10000)/1000;
LCM_WriteDatOrCom(1,bb+0x30);
cc=(temp1%1000)/100;
LCM_WriteDatOrCom(1,cc+0x30);
LCM_WriteDatOrCom(1,0x2e);
dd=(temp1%100)/10;
LCM_WriteDatOrCom(1,dd+0x30);
ee=temp1%10;
LCM_WriteDatOrCom(1,ee+0x30);
LCM_WriteString("
V"
);
staticvoidCS5463_GetCurrentRMS(void)
fp32G=0.5,result;
uint32temp1;
CS5463ReadReg(REG_IRMSR,RX_Buff);
//读取电流有效值
result=result*CS5463_IScale;
//I_Coff;