APP下载

人体表面温度控制系统的软件实现方法

2010-03-01谭宝昌杨连发覃佳能陈隆鸿

装备制造技术 2010年12期
关键词:控制算法触摸屏增量

谭宝昌,张 震,杨连发,覃佳能,陈隆鸿

(桂林电子科技大学机电工程学院,广西桂林 541004)

在医疗手术及康复过程中,患者常常会因为核心温度降低而出现低体温的现象,此现象对手术及术后康复极为不利,会直接影响手术成败及术后恢复的效果[1]。因此,使用辅助保温装置,对手术及术后康复过程中的人体表面温度(简称体表温度)进行控制,已成为最常用的保温措施之一。

在人体表面温度控制系统的软件实现方法上,人们开展了一些研究。例如广西大学的韦文代提出了基于九点控制器算法的温度控制系统[2],该系统的软件是基于C8051单片机的SmallRTOS实时操作系统的;桂林电子科技大学的张苗苗提出的基于单片机的PID算法等[3]。由于人体表面温度的控制具有实时性、交互性等特点,需要实现智能控制,采用一般的软件实现方法,已经不能满足设计的要求。

Linux嵌入式操作系统,是一款成熟而稳定的操作系统,可以在此系统的基础上,实现多种软件控制与开发,并能对多种硬件结构的驱动进行移植,制定特定的软件实现方案;具有容易修改和系统优化、支持网络、适合多种CPU等特点。本文阐述采用ARM9 Linux实现人体表面温度控制系统的软件方法。

1 系统控制原理

本系统是以ARM9 Linux嵌入式操作系统,作为软件控制平台,以人体体表温度为控制源,以气体的温度和流量为控制量,结合人体热调节理论,共同完成对体表温度的控制[4]。

该软件系统主要包括:多点控制源的温度采样与控制、液晶显示、故障检测及报警、气体温度采样、气体温度控制和气体流量控制等模块,其控制系统结构如图1所示。其中,多点温度采集的是身体各部位的体表温度,采集后将这些数据通过控制平台存储到存储器内;显示模块用于显示采集到的体表温度、气体温度和实时核心温度,并根据采集到的温度信号绘制其随时间的变化曲线;控制模块主要包括电源开关、参数设置、状态选择、数据输入等;故障检测及报警模块在系统开机时,进行软硬件复位检测,同时记录系统运行过程中相对应的状态值,并对其进行分析,若其为故障数值,则进行报警;气体温度控制和气流控制模块,是由Linux嵌入式核心平台直接控制,由增量式PID控制算法所得到的控制量决定,控制量由采集的体表温度和控制源的核心温度决定。

图1 控制系统结构图

2 软件实现

本软件系统将实现人体核心温度的实时性和智能化控制,但由于以往的软件系统的不确定性和滞后性,不能满足大存储、高精度、在线升级等智能化要求。然而,Linux是一款成熟而稳定的操作系统,其源代码是完全对外开放的,可以根据用户需求量身定制系统,尤其在本软件系统中,能够实现实时性和智能化控制要求。

2.1 操作系统移植

Linux内核版本更新速度非常快,本系统采用比较新的Linux2.6.28版本。在移植系统前,要先将Bootloader启动程序固化在NOR Flash上,再用DNW软件下载硬件测试程序,测试整个系统的硬件,确保硬件系统的正常。系统移植主要包括移植引导程序、编译内核和构建根文件系统共3个部分[5]。引导程序在系统上电的时候开始执行,初始化硬件设备,然后调用Linux系统内核。

系统移植主要分为以下步骤进行:

(1)在 PC机上安装 gcc、binutils、glibc和 vivi等软件以及ARM内核相应的BSP;

(2)按照系统开发的需要添加相应的接口驱动程序;

(3)通过编译得到相应的Linux系统映像文件;

(4)下载Linux系统映像到ARM控制系统的NAND Flash中;

(5)固化系统的bootloader。

2.2 软件设计

