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