单片机 功率因数的测量 实习报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安科技大学






学院: 电气与控制工程学院
专业名称: 测控技术与仪器0801
设计题目: 功率因数的测量
姓名:
学号:
指导教师:
功率因数的测量
1. 系统功能
功率因数是供用点网络的一个重要参数,它是衡量电力系统是否经济运行
的一个重要指标,所以准确测量功率因数在电力系统中具有重要的意义。

在正弦电路中,可以通过测量电压、电流间的相位差,计算出功率因数,并根据电流滞后或者超前电压,判断出负载是感性还是电容性的,但在波形严重失真的电力系统或非正弦电路中,由于电压、电流波形发生畸变,谐波电压、电流间也产生无功功率,因此用测量相位差的方法无法准确地测量功率因数。

所以,功率因数的精确测量在电力系统的运行、调度中是非常重要的。

2. 测量原理与设计
2.1测量原理
对于某一正弦信号,周期性地出现过零点,测出过零点的时间即可以测出该信号的相角。

通过电压互感器和电流互感器得到低压交流信号,然后通过整形电路将交流信号转换为TTL 方波脉冲。

相位差的计算原理是利用输入两路信号过零点的时间差,以及信号的频率来计算2路信号的相位差。

两路信号的相位差:︒⨯∆=︒⨯∆=
360/360T
Fk
N T t ϕ ,其中,∆N 为两路信号的上升沿分别触发计数器的差值,Fk 为单片机时钟频率,T 为输入信号的周期。

2.2系统硬件设计
下图是以STC-51单片机为核心的功率因数测量系统硬件结构图。

该测量系统主要由电流互感器、电压互感器、整形修正电路、单片机、LED 显示器和通信接口等组成。

2.3 输入整形电路
输入整形电路如下图所示,主要功能是完成信号的隔离、波形变换和相角修正。

为了消除测量端电压、电流互感器结构上的差异而产生的输出电压、电流附加移相角,需要采用电压、电流活儿变送器隔离(其跟随电网电压或负载电流的变化时间仅为1us),以保证相角差的实时测量精度。

在 LM393 的输入端加了两个IN4108稳压二极管将输入信号控制在-0.7V—+0.7之间,经过零比较器将正弦信号转变成方波;用C0和触发器CD4854去除高频信号,滤除谐波干扰;通过2个施密特整形触发器,得到TTL方波信号。

