基于电流互感器的单相交流电流测量系统设计检测技术.docx
《基于电流互感器的单相交流电流测量系统设计检测技术.docx》由会员分享,可在线阅读,更多相关《基于电流互感器的单相交流电流测量系统设计检测技术.docx(20页珍藏版)》请在冰点文库上搜索。
基于电流互感器的单相交流电流测量系统设计检测技术
南京工程学院
课程设计任务书
课程名称检测技术与系统课程设计
院(系、部、中心)电力工程学院
专业电气工程及其自动化
目录
1、设计要求....................................................................1
2、功能要求....................................................................1
3、原理及方案论证........................................................1
1、电压互感器的选型及工作原理....................................................1
1.1选型及外形.................................................................................1
1.2工作原理....................................................................1
1.3原理接线图.......................................................2
2、AT89C52单片机...................................................3
3、通用A/D转换器...................................................4
4、硬件系统的设计及总体框图..................................6
1.1系统仿真接线简图.............................................6
1.2总体框图................................................................7
五、小结...........................................................................8
附录1、电路仿真图......................................................8
附录2、程序..................................................................10
南京工程学院
课程设计任务书
课程名称检测技术与系统课程设计
院(系、部、中心)电力工程学院
专业电气工程及其自动化
班级
姓名
起止日期
指导教师许大宇
1.课程设计应达到的目的
通过对本课程的设计,使学生掌握常见被测量的检测原理、方法和技术,了解国内外对这些工程量进行测控的系统组建原理,通过对检测系统的设计与分析,增强学生理解和运用所学知识来解决实际问题的能力,逐步掌握根据具体测控要求、性能指标设计出先进测控系统的方法和技术。
2.课程设计题目及要求
题目:
基于电压互感器的单相交流电流测量系统设计
要求:
(1)电流测量范围:
0~5A.AC,检测精度:
0.1A;
(2)根据题意,明确被控对象的功能及性能指标;
(3)根据系统要求,选择合适的电流传感器(尽量选择实验室中已有的传感器);
(4)设计传感器测量电路;
(5)选择单片机的品种、型号,设计单片机的外围测量电路;
(6)计算有关的电路参数,有条件的情况下,根据实验室现有设备进行实验数据的测取,明确测量电路输出与被测非电量的关系;
(7)画出系统原理框图(此部分放在说明书的开始);
(8)画出系统电路图,最好用PROTEL画;
(9)在说明书中详细说明本系统工作原理。
3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕
(1)给出设计说明书一份;
(2)有条件的情况下尽量给出必要的实验数据;
(3)在说明书中附上完整的系统电路原理图(手画或用PROTEL画)。
4.主要参考文献
1、李现明,吴皓编著.自动检测技术.北京:
机械工业出版社,2009
2、徐仁贵.单片微型计算机应用技术.北京:
机械工业出版社.2001
3、陈爱弟.Protel99实用培训教程.北京:
人民邮电出版社.2000
5.课程设计进度安排
起止日期
工作内容
年月日
布置设计任务,熟悉课题,查找资料;
月日
结合测控对象,选择合适的传感器,理解传感器性能;
年月日
设计传感器测量电路,选择合适的单片机,设计其外围电路;
年月日
设计电路参数,有条件情况下,在实验室进行实验,进一步理解测量电路输入输出关系;
年月日
继续设计论证电路参数,完善系统设计方案;
年月日
查找资料,理解系统各部分工作原理;
年月日
理清系统说明要点,着手设计说明书的书写;
年月日
书写设计说明书,充分理解系统每一部分作用;
年月日
完善设计说明书,准备设计答辩。
年月日
设计答辩。
6.成绩考核办法
平时表现30%,设计成果40%,答辩表现30%.
教研室审查意见:
教研室主任签字:
年月日
院(系、部、中心)意见:
主管领导签字:
年月日
一、设计目的
基于电压互感器的单相交流电流测量系统的设计(通过单片机对电流的测量)
二、功能要求
1、数字电流表在平常工作环境中能良好工作;
2、能测0——5A电流,检测精度0.1A;
3、A/D转换器的使用和数据采集系统的设计
4、电流表能数字显示,且由单片机处理采集数据并驱动LED显示
三、原理及方案论证
1、电压互感器的选型及工作原理
1.1选型及外形
电压电流的测量选用TVA1421型立式穿芯小型精密交流电压,电流互感器,这种通用型互感器是由两个相同副线圈构成的电流互感器,测量精度高,采用范围宽,也较灵活。
1.2工作原理
其工作原理与变压器相同,基本结构也是铁心和原、副绕组。
特点是容量很小且比较恒定,正常运行时接近于空载状态。
电压互感器本身的阻抗很小,一旦副边发生短路,电流将急剧增长而烧毁线圈。
为此,电压互感器的原边接有熔断器,副边可靠接地,以免原、副边绝缘损毁时,副边出现对地高电位而造成人身和设备事故。
测量用电压互感器一般都做成单相双线圈结构,其原边电压为被测电压(如电力系统的线电压),可以单相使用,也可以用两台接成V-V形作三相使用。
实验室用的电压互感器往往是原边多抽头的,以适应测量不同电压的需要。
供保护接地用电压互感器还带有一个第三线圈,称三线圈电压互感器
电压互感器
。
三相的第三线圈接成开口三角形,开口三角形的两引出端与接地保护继电器的电压线圈联接。
正常运行时,电力系统的三相电压对称,第三线圈上的三相感应电动势之和为零。
一旦发生单相接地时,中性点出现位移,开口三角的端子间就会出现零序电压使继电器动作,从而对电力系统起保护作用。
线圈出现零序电压则相应的铁心中就会出现零序磁通。
为此,这种三相电压互感器采用旁轭式铁心(10KV及以下时)或采用三台单相电压互感器。
对于这种互感器,第三线圈的准确度要求不高,但要求有一定的过励磁特性(即当原边电压增加时,铁心中的磁通密度也增加相应倍数而不会损坏)
1.3原理接线图
2.AT89C52单片机
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。
主要性能参数
·与MCS-51产品指令和引脚完全兼容
·8k字节可擦写Flash闪速存储器
·1000次擦写周期
·全静态操作:
0Hz-24MHz
·三级加密程序存储器
·256×8字节内部RAM
·32个可编程I/O口线
·3个16位定时/计数器
·8个断源
·可编程串行UART通道
·低功耗空闲和掉电模式
功能特性概述
AT89C52提供以下标准功能:
8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
3、通用A/D转换器
ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。
由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
ADC0832具有以下特点:
◆8位分辨率;◆双通道A/D转换;
◆输入输出电平与TTL/CMOS相兼容;
◆5V电源供电时输入电压在0~5V之间;
◆工作频率为250KHZ,转换时间为32μS;
◆一般功耗仅为15mW;
◆8P、14P—DIP(双列直插)、PICC多种封装;
◆商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为-40°Cto+85
°C;
芯片接口说明
CS_片选使能,低电平芯片使能。
CH0模拟输入通道0,或作为IN+/-使用。
CH1模拟输入通道1,或作为IN+/-使用。
GND芯片参考0电位(地)。
DI数据信号输入,选择通道控制。
DO数据信号输出,转换数据输出。
CLK芯片时钟输入。
Vcc/REF电源输入及参考电压输入(复用)。
4、硬件系统的设计及总体框图
5、1.系统仿真接线简图
系统仿真接线简图
本设计中用到AT89C52单片机、八位ADCAD0832、六位八段显示数码管LED,通用运放UA741、必要的电阻、电容元件等。
系统原理方框图电路仿真见上图所示。
2、设计的总体框图
5、小结
两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
在设计过程中,和同学一起相互探讨,相互学习。
体现出自己单独设计的能力以及综合运用知识的能力,体会了学以致用,突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
在此感谢我们的许大宇老师,老师严谨细致,一丝不苟的作风一直是我们学习工作中的榜样,您开朗的个性和宽容的态度,帮助我们很顺利的完成了这次的课程设计。
同时感谢帮助过我们的同学,谢谢你们对我的帮助和支持,让我感受到同学的友谊。
6、参考文献
1、李现明,吴皓编著.自动检测技术.北京:
机械工业出版社,2009
2、徐仁贵.单片微型计算机应用技术.北京:
机械工业出版社.2001
3、陈爱弟.Protel99实用培训教程.北京:
人民邮电出版社.2000
附录1.
仿真电路图
附录2
程序
#include//包含相应的头文件
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharaxs[6],azs[6],ac[10],dc[6];
voidITOAZ(intnum,uchar*p);
voidITOAX(intnum,uchar*p);
floatU,U1;
sbitCS=P3^4;//定义数模转换器硬件对应引脚
sbitCLK=P3^5;
sbitDO=P3^6;
sbitDI=P3^7;
/******************读写AD0832函数****************/
/************************************************/
unsignedcharReadADC(unsignedcharchannel)
{
unsignedcharj;
unsignedcharTemp=0;
DI=1;
_nop_();
_nop_();
CS=0;//拉低CS端
_nop_();
_nop_();
CLK=1;//拉高CLK端
_nop_();
_nop_();
CLK=0;//拉低CLK端,形成下降沿1
_nop_();
_nop_();
CLK=1;//拉高CLK端
DI=(channel>>1)&0x1;
_nop_();
_nop_();
CLK=0;//拉低CLK端,形成下降沿2
_nop_();
_nop_();
CLK=1;//拉高CLK端
DI=channel&0x1;
_nop_();
_nop_();
CLK=0;//拉低CLK端,形成下降沿3
DI=1;//控制命令结束
_nop_();
_nop_();
for(j=0;j<8;j++)//处理读入8位数据
{
CLK=0;
_nop_();
Temp=(Temp<<1)|DO;
_nop_();
CLK=1;
}
CS=1;
CLK=0;
DI=1;
return(Temp);//返回转换值
}
/************************************************/
/************************************************/
/******************显示转换函数******************/
/************************************************/
//延时函数
voiddelay(uintn)
{
uinta;
uchari;
for(a=n;a>0;a--)
for(i=0;i<2;i++);
}
//将浮点数转成函数
voidITOC(floatf,uchar*c)
{
floatzs,xs;
intbxs,bzs,i,k=0;
xs=modf(f,&zs);//分离整数部分与小数部分函数
if(P3==0XFE)
bxs=(int)((xs*100)+0.5);
else
bxs=(int)((xs*100)+0.5);//小数点后两位有效数字
ITOAX(bxs,axs);//把小数部分转换成字符串存入axs数组
bzs=(int)zs;//把整数部分转成整型
ITOAZ(bzs,azs);//把整数部分转换成字符串存入azs数组
for(i=0;axs[i]!
='s';i++)//把最终结果存入c数组
c[i]=axs[i];
c[i]='.';
for(k=0,i=i+1;azs[k]!
='s';k++,i++)
c[i]=azs[k];
if(U<0)c[i]='-';
elsec[i]=0xff;
c[i+1]='s';
}
//将整型数转换成对应的
voidITOAZ(intnum,uchar*p)
{
ucharw,i=0;
do
{
w=num%10;//将整型数各位分离,并转换成对应的字符存入a中
p[i]=w;
num=num/10;
i++;
}while(num);
p[i]='s';
}
//将小数数部分转换成对应的
voidITOAX(intnum,uchar*p)
{
ucharw,i=0;
do
{
w=num%10;//将整型数各位分离,并转换成对应的字符存入a中
p[i]=w;
num=num/10;
i++;
}while(num);
while(i<2)
{p[i]=0;i++;}
p[i]='s';
w=p[i];
}
//显示译码函数
voiddecode(uchar*n,uchar*dn)
{uchari;
for(i=0;n[i]!
='s';i++)
{switch(n[i])
{case0:
dn[i]=0x3F;break;
case1:
dn[i]=0x06;break;
case2:
dn[i]=0x5B;break;
case9:
dn[i]=0x6F;break;
case3:
dn[i]=0x4F;break;
case4:
dn[i]=0x66;break;
case5:
dn[i]=0x6D;break;
case6:
dn[i]=0x7D;break;
case7:
dn[i]=0x07;break;
case8:
dn[i]=0x7F;break;
case46:
dn[i]=0x80;break;
case'-':
dn[i]=0x40;break;
default:
dn[i]=0x00;break;
}
}
dn[i]='s';
}
/************************************************/
/************************************************/
/********************主换函数********************/
/************************************************/
voidmain(void)
{
uchari,j,P2_;
floatA;
while
(1)
{
U=ReadADC(0)/256.0;
switch(P1)
{case0xfe:
A=U*10*1.025;break;
case0xfd:
A=U*100/1.09;break;
case0xfb:
A=U*1000;break;
default:
A=0.0;break;
}
A=10*A;
ITOC(A,ac);
decode(ac,dc);
P2=0XFf;
P2_=0Xfe;
for(j=0;dc[j]!
='s';j++)
{P2=0XFf;
P0=dc[j];
P2=P2_;
delay(150);
P2_=_crol_(P2_,1);
/*P2_<<=1;*/
}
}
}