从图2可看出各功能模块的层次及调用情况.系统接通电源后,首先对单片机各口线、内RAM,外设、以及启动时间等作必要的预置工作,然后进人信号检测.电机启动处理从检测到电机电流信号开始,为避过启动瞬间的冲击电流设置了启动过程延时处理,在此期间只对短路和断相故障作检测处理(图中略).电机启动过程结束后正常运行时,单片机循环对故障进行连续不断的检测,一旦故障发生,则首先判别故障的优先级,然后分别对各种故障进行处理.在对某种故障进行处理的延时期间,还不断地对高于其优先级的故障进行交叉检测(例如:在过载反时限延时期间要对漏电和短路进行检测识别),以实现电机的可霏保护。
各种故障的处理原则是:有故障则故障立即被显示,具休何时切断电机电源对电机实现保护则根据故障性质而定,各种故障从发生到保护有不同的延时时间。
5.2系统初始化及主程序设计
主程序主要作用是对系统进行初始化以及主要部件的自检,初始化主要完成
80C196KC单片机多功能引脚的定义、堆栈(SP)地址设置、I/0接口芯片8255A工作方式的设置以及液晶模块显示设置。自检对象主要有外部扩展随机存储器(RAM)。主程序流程图如图5-l所示。
图5-1 主程序流程图若图片无法显示请联系QQ752018766,电动机的三段保护软硬件设计系统免费,转发请注明源于www.751com.cn
系统上电或复位后,首先是RESET引脚上电平由低到高,而后芯片内部将执行10个状态周期的复位序列,该复位序列将使一些寄存器初始化,清PSW,将208OH赋值给程序计数器(PC),以便从2080H单元开始执行指令,芯片配置字节(CCB)从2018H单元读出并写入芯片配置寄存器(CCR),以确定系统有关总线工作方式等。本系统对芯片配置字节的设置为 CCR=n11n01,其意义是:无内部ROM保护,禁止内部就绪控制,选择标准总线方式(ALE/WR/BHE),8位总线宽度。
程序开始执行后,首先运行初始化模块,初始化的主要任务是完成SOC196Kc有关UO控制寄存器(Ioco, IOCI,loC3等)的设置、多功能引脚定义、串行口设置、堆栈地址设置、8255A工作方式设置、液晶显示模块设置以及保护装置自身的一些系统变量初始化等功能。
自检程序主要检测RAM存储器是否损坏,自检方法是先向整个RAM地址区写入数据,然后再一一读出比较,若不一样,则出错。出错后,由用户自己决定处理,程序不进行出错处理。
自检之后,显示系统主菜单,开键盘及串口通讯中断,等待中断。
5.3测量主程序
测量主程序主要完成电动机数据的采集、存储、数据处理以及故障判断和处理等功能,程序流程图如图5-2所示。进入测量主程序之后,首先开启软件定时器中断,并立即执行一次软件定时器0的中断服务程序,在其中断服务程序中,设置下一次软件定时器0中断的时间间隔,由于本系统一周波内采样12个数据点,故相邻两次采样间隔为 20ms/12=1.67ms(20ms为被采样信号的周期)。这个时间也就是软件定时器0中断的时间间隔,即每隔1.67ms产生一次软件定时器中断,在其中断服务程序中完成电动机数据的采集、存储、数据处理以及故障判断和处理等功能,中断返回后,等待下一次中断。需要注意的是,由于在中断服务程序中需要进行大量的数据运算以及外部存储器读写操作,要占用相当多的
CPU时间,所以采样间隔不能太短,若太短,可能会导致在还没有完成对本次采样数据进行相关处理之前启动了下一次采样,这会导致数据混乱。
5.4 A/D采样子程序
A/D采样子程序是测量主程序的重要组成部分,它的主要任务是依次采集A/D转换辣路模拟输入通道的实时数据,并将其存入预定存储单元,以供后续程序取用。
采样子程序的流程图如图5-3所示。
5.5数据处理子程序
数据处理子程序也是测量主程序的组成部分,它的主要任务是在A/D采样子程序的采样结束之后,从预定的RAM单元中取出各路通道最近一个周波内采集的12个数据点,并根据有关算法计算各路电压或电流的有效值和正负序分量,然后将其存入预定单元,并发送至液晶显示模块显示。须注意的是,显示之前应将显示数据转换为十进制数的BCD码表示,然后查表得各位数字的显示码,并发送置液晶显示模块显示。
5.6键盘中断响应模块
键盘中断服务程序由外部中断输入引脚EXINT触发,当有按键按下时,CPU响应EXINT外部中断,转入键盘中断服务程序。在中断服务程序中首先关闭键盘中断,并延时10ms进行消抖动,然后读8255A芯片PA口,若以口低4位中有某位由高电平变为低电平,则确有键按下,接着进行按键识别,计算键值,最后根据按键键值以及系统运行状态去执行相应的键盘解释程序,开键盘中断,返回等待下一次中断。键盘中断
服务程序流程图如图5-6所示。
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页