3.软件程序
#include<reg51.h>
#include <stdio.h>
#include <math.h>
#include <intrins.h>
sbit SCL=P0^3; //移位
sbit RCL1=P0^1; //RCL1,RCL2位锁存
sbit RCL2=P0^2;
sbit SDATA=P0^0; //数据位
unsigned char code led1[ ]={0xc0,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77, 0x38,0x39}; //0~9,r,l,c
unsigned char code led2[ ]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7, 0xb8,0xb9}; //
unsigned char a1,a2,a3,a4,a5; //a1~a5
unsigned char Data_595;
unsigned int n_LED,yy;
unsigned int count_zheng,zheng;
unsigned int count_yu,yu;
float shijiancha=0;
float xiangjiao,gonglvyinshu;
bit data test_begin=0;
bit bit_v1=0;
bit bit_v2=0;
#define k00 0x8000
#define k01 0x4000
#define k02 0x2000
#define k03 0x1000
#define k10 0x0800
#define k11 0x0400
#define k12 0x0200
#define k13 0x0100
#define k20 0x0080
#define k21 0x0040
#define k22 0x0020
#define k23 0x0010
void timecha( )
{
yu=TL1;
count_zheng=zheng;
count_yu=yu;
shijiancha=(count_zheng*200+(count_yu-56))*12/11.0592;
}
void xiangweicha( )
{
if(shijiancha<=5000)
{
if(shijiancha==0)
a5=10; //阻性
else
a5=11; //感性
xiangjiao=shijiancha*18/1000;
xiangjiao=(xiangjiao/180)*3.1415926;
if (xiangjiao<=0.04)
gonglvyinshu=1;
else
gonglvyinshu=cos(xiangjiao);
}
else
{
if ((shijiancha>15000)&&(shijiancha<=20000))
{
a5=12; //容性
xiangjiao=(20000-shijiancha)*18/1000;
xiangjiao=(xiangjiao/180)*3.1415926;
if (xiangjiao<=0.04)
{
gonglvyinshu=1;
}
else
{
gonglvyinshu=cos(xiangjiao);
}
}
}
gonglvyinshu=gonglvyinshu*1000;
}
void part( )
{
unsigned int zhongjian;
zhongjian=gonglvyinshu;
if(zhongjian<1000)
{
a1=0;
a2=zhongjian/100;
a3=(zhongjian/10)%10;
a4=zhongjian%10;
}
if(zhongjian==1000)
{
a1=1;
a2=0;
a3=0;
a4=0;
a5=10;
}
}
void Dtat_Out(unsigned int n_LED,unsigned char Data_595) {
unsigned char y;
RCL2=1; // 输出锁存时钟
RCL1=1;
RCL2=0; //段码清零
for(y=0;y<8;y++)
{
SCL=0; // 数据输入时钟
SDATA=0;
SCL=1;
}
RCL2=1;
RCL1=0; //发送位选信号
for(y=0;y<16;y++)
{
SCL=0;
if((n_LED&0x0001)==0x0001) { SDATA=1; } if((n_LED&0x0001)!=0x0001) { SDATA=0; } n_LED>>=1;
SCL=1;
}
RCL1=1;
RCL2=0; //发送段选
for(y=0;y<8;y++)
{
SCL=0;
if((Data_595&0x80)==0x80) { SDATA=1; }
if((Data_595&0x80)!=0x80) { SDATA=0; }
Data_595<<=1;
SCL=1;
}
RCL2=1;
for(yy=0;yy<500;yy++); //延时
}
void xianshi()
{
Dtat_Out(k10,led1[a5]); //r,l,c;
Dtat_Out(k20,led1[a4]);
Dtat_Out(k21,led1[a3]);
Dtat_Out(k22,led1[a2]);
Dtat_Out(k23,led2[a1]);
}
void exint0( ) interrupt 0
{
bit_v1=1;
}
void exint1( ) interrupt 2
{
bit_v2=1;
}
void int_t1( ) interrupt 3
{
zheng++;
}
void initial( )
{
TH1=56;
TL1=56;
TMOD=0X20; // 8位自动重装
ET1=1; // 允许T1中断
IT0=0;
IT1=0;
EX0=1;
EX1=1;
EA=1; //CPU开中断
}
void main(void)
{
initial( );
while(1)
{
if (bit_v1&&!test_begin)
{
TR1=1; //允许T1开始计数
test_begin=1;
}
if(test_begin&&bit_v2)
{
TR1=0;// T1停止级数
timecha( );
xiangweicha( );
part( );
xianshi();
initial( );
test_begin=0;
zheng=0;
yu=0;
}
}
}
4.实习心得
在这四周中,我学到了很多,对我们专业的认识也进一步加深了。

从一个刚入门的学习者,渐渐的爱上了这各专业,虽然说我对于测控这个专业的知识还有很多要学习和提高,但是在这一周中我还是感受到这各专业的魅力所在.
在拿到这个课题时,我和我的合作伙伴对这个课题感到比较轻松,脑海中
一下子出现了许多设计念头,于是我们就分头去寻找这方面的资料,通过图书馆的书籍资料,网络上的虚拟资料。

在软件的设计过程中,我们首先需要确定所要实现的硬件功能,和根据选择的芯片和硬件电路连接设计软件编程,而这些都是我们这学期学过的。

在软件编写过程中,一开始,我们的程序出现很多警告和错误,经过细心检查和同学们的帮助,最终调试成功,而且我发现我们的错误大多数都是由于粗心大意,还有基础知识功底不扎实造成的,所以在今后的学习中,我们必须打好基础。

而我们的硬件选择,是根据实验室现有的芯片的电路设计的,和这学期实验课所学的硬件连接,利用的是PROTEL软件画成。

原理图绘画不难,因为我们已经不是第一使用这个软件了。

并且我们还认真学习了,硬件图中各种芯片的功能和连接线路,还了解与其相关的各种知识。

虽然没有设计很多功能,但这也让我深深地体会到自己理论知识的不扎实和薄弱的实践能力,和两人之间的互相合作,互相帮助对于一个设计团队来说是很重要的,这也是学好习的助推器。

通过本次课设,我不仅进一步认识了自己的专业,同时也让我感到团队合作的重要性。

其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。

如果我们一味的屋子里苦思冥想那么再给2周的时间或许也不会这么顺利的完成我们的课题,所以我觉得与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系也可以扩展自己的思维。

通过思考、发问、自己解惑并动手、改进的过程,才能真正的完成课题。

经过这次课程设计的过程,我相信在以后的课程设计中我们会吸取经验教训,做出更好的设计来。

相关文档
最新文档