1 引言
调节阀电动装置是工业自动化系统中的执行单元,广泛应用于化工、石油、冶金、电力等行业的压力、温度、流量控制。它是一种机电一体化的现场设备,以电动机作为动力源,将控制信号转换成相应的机械动作控制各类阀门开启和关闭。随着科学技术的发展,特别是数字和信息技术的发展,阀门电动装置的上方控制系统数字化和信息化程度越来越高,对电动装置的精度、动态特性和功能等方面的要求也越来越高,如友好的人机界面、精确定位、故障诊断和总线通讯等等,这些性能的提高和功能的实现依赖于阀门电动装置控制器。
2 工作原理
阀门电动装置(图1)控制器接受上方控制系统指令,控制电动装置电机运行,驱动电动装置传动部分工作,并将其工作状态信号反馈给上方系统,从而实现阀门位置控制。阀门电动装置控制器是嵌入式控制系统,它以单片微处理器(MCU)为核心,配合人机界面、信号输入/输出和电机驱动等其他外围电路,通过MCU内部程序控制整个系统运行。其中MCU是整个系统的核心,MCU芯片上集成了一个功能简化的计算机系统(CPU,内存,并行总线,输入/输出接口等),具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,已在阀门电动装置控制器上广泛采用。
图1 阀门电动装置
目前控制器的MCU所用软件普遍采用前/后台工作方式(图2)。系统应用程序是一个无限的循环。循环中调用相应的函数完成相应操作,这部分是后台行为。中断服务程序处理异步事件,这部分是前台行为。一般对实时性要求高的操作都是通过中断服务来保证的。因为中断服务提供的信息一直要等到后台程序运行到该处时才能得到处理,所以任务的响应时间取决于整个程序循环的执行时间。
图2 前/后台系统
3 存在问题及解决方案
3.1 存在问题
随着阀门电动装置功能的增加和性能的提高,要求MCU同时处理的任务数量越来越多,对实时性要求高的任务也越来越多,任务数量的增加意味着程序循环时间的加长,而实时性要求高则对后台程序的循环周期提出了较高要求。如果系统后台程序的循环时间超过了处理实时任务的最大间隔时间,系统的实时性就得不到有效保证,控制器也就不能正常稳定工作。
3.2 解决方案
采用模块化设计理念,将阀门电动装置控制器分解成多个功能模块,每个对实时性要求高或者程序执行时间较长的的功能模块都有独立的MCU控制,然后通过总线通讯的方式与主控MCU进行数据交换,即多MCU的系统架构。
4 控制器硬件
控制器硬件(图3)由主MCU、辅助MCU、电源部分、驱动部分、位置信号检测部分、控制信号输入/输出部分、人机界面部分和通讯部分等电路组成。将阀门电动装置需处理的相关任务进行分解,每一个辅助MCU完成一项对实时性要求高或者用时过长的任务。控制器中由于人机界面显示时间较长,位置信号与电源检测实时性要求较高,所以单独由一个辅助MCU控制。主MCU通过IIC总线通讯的方式与辅助MCU交换数据,控制系统协调工作。
4.1 MCU及相关电路
主MCU选用ARM7TDMI-STM内核的32位单片微处理器LPC2136,其运行速度快、存储容量大、IO接口丰富、具有UART、SPI、IIC等多种通讯接口。辅助MCU根据不同功能需要,分别选用MCS-51内核的8位单片微处理器LPC917、LPC922和LPC936,其结构简单,性价比高,并且都有IIC总线接口。
图3 控制器硬件结构
LPC936负责检测就地按钮操作、液晶显示屏及灯光显示。就地按钮操作采用无贯通轴的磁控开关,选用Allegro 3144霍尔效应开关,保证就地操作与控制器内部隔离,从而保证了阀门电动装置的防护等级高于IP65。显示器采用有机电致发光(OLED)显示器,OLED显示器采用主动发光(自发光)技术,因此与传统液晶显示器(LCD)相比亮度高,视角范围大,正常工作时负载约为50mA,功耗比LCD降低一半。
LPC922负责检测阀门位置(图4)。采用自制光电式脉冲计数相对编码系统测量阀门位置,它将电动装置的旋转位移精确地转换成两路正交的电脉冲信号输入MCU,由程序确定阀门的开关方向和位置变化,每转输出360个脉冲,分辨率达1°。具有可充电式掉电保护回路,保证断电时阀门位置不丢失。
LPC917负责检测电源相序变化和是否缺相运行(图5)。它将三相交流电源(380VAC,50Hz)输入转化为三相脉冲信号(313VDC)输入MCU,程序根据三相脉冲信号相互之间的相位变化来判断输入电源相序以及是否缺相运行,从而保证电动装置开关方向与输入电源相序无关,缺相时能及时切断驱动回路保护电动装置。
图4 位置检测电路
图5 电源检测电路
4.2 IIC总线通讯
主MCU与辅助MCU通过IIC总线相连,实现数据双向传输,传输速率为400Kbit/s。IIC总线是芯片间串行数据传输总线,2根信号线(SDA、SCL)即可实现全双工同步数据传送,能够十分方便地构成多机系统和外围器件扩展系统。使用时器件直接挂到IIC总线上,由主器件发出IIC从地址,即可与相应IIC器件进行数据传输,而无须介入底层的IIC操作协议。控制器中LPC2136为主机,LPC917、
LPC922和LPC936为从机。
5 控制器软件
控制器软件由LPC2136主MCU程序和LPC922、LPC917和LPC936辅助MCU子程序4部分组成。主程序负责控制器协调工作,子程序负责完成各自的任务,主程序与子程序之间通过IIC总线交换数据。
5.1 IIC通讯数据格式
主机和从机IIC总线数据均由8字节组成,主机与LPC936辅助MCU通讯的数据格式见表1,主机与其余辅助MCU通讯的数据格式与此类似,只是从机地址与数据有所区别。为保证接受的数据正确无误,对接收的数据均进行CRC校验。CRC域是两个字节,包含16位的二进制值,它由发送端MCU计算后加入到数据中,接收端MCU重新计算收到数据的CRC,并与接收到的CRC域中的值比较,如果两个CRC值不相等,则说明数据传输有错误,此组数据无效。
表1 主机/从机数据格式
5.2 LPC2136主程序
LPC2136主程序是整个控制器软件的核心,它由主循环和定时中断子程序两部分组成。程序主循环负责故障检测、处理以及与辅助MCU进行数据交换,定时中断子程序完成输入/输出信号检测、控制驱动电路、与上方系统通讯等其他任务(图6)。
图6 主程序流程框图
6 结语
采用多MCU的阀门电动装置控制器既保证各个功能模块正常工作,又大大缩短了主MCU的程序循环周期,使得主MCU控制的其他功能模块工作稳定可靠,从而提高了整个控制器的运行效率。
参考文献
[1] P89LPC917、P89LPC922、P89LPC936数据手册〔Z〕.广州周立功单片机发展有限公司.
[2] 周立功,张华.深入浅出ARM7-LPC213X/214X〔M〕.北京:北京航空航天大学出版社,2005.
标签:
相关技术