系统通过人体表面温度,来间接实现人体核心温度的实时监控,其应该具备以下功能:友好的可视化操作界面、精确的温度检测和控制、多方位的智能化控制等。本文结合Linux嵌入式操作系统,设计出比较智能的硬件结构,并实现了系统各个模块的功能:人体各部位温度的实时显示、气体温度显示、核心温度显示,通过键盘或者触摸屏设置核心参考温度、系统的开始和结束。

图2 软件结构框图

软件系统的主要任务是:温度信号采样、键盘读取、触摸式LCD显示、PID控制算法实现、气体温度控制等,软件结构框图如图2所示[2]。

温度信号采样,主要结合滤波法和均值法采样人体表面温度和气体温度;

键盘读取,通过行列扫描法对外接的键盘进行扫描;

触摸式LCD显示,是结合四线电阻式触摸板和LCD图形显示,并能将触摸位置与图像位置形结合,共同实现触摸式显示;

PID控制算法实现,是将采集到的温度信号送入增量式PID控制器,经过运算得出控制量;

气体温度控制,由增量式PID得出的控制量间接控制电热丝的通断时间,达到控制气体的目的。

系统各任务的优先级从高到底的顺序为:温度信号采样、增量式PID算法实现、键盘扫描和触摸屏扫描、控制气温、液晶显示。各任务的优先级顺序不能调换,系统严格按照各任务的优先级执行各任务。

3 系统任务的设计

3.1 温度采样的软件实现方法

温度信号的采样,是通过ARM9 S3C2440A处理器自带的A/D模块来实现的,ARM9本身集成一个10位COMS逐次逼近型的模数转换器,ARM9 S3C2440A处理器最高工作频率可达400MHz,保证了其模数转换器的转换速度。在该控制系统中,为了准确地采集温度,采用采集10次/s温度信号的方法。在数据处理方面,结合中值滤波法和平均滤波法,通过对10次数据的存储,去掉最大值和最小值,然后对剩下的值取平均值,便可得到当前实际温度值[2],然后,将其送往LCD控制器进行显示。温度信号采样流程图如图3所示。

温度信号采样,在整个系统中非常重要,关系到整个系统能否正常工作、能否精确控制人体核心温度。所以将温度信号采样这个任务的优先级,设为最高级,即采集温度信号后,才执行系统的其他任务。温度信号采样完毕后,将采集的温度以消息队列的形式,存储起来,并与其他任务实现数据共享。

3.2 PID控制算法的软件实现方法

PID控制算法的实现,是整个控制系统的核心部分,本系统采用单独的任务进行控制。要快速地稳定人体的核心温度,除了保证硬件的控制精度外,更多的是选用一种比较好的控制算法。PID控制算法是连续控制系统中技术成熟、应用最为广泛的控制算法[6]。在本系统中,采用增量式PID算法。首先将传感器采集的温度数值,与设定的核心温度数值进行比较,把比较得到的差值信号,经过一定的规律计算后,得到相应的控制值,并将其送往PID控制器,控制气体温度和流量,进而借助恒温气体与人体表面进行的热能交换,来间接达到稳定人体核心温度的目的。增量式PID的算法如下[7]:

式中,

Kp为比例系数;

T为采样周期;

e(n),e(n-1),e(n-12)分别为当前时刻、前一时刻、再前一时刻的实时采样温度值与设定核心温度值的差值;

Ti为积分时间常数;

Td为微分时间常数。

增量式PID的优点,在于只要保持前3个时刻的差值,输出控制量的初始设定值不必很准确,便可以很快进入稳定状态。

增量式PID算法流程图图4所示。增量式PID控制算法较为简单,能用简单的数学运算算出气体温度的增量控制量。因为PID控制算法是整个系统的核心控制部分,由其得出的控制量,间接影响到气体温度,关系着整个系统的控制精度,所以将其优先级设定为次高级,仅次于温度信号采样。

图3 温度信号采样流程图

图4 增量式PID算法流程图

3.3 控制气体温度的软件实现方法

