简易电能质量检测装置设计方案文档格式.docx

上传人:b****5 文档编号:16856739 上传时间:2022-11-26 格式:DOCX 页数:31 大小:107.72KB
下载 相关 举报
简易电能质量检测装置设计方案文档格式.docx_第1页
第1页 / 共31页
简易电能质量检测装置设计方案文档格式.docx_第2页
第2页 / 共31页
简易电能质量检测装置设计方案文档格式.docx_第3页
第3页 / 共31页
简易电能质量检测装置设计方案文档格式.docx_第4页
第4页 / 共31页
简易电能质量检测装置设计方案文档格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

简易电能质量检测装置设计方案文档格式.docx

《简易电能质量检测装置设计方案文档格式.docx》由会员分享,可在线阅读,更多相关《简易电能质量检测装置设计方案文档格式.docx(31页珍藏版)》请在冰豆网上搜索。

简易电能质量检测装置设计方案文档格式.docx

对进行离散傅里叶变换得到基波分量的频谱系数。

==

对正弦输入信号可证明(3)

是输入信号的基波频谱系数,k为小于N的正整数,代表第k

次的采样。

由式

(1)﹑

(2)和(3)三式可得出与的关系。

=

对于x次谐波,同样可得其复数振幅的实部和虚部:

对另一路输入的交流电流信号可同样应用上述公式求出x次谐波分量的复数振幅的实部和虚部…。

2.2.2交流电压有效值﹑电流有效值﹑有功功率、无功功率和视在功率的计算。

设、、、分别为基波或x次谐波交流电压、电流、有功功率、无功功率(x=0时,表示基波,x=1、3、5.....时,表示对应的谐波),则有:

总的输入信号的有效值,有功、无功功率,功率因数为:

,,

上两式可采用近似计算公式

,,其相对误差为。

三、系统软件设计

系统软件流程见附录Ⅳ。

四、系统的检测方法及理解

4.1测试仪器及测试方法

测试仪表:

函数信号发生器/计数器,数字万用表,示波器

测试方法:

用函数信号发生器产生正弦信号波作为电压信号波输入,此电压信号经移相电路移相后作为同一路的电流信号输入,经采样送单片机处理后显示,将显示的各数值同示波器观察值和万用表侧得值作比较,计算出各误差值。

4.2基本部分测试结果及分析

4.2.1交流电压有效值和交流电流有效值测试结果如下表1

4.2.2功率测试结果如下表2

视在功率PF=cosΦ=P/S

4.3发挥部分测试结果及分析

4.3.1交流电压输入频率的测试结果如下表3

五、小结

在本次设计中我们仔细分析了电路图的排版结构,用最适合的方式接线,大大缩小了电路的规模,使系统内部的干扰及串扰大大降低,这使系统调试的难度降低。

通过对器件的仔细挑选,我们力图使硬件系统简单化,在不降低系统参数的条件下降低成本。

现分析设计过程中系统产生误差的原因:

(1)单片机输出PWM误差。

(2)采样电阻精度误差。

(3)A/D采样电路转换误差和量化误差。

(4)整个系统版由手工焊接完成,布线时无法避免线路之间和外界的电池干扰。

(5)功率的测量是由电压、电流的测量值间接计算所得,由于误差的累计效应会使有功功率、无功功率和视在功率与理论值存在误差。

经过多日努力,我们的设计基本完成了题目要求,由于仿真软件的限制,可能效果不是非常理想。

本次设计极大的锻炼了我们各方面的能力,虽然我们遇到很多困难和障碍,但是合作与努力,困难与希望并存。

通过本次设计,我们深刻体会到共同协作和团队精神的重要,也强烈的意识到课本知识与实际相结合的重要性。

我们将继续努力争取更大的进步。

 

附录Ⅰ主要元器件清单

元器件

型号

数目

单片机

C8051F340

1

整流桥

KBP310

变压器

220V10W

12V*2

三端稳压芯片

L7809CV

KA7909

HT7533

L7805CV

集成运放

LM353

2

LM311P

与非门芯片

74HC00

三端稳压管

