大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx

上传人:b****2 文档编号:20107852 上传时间:2023-04-25 格式:DOCX 页数:13 大小:33.83KB
下载 相关 举报
大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx_第1页
第1页 / 共13页
大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx_第2页
第2页 / 共13页
大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx_第3页
第3页 / 共13页
大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx_第4页
第4页 / 共13页
大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx

《大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx》由会员分享,可在线阅读,更多相关《大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx(13页珍藏版)》请在冰豆网上搜索。

大学生电子设大赛之单相用电器分析监测装置方案报告有程序.docx

大学生电子设大赛之单相用电器分析监测装置方案报告有程序

2017年全国大学生电子设计竞赛

单相用电器分析监测装置(k题)

【本科组】

2017年8月12日

摘要:

本设计以互感器做为监测中心,运用ADC0809实现数模(A/D)转换。

利用单片机做为控制中心并进行逻辑运算处理数据,从而实现单相用电器分析监测。

本设计用于测试并储存各单件电路在各种状态下用于识别电器并显示出用电器的工作状态。

电路中有用电器工作时,互感器产生互感电压经过整流降压之后将数字信号转入ADC0809中,ADC0809将数字信号转化为模拟信号转给单片机进行处理,最后节果显示于显示频上。

特点:

本产品是根据互感电路的方式来实现电流的检测,它结构简单可靠,寿命较长,价格较低,便于维护。

关键词:

单相检测互感器检测用电器监测

 

1方案的选择与设计原理

方案的比较与选择

方案一:

串电阻检测电流

可以选择一个欧的精密电阻,连接到电路中用差分放大电路采集电阻的电压差,对电压差放大求出电流,这种做法可以实现测电流但是误差比较大。

优点:

电路结构清晰,成本低,实时性好,精度较高。

缺点:

温漂较大,测量误差较大,无隔离效果,量程较大时,需要分多个挡来处理结果,容易受地的干扰。

方案二:

霍尔电流传感器测量电流

输入为电流输出为电压,测量结果精度和线性度都比较高,测量范围有一定的限制。

使用ACS712芯片电路比较简单,测量的电流范围较大。

相比于ACS712电路比较简单,MAX471不用外加电源供电,但是电流测量范围只在0~3A。

该电流测量范围不符合监测基本要求。

方案三:

电流互感器检测电流

理想电流互感器两侧的额定电流大小和它们的绕组匝数成反比。

并且常数为K。

K=I1/I2=N1/N2

电流互感器的一次电流取决于一次性电路的电压和阻抗。

电流互感器的工作状态接近于短路状态。

因此对电能的消耗量较小。

优点:

结构简单可靠,寿命较长,便于维护。

价格较低。

缺点:

不能用于高频检测,但可用于市区电检测。

综合三个方案,经比较发现,方案三更适合用于单相用电器分析监测,故采用方案三。

方案设计

运用电流互感器检测电路中的电流,利用整流电路将220v交流电转化为直流电实现单相用电器分析监测。

采用大规模集成电路ADC0809实现数模(A/D)转换,就是把模拟量信号转换成对应的数字量信号。

数字信号传入单片机进行数据处理及控制,然后通过显示屏显示具体的电流值及各电性参数。

能达到理想精确值。

工作流程图

2检测电路设计及理论分析

检测电路设计

见图一:

检测电路

当一次绕组中有电流1I通过时,一次绕组的磁动势11产生的磁通绝大部分通过铁芯而闭合,从而在二次绕组中感应出电动势2E。

如果二次绕接有负载,那么二次绕组中就有电流2I通过,有电流就有磁动势,所以二次绕组中由磁动势22I产生磁通,这个磁通绝大部分也是经过铁芯而闭合。

因此铁芯中的磁通是由一、二次绕组的磁动势共同产生的合成磁通?

为主磁通。

根据磁动势平衡原理可以得到

I1N1+I2N2=I10N1

I10N1——励磁动势。

电流互感器两侧的额定电流大小和它们的绕组匝数成反比。

并且常数为K。

K=I1/I2=N2/N1

运用电流互感器检测电路中的电流、功率和电能大小。

特征参量设计

设计要求:

电路电流范围—。

设计思路:

由互感器测量电流值(运用K=I1/I2=N2/N1),运用整流电路将交流电转化为直流电,再采用大规模集成电路ADC0809实现数模(A/D)转换,把模拟量信号转换成对应的数字量信号。

数字信号传入单片机进行数据处理,然后通过显示屏显示具体的电压值和电流值及各电性参数。

