基于LPC2210的嵌入式智能灭菌控制系统设计
摘 要:根据医疗行业对高温灭菌的使用要求和工作特点,研制一种基于LPC2210处理器和μC/OSⅡ实时操作系统的脉动真空灭菌器的模糊智能控制系统。通过对灭菌温度、压力和时间等主要工艺参数的控制,可以对包裹、器械等进行快速有效的灭菌。系统同时具有实时参数显示、消毒灭菌过程中文提示及远程控制等功能,实验表明系统运行安全、可靠、实用性强。
关键词:ARM;实时操作系统;TCP/IP;模糊PID控制;脉动真空;灭菌
中图分类号:TP273文献标识码:B
文章编号:1004-373X(2008)22-053-04
Design of Embedded Intelligent Control System Based on the LPC2210 for Sterilization
LI Weiwei,CHEN Shuangye,YU Chunxuan
(Electronic Infoemation & Control Engineering,Beijing University of Technology,Beijing,100022,China)
Abstract:The fuzzy intelligent control system of a new medical pulsation vacuum sterilizer based on LPC2210 CPU and μC/OS II RTOS is designed,according to the requirement and the work characteristics of the medical treatment.With better control of temperature,pressure and time,the package materials,appliance,could be sterilized quickly and effectively.This system have many functions such as parameters display,Chinese prompt,and control of long-distance in the process of disinfections and sterilization.The experiment demonstrates that this practical system can implement safely and reliably.
Keywords:ARM;real-time operating system;TCP/IP;fuzzy-PID control;pulse vacuum;sterilization
1 引 言
灭菌器是保护人类生命健康的重要设备,在发达国家无论是家用灭菌器还是商用灭菌器都很普及并且技术先进。然而国内目前的主要灭菌器产品都存在技术比较落后,灭菌效果不太理想的情况。在控制系统的硬件设计方面,大部分厂家生产的灭菌器产品都是单片机控制,相对于现在比较成熟的网络技术和远程诊断技术,明显可以看出在系统硬件方面技术的滞后。根据脉动真空灭菌器的基本结构、工作原理及工作环境等实际情况,并结合计算机和网络技术的发展,研制和生产基于LPC2210微控制器和μC/OS Ⅱ操作系统并配以温度和压力传感器、键盘、LCD显示器及以太网通讯模块等组成的功能强大的脉动真空灭菌控制系统。为方便用户操作和观察,设计了友好的人机对话界面,使整个消毒灭菌过程全中文显示。为扩大脉动真空灭菌器的使用范围,系统根据“包裹、器械、乳胶…”7类不同物品分别编制灭菌控制程序,并实现远程控制的功能。
2 脉动真空灭菌器基本工作原理
所谓脉动真空,就是首先向灭菌器夹层内输蒸汽至额定压力,然后用真空泵将灭菌器内室抽到一个较高的真空度(脉动下限),再充蒸汽到设定正压(脉动上限),如此一负一正的过程即为1次脉动循环。经过几次脉动后,基本抽尽器体内的冷空气,接着进饱和蒸汽达到不同灭菌物品对应的灭菌温度,开始累计灭菌计时,计时结束后,抽真空干燥,使灭菌物品达到较好的干燥度,灭菌后可直接使用,从而达到很好的灭菌效果。
脉动真空灭菌器的主体为一带有夹层及密封门的高压容器,配有真空泵、真空阀、排汽阀、进气阀等控制器件及温度、压力传感器,根据里外锅的温度和压力是否达到规定值和时间要求而进行各种控制动作,工作过程如图1所示。
3 控制系统硬件设计
3.1 硬件总体结构
脉动真空灭菌器智能控制系统是由主控系统、数据采集系统、开关量输入/输出控制系统和通信及人机交互系统组成,控制核心单元采用ARM 7核的LPC2210作为主控CPU,核心CPU板上设计有键盘接口、LCD接口、RS 232接口 、DI/DO接口、模拟量输入接口、JTAG接口、网络接口等。系统的硬件结构图如图2所示。
3.2 信号采集电路与开关量输入/输出电路
信号采集电路主要是实现对里外锅温度和压力的采集,温度传感器采用的是电流型传感器AD590,测量范围在55~150 ℃之间,输出电流与温度的线性关系为1 μA /K,0 ℃对应的电流为273.2 μA,0~150 ℃分别对应0~3.3 V。 该部分的电路设计思路主要是: 温度→电流信号→电流电压转换→滤波→A/D转换。
压力传感器采用的电压型传感器MPX2200,测压范围是220 kPa,灵敏度为0.2 mV/kPa。输出电压范围是0~40 mV。该部分的电路设计思路主要是:压力→电压→差分放大→滤波→A/D转换。
其中A/D部分是LPC2210片内自带的10位逐次逼近式转换器,测量范围为0~3.3 V。采集的数字量经数字滤波、变换后通过LCD动态显示,并且与设定值进行比较,得到误差E与误差变化率EC为后续控制提供依据。
二路的开关量输入电路主要用于判断灭菌过程中灭菌容器的门栓开关和门限位开关是否接通。10路的开关量输出电路主要是通过控制固态继电器的通断,实现对各个数字阀门的通断控制,从而调节里外锅的温度和压力。
3.3 键盘及LCD显示电路
人机界面主要包括键盘、LCD显示电路。用户通过键盘设定灭菌温度、时间和脉动真空次数,满足各种消毒要求。该模块采用的是带I2C接口的键盘与LED驱动芯ZLG7290,最大支持64个按键,通过I2C总线与LPC2210通信。
液晶显示电路采用的是北京青云公司的LCM320240显示模块, 此模块采用内置的SED1335图形显示控制器,显示类型为STN蓝模式,和CPU以直接方式连接,用以动态显示温度、压力、时间和操作提示等。
3.4 以太网通讯电路
该部分电路主要是实现通过因特网对该灭菌器的远程控制与诊断,一方面发送命令与数据对该灭菌器进行控制;另一方面获得当前的温度压力灭菌时间等重要状态参数以实时反映灭菌状况。硬件电路使用的芯片除了处理器LPC2210和以太网芯RTL8019AS,还有网卡变压器,RTL8019AS通过总线和LPC2210处理器连接,LPC2210与以太网芯片RTL8019AS工作在跳线方式。
4 控制系统软件设计
为满足对脉动真空灭菌控制系统实时性和网络通讯的要求,采用基于嵌入式实时操作系统μC/OS Ⅱ的软件设计。主要工作包括μC/OS Ⅱ的移植、驱动程序的编写、控制算法编排、多任务实现等。
4.1 μC/OS Ⅱ的移植
μC/OS Ⅱ是一个源码开放的抢占式实时操作系统,它具有内核可裁减、时间可确定、短小精悍、可移植性强的特点。
所谓移植,就是使一个实时内核能在其他处理器或微控制器上运行。μC/OS Ⅱ把内核代码分成了3部分:与处理器无关的代码、与处理器有关的代码以及与应用相关的代码。与这里移植相关的文件包括OS_CPU.H,OS_CPU.C,OS_CPU_A.S。在移植中使用的是ADS1.2编译器,它支持内嵌汇编,满足μC/ OSⅡ的移植条件。移植步骤如下:
(1) 设置OS_CPU.H中与处理器和编译器相关的代码。主要是编写与编译器相关的数据类型和与处理器相关的中断开启和关闭、堆栈增长方式等。
(2) 用C语言编写6个操作系统相关的函数(OS_CPU.C),主要编写任务堆栈初始化函数和5个钩子函数,其中任务堆栈初始化函数必须自己编写,5个钩子函数可以不加代码,但函数必须建立。
(3) 用汇编语言编写4个与处理器相关的函数(OS_CPU_A.S)。这4 个函数分别完成运行优先级最高的就绪任务、任务级的任务切换、中断切换、中断服务功能。
4.2 驱动程序的编写
驱动程序是连接底层硬件和上层的API函数的纽带,有了驱动程序,就可以把操作系统的API和底层的硬件分离开来。任何一个硬件的改变、删除或者添加,只需随之改变、删除或者添加提供给操作系统的相应驱动程序,并不影响到API函数的功能,更不会影响到用户的应用程序。同时,为了保证在实时多任务操作系统中对硬件访问的惟一性,系统的驱动程序受控于相应的操作系统的多任务之间的同步机制。在μC/OS Ⅱ中,使用信号量、邮箱等机制进行协调。
该灭菌控制器的驱动程序有GPIO驱动,AD驱动,RTC驱动,LCD驱动,网卡驱动,I2C驱动,RS 232驱动等。
4.3 以太网通讯功能的实现
由于μC/OSⅡ本身不带有网络功能,因此必须在此基础上移植1个TCP/IP协议栈,这样便可利用该协议栈提供的SOCKET套接字实现网络编程,从而可以通过因特网实现对灭菌控制系统的远距离控制与维护,大大提高了该灭菌控制系统的功能。
μC/OSⅡ是一种微内核的结构,TCP/IP协议栈的实现最终是以几个任务的形式被μC/OSⅡ调度来协作完成数据的通信过程。TCP/IP系统框图如图5所示,共占用3个任务(不包括应用程序的任务),第1个是接收和ICMP,ARP处理任务,第2个是UDP接收任务,第3个是TCP接收任务。接收任务与UDP和TCP任务的通信是通过消息队列来进行的。而UDP接收任务和TCP接收任务是通过SOCKET接口与应用层的程序进行通信的。
数据报的接收是通过1个任务来进行的,该任务优先级较高,可以通过时间片或通过中断来触发。比如在1个任务里每隔4个时钟节拍调用1次Rec_Packet()函数;而该函数是底层的驱动程序函数,它在接收时调用Rec_Ethernet_Packed()函数进行以太网层处理,而Rec_Ethernet_Packed()函数又调用IP_PROCESS()函数,IP层的处理由IP_PROCESS()函数执行,并对不同类型的IP报进行分类;如ICMP报就交Icmp_process()函数处理,而TCP或UDP报就通过消息队列交给TCP或UDP处理任务去执行。UDP或TCP接收处理任务又通过信号量的方式唤醒等待数据的任务。
数据报的发送与数据报的接收是一个相反的过程,是由上层协议函数调用下层协议函数来进行的。上层TCP,UDP处理函数或SOCKET接口函数都是通过调用Send_Ip_Frame()函数来发送IP 报的,而Send_Ip_Frame()函数则通过调用Send_Ip_To_LLC()函数来处理IP地址对应MAC地址的事情,然后Send_Ip_To_LLC()再调用Send_ethernet_Frame()函数。把对应MAC 地址写入发送区,最后调用驱动程序的发送函数Send_Packet(),完成发送过程。
4.4 控制策略的确定
系统根据“器械、包裹、液体”等几类不同物品分别编制灭菌控制程序,现以包裹类为例说明控制流程,主要是外锅温度压力处理、预真空处理、真空处理、灭菌处理、置换处理、开门处理。
为满足工艺流程的要求,在除灭菌处理阶段之外采用的都是顺序控制,从而满足对里外锅温度压力及时间的控制,为真正的灭菌阶段做好准备。
灭菌阶段又可简单地分为灭菌升温和恒温阶段,是整个控制过程最重要的环节。在工作中温升过快会导致当室内温度达到要求时消毒物品内部却可能达不到灭菌的要求; 另外超热蒸汽温度虽高,但遇到消毒物品时不能凝结成水,不能释放潜伏热,对灭菌不利。为保证灭菌效果和提高工作效率,用模糊PID混和控制方法控制温度。图6为模糊PID混和控制器结构,控制思想是当被灭菌室温度在设定偏差外,采用模糊控制,从而保证理想温升速度;当被控温区温度进入偏差内,自动切换为PID控制,以获得高稳态精度。
控制系统的模糊控制器采用的控制变量是灭菌室设定温度Ts与实测温度T的误差E和温度误差的变化率EC。U和EC的模糊集是{NB,NM,NS,O,PS,PM,PB},E的模糊集是{NB,NM,NS,NO,PO,PS,PM,PB},模糊推理机制规定为“if Ek and ECk then Uk”形式,将相应的模糊推理规则建表后储存于计算机中,通过查表的方式实现模糊推理。程序中,根据温差E及误差变化率EC查得量化值U,再乘以对应的量化因子,得到精确值控制量,求出U(k)为当前输出,由于该系统采用数字阀.所以U(k)设为PWM波中,高电平所占时间。
PID控制器是一种线性控制器,在灭菌器计算机控制系统中,使用增量式PID控制算法,计算公式为:
ΔU(k)=Kp*[E(k)-E(k-1)]+Ki*E(k)+
Kd*[E(k)-2E(k-1)+E(k-2)]
其中:E(k)为当前设定温度与检测温度的误差;U(k)为当前输出,由于该系统采用数字阀。所以U(k)设为PWM波中,高电平所占时间。系统采用PWM控制阀门的开度来实现温度控制,根据压力锅容积大小,蒸汽压力和温度以及蒸汽阀管径大小,和厂家提供的经验参数选择PWM周期为2 s。温度和压力参数的采样周期为100 ms,由一后台任务完成。
4.5 多任务的实现
传统的程序设计基本上是顺序、分支结构,效率低。所谓任务就是1个功能相对独立的模块,也就是1个特殊的函数,主体是个无限循环,循环里完成一定的功能。多个任务之间有一个实时的调度算法,按照任务的优先级随机调度这些任务来执行。任务之间以及任务与中断服务程序之间可以通过信号量、消息邮箱、消息队列、延时等系统服务来实现彼此通信、数据共享和同步,因而可以有效避免资源竞争。从宏观上看多任务是并发执行的。创建5个应用任务实现交互完成所有的功能,用来实现TCP/IP协议栈的任务不包括在内。
任务1:键盘任务,优先级较低,采集按键值发给显示的任务,由于显示任务是个最低优先级的任务,所以以消息队列的方式与显示任务交互,同时通过信号量机制,实现对控制任务的同步操作。
任务2:A/D采集任务,优先级最高,类似内核线程,每隔100 ms,采集4路温度压力数据存入AD_table全局数组,供其他任务查询使用。
任务3:控制任务,优先级高,完成灭菌控制整套流程,通过消息队列与显示任务交互,通过信号量与键盘任务交互,查询AD_table数组,获得当前温度和压力从而控制灭菌流程。
任务4:显示任务,优先级最低,类似Windows中消息机制,从消息队列中循环取得显示命令和显示参数,分别显示不同画面,反映当前灭菌状态。
任务5:远程通信任务,优先级较高,该任务实际上是客户端程序,一方面接收上位机发送的不同命令和数据控制该系统的动作,另一方面发送重要数据给上位机以便上位机观测该系统的运行状态。
编写好这些任务的代码和用到的中断服务程序后,启动操作系统则应用程序就开始运行,若要增添功能,只需增加相应的任务和调用一定的系统服务即可。
5 结 语
本控制系统是和北京将台医疗器械厂协作完成的,已经在脉动真空灭菌器上应用。经过长时间的实验,表明其测量数值准确、稳定;控制过程准确可靠,抗干扰能力强;操作简单、使用方便,工作过程完全实现了智能化网络化控制,具有较高性能。
参考文献
[1]周立功.ARM嵌入式系统基础教程.北京:北京航空航天大学出版社,2005.
[2]刘乐善,欧阳星明.微型计算机接口技术及应用.武汉:华中科技大学出社,2000.
[3]Jean J Labrosse.嵌入式实时操作系统μC/OS Ⅱ.北京:北京航空航天大学出版社,2003.
[4]周航慈,吴光文.基于嵌入式实时操作系统的程序设计技术.北京:北京航空航天大学出版社,2006.
[5]W Richard Stevens.TCP/IP详解.范建华,骨光辉,张涛,等译.北京:机械工业出版社,2000.
[6]周立功.ARM嵌入式系统软件开发实例(一).北京:北京航空航天大学出版社,2005.
[7]易继锴,侯媛彬.智能控制技术.北京:北京工业大学出版社,1999.
[8]诸静.模糊控制原理与应用.北京:机械工业出版社,1995.
[9]于海生.微型计算机控制技术.北京:清华大学出版社,1999.
[10]陶永华,尹怡欣,葛芦生.新型PID控制及其应用.北京:机械工业出版社,1998.
作者简介
李伟伟 男,1982年出生,安徽舒城人,硕士研究生。主要研究方向为过程控制、嵌入式系统。
陈双叶 男,1976年出生,湖北武汉人,博士,副教授。主要研究方向为智能控制、工业自动化。
余春暄 女,1974年出生,北京人,博士,副教授。主要研究方向为计算机技术与应用、模式识别。