控制气体温度,是整个系统的执行部分,为了达到实时控制的目的,将控制气体温度任务的优先级,设定在温度信号采样、触摸屏读取和键盘扫描任务之后。首先采集温度信号,然后通过ARM控制单元的PID控制器得到气体温度的控制量,将控制量送入ARM自带的PWM计数器中,从而得到相应的占空比,然后控制晶体管的导通时间,进而改变电加热丝的功率,实现对气体温度的控制。其控制流程图如图5所示。

由于气体具有流动性,对气体温度信号的采集和对电热丝的控制,显得尤为重要。ARM9 S3C2440A处理器自带的A/D是10位的,保证了气温信号采样的精度;在采样后的数据处理方面,结合了中值滤波法和平均滤波法,保证了采样气温信号的准确性;采样的气温信号,经过PID控制器的处理,能快速调整PWM占空比,间接控制电热丝的加热,使控制的气温快速趋于稳定。

3.4 液晶显示及触摸屏的软件实现方法

本系统选用的是带触摸屏的TFT真彩LCD作为显示部件。在Linux操作系统的基础上,设计出友好的显示界面、温度曲线绘制界面、控制界面或控制按钮。

Linux嵌入式操作系统控制平台集成了LCD控制器。LCD控制器的主要功能用于传输、显示数据和产生控制信号。系统每次在执行任务时,都往LCD控制器发生显示所需的数据和命令。液晶在系统的每个运行周期都对液晶进行刷新,通过对触摸屏的扫描,来显示参数或者改变显示的画面。

触摸屏的设计,是该系统人机交互的重要环节。在整个控制系统中,根据用户需要,可以通过触摸屏设置控制温度。ARM采用中断方式,对触摸屏的坐标进行读取。当触摸屏有外力作用时,CPU产生中断,系统便进入坐标读取任务。触摸屏坐标读取的流程图如图6所示[8]。为了保证读取坐标的准确性,系统每获取一次坐标的过程中,实际上分别对X坐标和Y坐标进行10次读取,然后结合中值滤波法和平均滤波法,通过对读取数据的存储,去掉最大值和最小值,剩下的数据取其平均值,便得到当前实际的坐标值。

图5 气温控制流程图

图6 触摸屏坐标读取流程

4 结束语

本文在ARM Linux嵌入式操作系统的基础上,研究了人体表面温度控制系统的软件实现方法。该方法不仅能保证人体表面温度的实时控制,而且方便维护和升级,具有一定的实用意义,特别是在手术及术后康复过程中,通过调节吹拂到人体表面气体的温度及流速,达到稳定人体核心温度的目的。

[1]王海莲,朱水莲,樊彩玲.术中体核温度监测[J].护理研究,2002,16(8):478.

[2]韦文代.基于九点控制器算法的温度控制系统开发[J].微计算机信息,2008,24(7):29-30.

[3]张苗苗.智能型医用充气式保温毯的结构设计及实验[D].桂林:桂林电子科技大学,2010.

[4]袁修干.人体热调节系统的数学模型[M].北京:北京航空航天出版社,2005.

[5]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2009.

[6]严晓照,张兴国.增量式PID控制在温控系统中的应用[J].南通大学学报,2006,5(4):48-51.

[7]姚 刚,苏国璋,杨书艳,等.增量式PID算法在控制滤池恒水位运行中的应用[J].供水技术,2010,4(1):35-37.

[8]李培栋,郭 勇,谢兴红.基于ARM的医用数据采集系统的人机接口设计[J].创特器件应用,2010,12(3):33-35.

猜你喜欢

控制算法触摸屏增量
导弹增量式自适应容错控制系统设计
提质和增量之间的“辩证”
全现款操作,年增量1千万!这家GMP渔药厂为何这么牛?
PLC和触摸屏在卫生间控制系统的应用
“价增量减”型应用题点拨
浅析投射式多点触控电容触摸屏
皮肤“长”出触摸屏
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
基于航迹差和航向差的航迹自动控制算法