所使用的互感器的匝数比为I1/I2=N2/N1=850/10。

半波整流电路由于二极管的单向导电作用,使流过负载电阻的电流为脉动电流,电压也为一单向脉动电压,其电压的平均值(输出直流分量)为

流过负载的平均电流为

  流过二极管D的平均电流(即正向电流)为

  加在二极管两端的最高反向电压为

由于传入ADC0809的基准电压UREF=5V,因此利用电阻降压到5V。

输出电压公式

其中:

为输出电压;

为基准电压;D为输出二进制代码对应的十进制数,该路模拟电压转换为8位二进制代码。

3硬件电路设计与程序设计

硬件电路设计

见图二:

检测整流电路

互感器将一次系统的高电压,大电流变换为二次测的低电压(标准值),小电流(标准值),使测量,计量仪表和继电器等装置标准化,小型化,并降低了对二次设备的绝缘要求。

采用整流电路具有单向导电性能的整流元件,将正负交替的正弦交流电整流成为单向的脉动电,再用滤波器将输入或输出经过过滤而得到纯净的直流电。

对特定频率的频点或该频点以外的频率进行有效滤除。

在自动测量和控制系统中,利用滤波电路进行模拟信号的处理,用于数据传送,抑制干扰。

利用78LDS和电阻对直流电进行降压,稳压得到理想的直流电。

选用ADC0809,单片机AT89C51

见附件2数模(A/D)转换电路图

数模(A/D)转换,就是把模拟量信号转换成对应的数字量信号。

见图三:

单片机AT89C51电路

单片机是由运算器,控制器,主要寄存器组成。

具有执行各项逻辑运算,指令控制等功能。

运用单片机处理数据信息及调控显示时间。

程序设计

见附件3

4测量结果分析

测量列表:

频率为

用电器

电流

电压

范围(V)

二进制代码

显示用电器

最大值

最小值

机顶盒

00001011

Thesettopbox

无线路由器

00001101

router

USB充电器(带负载)

00011110

Usbcharger

热水壶

Thewaterneater

电风扇

00011010

Electricfan

存在测量误差:

由于使用不同的测量电器其内阻不同。

因此所得到的电压值范围有所偏移。

数模(A/D)转换得到二进制代码,经过单片机控制响应时间不大于2,及识别代码从而识别用电器类型。

通过显示器直接显示电源线上的电特征参数,电器的种类及其工作状态。

随机增加用电器(电风扇,USB充电器(带负载)和热水壶同时使用),可以实时指示用电器的类别和工作状态。

用电阻自制一件最小电流的用电器,可以识别的最小电流值为。

参考文献:

[1]余孟尝.数字电子技术基础简明教程(第三版)高等教育出版社2006年7月

[2]杨素行.模拟电子技术基础简明教程(第三版)高等教育出版社2006年5月

[3]侯殿有.单片机C语言程序设计北京:

人民邮电出版社2010年11月

[4]孙焕铭.51单片机C程序应用实例详解北京航空航天大学出版社2011年3月

附件1:

电路总图

见图一:

检测电路

见图二:

检测整流电路

见图三:

单片机AT89C51电路图

附件2:

数模(A/D)转换电路图

附件2:

调试结果图

程序附录:

#include<>

#include<>

#include<>

#include<>

#defineuintunsignedint

#defineucharunsignedchar

sbitST=P3^0;

sbitOE=P3^1;

sbitEOC=P3^2;

sbitCLK=P3^3;

sbitlcdrs=P2^0;

sbitlcdrw=P2^1;

sbitlcden=P2^2;

voiddelayms(uintz);//延时1ms函数

uintADC_convert();//ADC转换

voidinit();//液晶初始化

voidwrite_com(ucharcom);//1602写指令

voidwrite_date(uchardate);//1602写数据

voidRefresh_show();//刷新显示

voidLCD_display(uchar*str);//输出字符串

uintdat_adc0808;

