1数字控制部分的硬件组成。系统通过AD对原动机的励磁电流、电枢电流和电枢电压进行采样。同时,接在电动机主轴上的电磁感应测速器产生的速度脉冲信号则直接进入了CPU的高速输入单元。系统获得了上述信号之后,按照用户设定的运行参数和控制规律,进行运算,最后将所得数字控制量通过DA转换输出到可控硅整流模块。系统的按键、开关及用作保护的继电器接口则通过一片8255A拓展;为了方便用户,系统中设计了一个液晶显示模块和一个串行通讯接口;而程序运行监视和原动机运行参数掉电保护功能则通过一片X25043来实现.
2程序设计主程序设计的主要目的是合理地设计程序流程,组织各子程序模块合理、有序地协同工作。主程序是整个系统软件部分的基础和框架,其设计的流程是否合理,算法是否先进,以及其执行效率的高低直接决定着整个系统运行的稳定性和控制的准确性。
2 1主程序流程主程序可分为两个大的部分:即开机前的运行整定和开机后的运行控制。其流程图如所示。
开机前的程序为第一部分,其主要的任务是完成上电复位后寄存器和内存的初始化,对LED和继电器状态进行初始化,读取上次断电时保存的各种运行控制参数,对用户的操作进行处理,完成参数整定并在液晶显示器上显示出来。当用户发出开机指令后,电动机开始运行,程序执行到另一个部分,即运行控制部分。此时,程序主要完成以下功能:各运行控制参数的整定计算和存储;打开中断,允许中断服务程序调用汽轮机(水轮机)调速器对电动机的运行进行实时控制;对电动机的速度、电枢电流、电枢电压和励磁电流进行循环采样和监测保护;实时处理用户的输入,并根据用户要求及时对电动机的运行状态进行调整;将电动机的运行参数在LCD上显示出来,为用户提供一个良好的人机接口,采用模块化编程,提高效率,也使程序更有可读性2 2测速子程序对转速进行实时、精确测量是对电动机准确控制的前提。本系统在电动机的主轴末端安装了一个电磁感应测速装置,当电动机转动时产生幅值为15 V的方波信号,其分辨率达到了每转180个脉冲。电磁感应测速器产生的信号经过光隔TLP521,再通过施密特触发器74LS14整形后即进入CPU的高速输入口HSI. 0. CPU每检测到一个低电平,即记下此时刻的定时器时间,将两个相邻时间相减,即可得到一个周期的定时器时间T 0,若采用12 M晶振时,定时器的一个计时单位为1. 33 s,所以此时一个完整方波的时间T为T = T 0 1. 33 10 - 6 s(1)又对应此时的转速,T为T = 1/ f =(N 180/ 60)- 1 =(N 3)- 1 s(2)由(1),(2)两式可得N = 10 6 /(T 0 1. 33 3)= 10 6 /(T 0 4)r/ min(3)当电动机在额定转速1 000 r/ min下运行时,则一个脉冲的时间T s为T s =(1 000/ 60 180)- 1 = 1/ 3 000 = 0. 33 ms(4)由(4)可知,在额定转速下,理论上只需要0. 33 ms就能够准确地测得电动机的转速,这对于每10 ms一次的控制计算中断服务程序而言,完全能够保证电动机测量转速测量的实时性和准确性SED1335F控制器光标有4个移动方向,这给编程带来了很大的方便。以显示汉字(32 32)为例,一个汉字的字模大小为128个字节,若采用左移按行输出,每输出一行的数据就需要重新计算一次光标位置,则显示一个汉字共需要计算32次光标位置;而采用光标下移按列输出,每输出一列计算一次,则一共只需计算4次光标位置。可见,采用按列输出将极大地缩短源代码的长度和减少系统开销,且只需对字模进行一些简单的处理就能达到要求。程序的流程图。
基于提高程序运行效率和精简代码长度的考虑,显示的刷新也根据程序的两个部分相应地分成两种不同的形式。未开机前的参数整定显示刷新是根据用户的输入而刷新,即用户更改了参数才相应地刷新液晶显示,以及时将参数的变化显示出来,若用户没有输入则不刷新显示。而在开机后,为了实时显示电动机运行的状态参数,显示的刷新形式变为定时刷新,即通过CPU的定时器1来计算时间,每一秒种左右刷新一次,更新数据。以便电机的运行状态能够直接,迅速及时地在LCD上显示.