微机继电保护毕业设计内容摘要:

几个芯片都采用数据线和地址线复用,如实时时钟 DSl2887,但同时也有数据线和地址线分开的,如 62256;有些芯片是 8位地址,如 DSl2887,有些却不是 8位,如 62256。 所以采用总线扩展方式,把所有芯片都连接到系统总线上是非常麻烦的,连起来很复杂。 ( 2)采用总线扩展方式,所有外围芯片都必须符合 MCU的总线时序。 本设计采用 的MC68HC912DGl28A是 Motorola公司的芯片,自然是 Motorola时序。 但很多其他外围芯片如 A/ D转换芯片 MAXl9外部扩展 32kB RAM 62256的都是 Intel时序的。 所以采用总线扩展方式非常困难。 相比之下,采用 I/ O 口模拟总线就非常灵活,可以适应各种时序的操作。 (3)虽然采用 I/ O口模拟总线需要用软件模拟器件的时序,增加了软件的开销。 但是,由于系统总线不出 MCU,这样即使外围电路因干扰 (如电磁干扰 )而出现错误也不至于影响 MCU内部的工作。 就是说,因外部干扰而使 MCU出错的 概率降低了。 这对于在电力系统中应用的装置尤为可贵,因为通常这些装置都工作在较强的电磁干扰下。 综上所述:本设计采用前者,即第一套方案:采用 I/ 0口模拟总线方式。 复位电路 对于继电保护系统,在一次系统动作,切除故障部分之后要自动返回到动作前的状态,因此复位电路在系统中占的地位是非常重要的。 对于 MC68HC912DGl28A系列单片机,其是一种片内带有 E2PROM的 MCU,而此种单片机E2PROM中的值在系统断电利加电瞬间要求不丢失的应用中,就必须使用低电压检测器件 控制复位端 [24]。 所以外部复 位电路采用了有电源低压检测功能的 MC34064和 MC34164集成电路。 MC34064用于上电复位, MC34164用于手动复位。 这两个器件外观如同一只小的二极管,功能是当电源电压低于 4. 5V时,复位端输出低电平。 系统加电时,保证电源在达到额定电压以后再释放 MCU复位端。 当系统断电时,一检测到系统电压下降就尽快让 MCU复位。 这就是外部上电复位电路的作用。 手动复位电路,其作用在是手动复位按键按下时,在复位端给出一个整齐的跳变,保证复位电路的可靠性。 复位电路电路图如下图示。 图 外部自动复位电路 图 外部手动复位电路 3 系统软件设计 软件设计基本原则 软件设计是本课题十分重要的的组成部分,其关系到本设计所论述功能能否实现,主要完成验证功能。 本装置中采用 MOTOROLA的 16为单片机为 CPU.每部分电路完成的功能各不相同,除要对每一部分进行软件设计之外,还要综合考虑两部分如何实现数据传输及信息的传递。 对于每一部分的程序都采用模块化设计,使系统的软件结构清晰,易于理解,便于调试、连接、修改和移植。 单片机应用系统的软件设计和一般的程序设计不同,既有各种计 算程序设计,还要结合具体的硬件电路进行各种输入输出程序设计。 软件设计必须在硬件、软件功能划分基础上进行。 系统软件由一个无限循环的主程序、几个中断服务程序和可供调用的功能 模块组成。 整个系统软件采用模块化结构设计,将各功能按模块化结构设计为可独立进行编程调试的程序块,这样不仅有利于调试和连接,更有利于移植和修改。 系统软件的设计方案 装置中测试部分软件程序主要包括:主程序、数据的采集、计算,按键管理、数据显示和通信等。 数据采集单元将采集的数据通过 32点快速傅立叶变换,计算出电压、电流值;再进一步 求出有功功率、无功功率、功率因数等,所得参数可就地显示也上传给上位机,并完成系统数据测量、人机交换及通讯等辅助控制功能。 系统主程序流程图如图。 图 系统主程序流程图 液晶显示程序也是系统工作不可缺少的一个步骤,是完成参数的选择和设置的可视Y 开始 初始化 to 打开中断 初始化 A/D 初始化串口CHUANKO 结束 采集数据<MM ? 打开 out0 灯亮 不报警 打开 out1 灯不亮 报警 打开 out2 灯亮 报警 MM<采集数据< AA ? AA<采集数据 ? N N N Y Y 化界面,更方便地完成系统设置,液晶显示程序展开如图 3. 2所示. 图 液晶显示程序展开图 数据的采集程序是主程序中不可缺少的部分,由采样间隔决 定了系统的精度和算法,数据采集程序如图。 主 菜 单 保护类型 电流保护 距离保护 差动保护 三段电流整定值 动作时限 反时限特性 三段阻抗整定值 动作时限 全阻特性 方向特性 偏移特性 差动整定值 参数设置 时间设置 通讯方式 USB 通 信 RS232 通信 显示结果 显示电压 显示电流 显示频率 图 数据采集程序框图 软件定时处理程序是保护部分的一个重要组成部分,它将主要完成保护的采样、启动元件的启动等功能。 定时时间间隔为 O. 625ms,即保证每周波采样 32点。 由于同时读入开关量状态,并判断是否发生变位,所以也能够充分保证开关变位的分辨率小于 lOms的要求。 对于系统的控制输出,也保证 0. 625ms查洵一次,以保证控制输出得到及时响应。 中断服务子程序是每个软件设计中都不可缺少的组成部分,本设计也不例 外,系统中断流程图如图。 测频 开中断 使用保护算法计算有效值 返回 软件定时中断中断周期为 T/32 开始 A/D 转换 使用积分算法 不满足条件 32 点未完成 完成 满足调件 图 系统中断流程图 中断程序模块采用 DSP 的软件定时中断 ,主要完成数据采集、故障判断以及打印录波等功能 ,其流程框图所示。 故障处理模块则根据中断程序模块是否启动了保护而进行故障处理 ,一旦保护启动 ,则启动跳闸、重合闸等处理功能。 系统程序如下 [26]: include include include include include include /* T0 中断服务程序 */ uchar temdata。 //临时保存 AD 转换完的数,以便比较 void T0_int(void) interrupt 1 { tem = !tem。 // 输出 测定时器时间 中 断 置定时器初值 获取 A/D数据 串口发出 A/D数据 备份数据后作比较 TH0 = 0xC6。 TL0 = 0x52。 //0xE327 延时 0xC64D 延时 1ms get_adcdata()。 //获取 ADC 数据 Uart_send(ADC_DATA)。 //发送转换的数据。 temdata = ADC_DATA。 } void main () { int i = 0xff。 CLK_DIV = fenp。 //系统时钟分频 AUXR = moshi。 //模选择 IE = 0x80。 //开启中断 IE( EA || EPCA_LVD || EADC_SPI || ES || ET1 || EX1 || ET0 || EX0 ) T0_init()。 //初始化定时器 T0 =1ms Uart_init()。 //初始化串口 ,用定 时器 1 作为波特率发生器 adc_init()。 //初始化 ADC while(1) { if (temdata 0x55) //只是 LED 灯亮 { OUT0 = 0。 //关闭 OUT OUT2,打开 OUT0 LED0 = 0。 //通道电压小于 的 1/3 时, LED 灯亮 SOUND = 1。 //通道电压大于 1/3 并且小于 的 2/3 时,不发出报警声 } else { OUT0 = 1。 OUT1 = 1。 OUT2 = 1。 LED0 = 1。 SOUND = 1。 } if((temdata 0xAA) amp。 amp。 (temdata 0x55)) //只是发出报警声 { OUT1 = 0。 //关闭 OUT0、 OUT2,打开 OUT1 SOUND = 0。 //通道电压大于 的 1/3 并且小于 的 2/3 时,发出报警声 LED0 = 1。 //通道电压大于 的 1/3 并且小于 的 2/3 时, LED 灯 灭 } else { OUT0 = 1。 OUT1 = 1。 OUT2 = 1。 LED0 = 1。 SOUND = 1。 } if(temdata 0xAA) //发出报警,并且 LED 也亮 { OUT2 = 0。 //关闭 OUT0、 OUT1,打开 OUT2 LED0 = 0。 //通道电压大于 的 2/3 并且小于 时,发出报警声 SOUND = 0。 //通道电压大于 的 1/3 并且小于 时, LED 灯亮 } else { OUT0 = 1。 OUT1 = 1。 OUT2 = 1。 LED0 = 1。 SOUND = 1。 } } } 程序说明首先设计获取 T0和 AD初始化,然后设定定时器每隔 1ms 检测一次电路电压,初始化串口,开始检测,当通道电 压小于 的 1/3 时, LED 灯亮,不发出报警声,然后关闭 OUT OUT2,打开 OUT0;当通道电压大于 的 1/3 并且小于 的 2/3 时,发出报警声, LED灯灭然后关闭 OUT0、 OUT2,打开 OUT1当通道电压大于 的 2/3 并且小于 时,发出报警声,当通道电压大于 的 1/3 并且小于 时, LED 灯亮,然后关闭 OUT0、 OUT1,打开 OUT2。 本章小结 本章是整个继电保护。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。