全国大学生电子设大赛之单相用电器分析监测装置方案报告含程序Word文件下载.docx

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

全国大学生电子设大赛之单相用电器分析监测装置方案报告含程序Word文件下载.docx

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

全国大学生电子设大赛之单相用电器分析监测装置方案报告含程序Word文件下载.docx

电流互感器检测电流

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

并且常数为K。

K=I1/I2=N1/N2

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

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

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

优点:

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

价格较低。

缺点:

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

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

方案设计

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

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

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

能达到理想精确值。

工作流程图

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

检测电路设计

见图一:

检测电路

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

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

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

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

I1N1+I2N2=I10N1

I10N1——励磁动势。

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

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

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

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

模数(A/D)转换原理

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

单片机AT89C51电路设计

见图三:

单片机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:

调试结果图

程序附录:

#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;

}

向1602写指令结束&

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

voidwrite_date(uchardate)

lcdrs=1;

P1=date;

/*%%%%%%%%%%%%%%%%%%%%向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);

//指针设置这里让他第二行开始显示

16;

num++)//table2[]={"

welcome"

write_date(table2[num]);

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

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

uintADC_convert()

{

while

(1)

{

ST=0;

ST=1;

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+'

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

刷新显示函数结束&

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

voidLCD_display(uchar*str)

uchari;

for(i=0;

i<

strlen(str);

i++)

write_date(str[i]);

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

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

voiddelayms(uintz)

uintx,y;

for(x=z;

x>

0;

x--)

for(y=125;

y>

y--);

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

voidmain()

{

ucharnum;

LCD_init();

while

(1)

ADC_convert();

Refresh_show();

LCD_display(display_buffer[1]);

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++)//显示

{write_date(table3[num]);

delayms(20);

}}

(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))

num++)

{write_date(table4[num]);

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))

{write_date(table7[num]);

((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))

{write_date(table5[num]);

(display_buffer[1][9]==48)&

((display_buffer[1][10]==48)))

{write_date(table1[num]);

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

当前位置:首页 > PPT模板 > 节日庆典

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

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