LM385B2-2.5

高速二极管

IN4148

8

液晶显示模块

12864F

电解电容

2200uF25V

220uF25V

10uF25V

100uF25V

1uF25V

3

电容

0.1uF

13

1uF

电阻

1kΩ

10kΩ

5

510Ω

2kΩ

12kΩ

4

按钮

电感

10uH

电位器

0~10kΩ

附录Ⅱ总程序图

附录Ⅲ数据表

表1电压有效值和电流有效值测试结果

输入电压有效值(V)

测得电压有效值(V)

测量误差(%)

允许误差(%)

是否满足要求

1.20

1.204

0.33

2.42

2.429

0.037

3.81

3.79

0.5

输入电流有效值(A)

测得电流有效值(A)

0.48

0.482

0.42

1.23

1.236

1.96

1.968

0.408

表2功率测试结果

输入(峰值)

各功率理论值

各功率测得值

各功率测量误差(%)

电压/V

电流/A

P/W

Q/var

S/W

P

Q

S

0.456

0.342

0.57

0.448

0.344

0.572

1.2

0.53

1.45

1.778

2.384

2.98

表3交流输入电压信号频率测试结果

输入频率实际值

输入频率测得值

测量误差

允许误差(%)

是否满足要求

46Hz

46.001Hz

0.001Hz

49Hz

49.0004Hz

0.0004Hz

51Hz

51.0007Hz

0.0007Hz

54Hz

54.0009Hz

0.0009Hz

附录Ⅳ主程序源代码

#include<

c8051f340.h>

#include"

intrins.h"

math.h"

table.h"

12864.h"

stdio.h>

sbitkey2=P0^3;

//基本和发挥部分多个界面切换

sbitkey1=P0^4;

//基本发挥切换,开关形式1=基本部分;

0=发挥部分

sbitkey3=P0^2;

//发挥部分谐波显示/波形显示切换

/********************************************************************

*常量及全局变量定义

********************************************************************/

#defineSYSCLK000000

#defineADC_CLK1600000

#defineK15

#defineK11.07

#definewavek0.0491

#definefeqk1.00806

intcodevxiebo[6]={1270,5,422,3,252,1};

intcodeixiebo[6]={1271,4,421,4,250,3};

floatdoudong;

unsignedintvmax=0;

unsignedintimax=0;

unsignedcharmaxindex=0;

unsignedintvmin=0;

unsignedintimin=0;

unsignedcharminindex=0;

unsignedcharkeynum=0;

/*显示*/

longxdatac[6];

//有效值

longxdatav[6];

intvxiebozx[6];

intixiebozx[6];

unsignedintluxiebozx;

unsignedintlixiebozx;

//floatxdatavxieboyx[6];

floatxdataixieboyx[6];

floatxdatavxbyx;

floatxdataixbyx;

floatidatavta;

floatidataita;

floatidatacosvalue;

floatidatasinvalue;

floatidatacostemp;

longidatapw;

longidataqw;

longidatasw;

floatpf;

longidatafeq;

//////////////////

sbitkey=P1^0;

sbitmode=P1^1;

unsignedintj=0;

unsignedinttime=0;

//unsignedintcos=0;

unsignedintcounter0=0;

unsignedintcounter1=0;

unsignedinti=0;

unsignedinttime0=0;

unsignedinttime1=0;

longtemp=0;

unsignedinttemp1=0;

unsignedinttemp_th0=0;

bitflag=0;

bitwaveflag=0;

bittimeflag=0;

bittime_get_flag=0;

//bitoverflag=0;

bitint0flag=0;

bitadfin_flag=0;

unsignedintxdataad_v0[129];

//电流采样

unsignedintxdataad_v1[129];

//电压采样

unsignedintidataUmax_last,Umin_last,Imax_last,Imin_last;

//历史电压电流最值

unsignedcharidatakey1_lishi;

//发挥部分按键次数记录

unsignedcharidatakey_lishi;

//基本部分按键次数记录

*函数声明

voidOSCILLATOR_Init();

//内部振荡器初始化

voidPORT_Init();

//端口初始化函数