uchardisplay_buffer[][16]={

{"Currentvoltage:

"},

{"(vol)="}

};

ucharcodetable1[]={"noElectric"};//14

ucharcodetable2[]={"JIANCEDIANLU"};//11

ucharcodetable3[]={"i=2mARouter"};

ucharcodetable4[]={"i=4mAUSBcharger"};

ucharcodetable5[]={"i=190mAEleFAN"};

ucharcodetable6[]={"i=40mALEDLight"};

ucharcodetable7[]={"i=6600mAW-Herter"};

//

/*&&&&&&&&&&&&&&&&向1602写指令函数&&&&&&&&&&&&&&&&*/

voidwrite_com(ucharcom)

{

lcdrs=0;

lcdrw=0;

lcden=0;

P1=com;

delayms(5);

lcden=1;

delayms(5);

lcden=0;

}

/*&&&&&&&&&&&&&&&向1602写指令结束&&&&&&&&&&&&&&&&&&*/

/*%%%%%%%%%%%%%向1602写数据函数%%%%%%%%%%%%%%%%%%%%%*/

voidwrite_date(uchardate)

{

lcdrs=1;

lcdrw=0;

lcden=0;

P1=date;

delayms(5);

lcden=1;

delayms(5);

lcden=0;

}

/*%%%%%%%%%%%%%%%%%%%%向1602写数据结束%%%%%%%%%%%%%%%%%*/

/***************液晶初始化**********************/

voidLCD_init()

{

ucharnum;

write_com(0x38);//初始化显示模块设置

write_com(0x0c);//显示光标

write_com(0x06);//当读或写一个字符后地址指针加1,且光标加1

write_com(0x01);//显示清屏

write_com(0x80);//不显示光标

for(num=0;num<10;num++)//显示table1[]={"POWERSOURCE"}有十四个字

{

write_date(table1[num]);

delayms(10);

}

write_com(0x80+0x40);//指针设置这里让他第二行开始显示

for(num=0;num<16;num++)//table2[]={"welcome"};//11

{

write_date(table2[num]);

delayms(10);

}

}

/******************液晶初始化结束*******************/

/*******************模数转换并用于显示显示*********/

uintADC_convert()

{

while

(1)

{

ST=0;

ST=1;

ST=0;

while

(1){CLK=!

CLK;if(EOC==1)break;}//等待转换结束

OE=1;

dat_adc0808=P0;

OE=0;

returndat_adc0808;

}}

/*************模数转换结束**********************/

/*&&&&&&&&&&&&&&刷新显示函数&&&&&&&&&&&&&&&&&&*/

voidRefresh_show()

{

uintt=dat_adc0808*256;

display_buffer[1][7]=t/100+'0';

display_buffer[1][9]=t/10%10+'0';

display_buffer[1][10]=t%10+'0';

}

/*&&&&&&&&&&&&&&&刷新显示函数结束&&&&&&&&&&&&&&&&&&&*/

/***************lcd显示字符串*******************/

voidLCD_display(uchar*str)

{

uchari;

for(i=0;i

{

write_date(str[i]);

delayms(5);

}

}

/***************lcd显示字符串结束*******************/

/*###############延时1ms子函数################*/

voiddelayms(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=125;y>0;y--);

}

/*##############延时1ms子函数结束################*/

voidmain()

{

ucharnum;

LCD_init();

while

(1)

{

ADC_convert();

Refresh_show();

write_com(0x80);

LCD_display(display_buffer[1]);

Refresh_show();

delayms(5);

write_com(0xC0);

if((display_buffer[1][7]==48)&(display_buffer[1][9]==50)&((display_buffer[1][10]==51)|(display_buffer[1][10]==52)|(display_buffer[1][10]==53)|(display_buffer[1][10]==54)))

{for(num=0;num<16;num++)//显示

{write_date(table3[num]);

delayms(20);}}

if((display_buffer[1][7]==48)&(display_buffer[1][9]==53)&((display_buffer[1][10]==53)|(display_buffer[1][10]==54)|(display_buffer[1][10]==55)|(display_buffer[1][10]==56))|(display_buffer[1][10]==57))

{for(num=0;num<16;num++)

{write_date(table4[num]);

delayms(20);}

}

if((display_buffer[1][7]==52)&(display_buffer[1][9]==54)&((display_buffer[1][10]==51)|(display_buffer[1][10]==52)|(display_buffer[1][10]==53)|(display_buffer[1][10]==54))|(display_buffer[1][10]==55))

{for(num=0;num<16;num++)

{write_date(table7[num]);

delayms(20);}

}

if((display_buffer[1][7]==48)&(display_buffer[1][9]==53)&((display_buffer[1][10]==48)|(display_buffer[1][10]==49)|(display_buffer[1][10]==50)|(display_buffer[1][10]==51))|(display_buffer[1][10]==52))

{for(num=0;num<16;num++)

{write_date(table5[num]);

delayms(20);}

}

if((display_buffer[1][7]==48)&(display_buffer[1][9]==48)&((display_buffer[1][10]==48)))

{for(num=0;num<16;num++)

{write_date(table1[num]);

delayms(20);}

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1