voidADC_Init();

//AD初始化函数

voidADC_Enable();

//AD使能函数

voidADC_Disable();

////AD除能函数

voidtimer2_Init();

//定时器初始化程序

voidTimer0_Init();

voidExt_Interrupt_Init();

voidTimer1_Init();

voidDelay_us(unsignedinttimes)

{

unsignedinti;

for(i=0;

i<

times;

i++)

{

_nop_();

//调用NOP,延时1us

_nop_();

}

}

voiddisplay_NUmber(char*st,unsignedintnumber)

chara[3];

a[3]='

\0'

;

lcddisplay(st);

a[2]=number%10+48;

number/=10;

a[1]=number%10+48;

a[0]=number%10+48;

lcddisplay(a);

voidW_Display()//功率显示

WriteCommand(0x01);

//清屏

Delay_us(3000);

startp(0);

display_NUmber("

U:

"

v[keynum]/2);

Delay_us(10);

startp(3);

lcddisplay("

V"

);

startp(4);

//电流

I:

startp(5);

WriteData(c[keynum]/2/100+0x30);

WriteData(c[keynum]/2/10%10+0x30);

//"

."

WriteData(0x2E);

WriteData(c[keynum]/2%10+0x30);

startp(7);

A"

startp(16);

S:

sw/4);

if(pf>

=100)

pf=99;

startp(20);

F:

0."

pf);

startp(8);

P:

pw/4);

startp(12);

Q:

qw/4);

voidmax_display()//最大值最小值显示界面

WriteCommand(0x01);

//比较最值

if(key_lishi==1)//第一次,人为赋最值

Umax_last=v[keynum];

Umin_last=v[keynum];

Imax_last=c[keynum];

Imin_last=c[keynum];

if(v[keynum]>

Umax_last)//最大电压改变

Umax_last=v[keynum];

}

if(v[keynum]<

Umin_last)//最小电压改变

Umin_last=v[keynum];

if(c[keynum]>

Imax_last)//最大电流改变

Imax_last=c[keynum];

if(c[keynum]<

Imin_last)//最小电流改变

Imin_last=c[keynum];

//显示

WriteData(key_lishi+0x30);

//5组编号

startp(4);

组"

//最大电压

Umax"

Umax_last/2);

//最小电压

Umin"

Umin_last/2);

//最大电流

Imax"

startp(10);

WriteData((Imax_last/2)/100+0x30);

WriteData((Imax_last/2)/10%10+0x30);

WriteData((Imax_last/2)%10+0x30);

Imin"

startp(14);

WriteData((Imin_last/2)/100+0x30);

WriteData((Imin_last/2)/10%10+0x30);

WriteData((Imin_last/2)%10+0x30);

startp(24);

//实时电压

startp(28);

startp(29);

c[keynum]=123;

WriteData((c[keynum]/2)/100+0x30);

//WriteData(0x31);

WriteData((c[keynum]/2)/10%10+0x30);

WriteData((c[keynum]/2)%10+0x30);

//发挥部分谐波显示界面

voidxiebo_display()

//频率

f:

startp

(1);

WriteData(feq/100+0x30);

WriteData(feq/10%10+0x30);

WriteData(feq%10+0x30);

"

key1_lishi+1);

//N

//次谐波

次"

//电压谐波含量

电压谐波"

startp(21);

WriteData((int)vxiebozx[key1_lishi]/1000+0x30);

WriteData((int)vxiebozx[key1_lishi]/100%10+0x30);

WriteData((int)vxiebozx[key1_lishi]/10%10+0x30);

WriteData((int)vxiebozx[key1_lishi]%10+0x30);

Delay_us(10);

////电流谐波含量

电流谐波"

startp(13);

WriteData((int)ixiebozx[key1_lishi]/1000+0x30);

WriteData((int)ixiebozx[key1_lishi]/100%10+0x30);

WriteData((int)ixiebozx[key1_lishi]/10%10+0x30);

WriteData((int)ixiebozx[key1_lishi]%10+0x30);

//本次谐波电

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

当前位置:首页 > 自然科学 > 物理

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

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