基于uCOS-II的PID温度控制系统

2011-10-18 06:22何良斌
大众科技 2011年5期
关键词:加热棒框图实时性

何良斌 王 健

(杭州电子科技大学电子信息学院,浙江 杭州 310018)

基于uCOS-II的PID温度控制系统

何良斌 王 健

(杭州电子科技大学电子信息学院,浙江 杭州 310018)

文章提出了一种基于实时操作系统uCOS-II的PID温度控制系统的实现方案。该方案以飞思卡尔16位单片机MC9S12XDG128为硬件平台,结合uCOS-II的实时性、可靠性以及PID控制的非线性、时变性等优点,通过实验成功的实现了对温度的精确控制。系统具有成本低、可移植性强、可靠性好、易扩展等优点,可以适用一般的温度控制场合。

实时操作系统;PID控制;温度控制

(一)引言

近年来,像化工、冶金、粮食储存、酒类生产、电子设备等领域,温度常常是表征对象和过程状态的重要参数之一,因此,温度控制系统具有广泛的应用前景和实际意义。采用微控制器对系统进行控制具有控制方便、简单、灵活性大等特点,然而采用传统的前后系统当大部分算法和逻辑运算都集中在微控制器时,程序的规模将变得很大,在系统功能较复杂,尤其是系统中的并发模块较多的情况下,就很难保证测量和控制的实时性;另外,像温度这样一个具有非线性、大滞后、大惯性、时变性、升温单向性等特点的控制对象,很难用数学方法建立精确地数学模型,用传统的控制理论和方法很难达到好的控制效果。因此,本文设计了一种基于实时操作系统uCOS-II的PID温度控制系统,采用飞思卡尔的16位单片机MC9S12XDG128为微控制器,能够满足实时性好、精确度高、稳定性好等要求的温度控制场合。

(二)系统设计

整个系统由三部分组成:硬件层、操作系统层和应用软件层。MCU通过采样电路实时采集温度等现场数据,并进行数据处理和运算,得到输出控制信号,输出适当宽度的 PWM脉冲信号,经驱动放大后,实时控制加热棒。整个系统的运行如信号采集、输出脉冲、温度报警、与上位机通信等都由操作系统调度,它是整个系统中上层控制和下层硬件系统的连接纽带。

(三)硬件设计

硬件电路框图如图1所示。控制核心为MC9S12XDG128,该MCU具有丰富的片内资源:128KB的Flash,8路10位ADC,3个CAN协议控制器,8个可编程PWM通道,2个串行异步通信接口,2个同步串行外设接口SPI,一个I2C总线接口等,正因为有这么丰富的资源从而可以很容易进行功能扩展。同时,它具有很强的逻辑控制功能,完全可以取代信号处理和逻辑运算等硬件电路,这样一方面大大减少了外部硬件电路受干扰的可能,提高抗干扰性,另一方面只需改变程序就能改变算法,提高了控制能力。

系统控制的好坏关键在AD的转换精度,本文采用具有高精度、低噪声的24位模数转换器AD7190。MCU通过同步串行口SPI与AD7190通信,将转换的数字化电压值传入微控制器,进行后续计算得到相应的温度值。重要的是AD7190具有零延迟的特性,可以很好的实现实时性。

在温度检测装置中采用铂热电阻Pt100,它具有其他任何温度传感器无法比拟的优势,包括高精度、稳定性好、抗干扰能力强等,因而被广泛用于中温(-200~650℃)范围的温度测量中。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性校正。本文采用微处理器数字化校正,将Pt电阻的电阻值和温度对应起来后存入EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值。

整个硬件工作流程如下:首先将 Pt100采到的对应电压值,经过AD转换后,将数字量传给MCU,MCU根据数字量查表得到相应的温度值,PID控制器根据温度值与目标值之间的关系得到相应 PWM的输出占空比,控制加热棒,达到控制温度目的,并在8位LED上显示目标温度和实际温度,当实际温度达到报警温度时,就会产生报警以便人工及时处理情况。其中可以通过键盘或者PC设置目标温度值和报警温度值,还可以通过通信接口与PC机或其他系统进行通信。

图1 硬件电路框图

(四)软件设计

1.uCOS-II实时操作系统

传统以单片机为核心的测控系统,其程序一般采用前后台的方式编写。后台运行一个大的无限循环,循环中调用相应的函数完成相应的操作;前台为多个中断,处理异步事件。这种传统的单片机开发工作中经常遇到程序跑飞或是陷入死循环,前者可以用看门狗解决,但对于死循环,尤其是其中牵扯到复杂数学计算的话,只有设置断点,耗费大量时间来慢慢分析。也因为无法确定发生中断时程序到底执行到了什么地方,从而无法判断要经过多长时间数据处理程序才会执行,中断响应时间无法确定,使得系统的实时性不强。

uCOS-II是由Labrosse先生编写的一个源码公开、可移植、可固化、可裁剪、占先式实时多任务操作系统。虽然uCOS-II会占据一定的空间,但目前的单片机空间已经足够,而且其利远大于弊。基于 uCOS-II的应用程序编写就变得比较简单,将系统功能划分为一个个任务,每个任务相对独立,可以定义多达64个任务,足够一般系统使用。任务之间以及任务与中断服务程序之间可以调用信号量、消息邮箱、消息队列、延时等系统服务来实现彼此通信和同步。这一切有操作系统统一调度,分配资源,协调各个任务的运行。当某一个任务出现问题也不会导致整个系统瘫痪,从而提高了系统的可靠性。同时,使系统更加容易更新以及扩展新的功能,提高了系统的开放性和开发效率。

2.PID控制算法

在工程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制,简称PID控制器,亦称PID调节器。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。它就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的,三个校正环节的作用各不相同。目前有三种应用比较广泛的 PID控制算法,分别是增量式算法、位置式算法、微分先行。模拟 PID控制器的原理框图如图2所示,其中r(t)为系统给定值,c(t)为实际输出,u(t)为控制量。其控制表达式如下:

式中e(t)=r(t)-c(t)为系统偏差,Kp为比例系数,Ti为积分时间常数,Td为微分时间常数。

图2 模拟控制器原理框图

计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算空置量,所以在数字系统中 PID算法只能数值逼近的方法实现,用求和代替积分,用差分代替微分,得到数字PID控制器的控制表示式如下:

式中e(k)=r(k)-c(k),Ki=Kp*T/Ti,Kd=Kp*Td/T,其中T为控制周期。从而可以推出增量式PID的控制表达式为:

u(k) =u(k− 1 )+ Δu(k),这两个式子就为本系统所采用的增量式PID控制器的数学模型。

确定好PID控制的结构以后,需要进行PID控制器的参数整定,PID参数整定有多种方法,本文采用的是临界比例法。首先,预选择一个足够短的采样周期;其次,仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下比例放大系数Kr和临界振荡周期Tr;最后,在一定的控制度下通过公式计算得到 PID控制器的参数:Kp=0.63*Kr,Ti=0.49*Tr,Td=0.14*Tr。

3.软件实现

系统的软件结构框图如图3所示。uCOS-II实时操作系统负责协调和调度各个任务。总使能任务负责其他任务的工作与否,采集任务负责采集温度值,控制任务负责控制加热棒,显示任务负责显示温度值,键盘任务负责设置目标温度值,通信任务负责与PC之间的通信。

图3 软件结构框图

(1)总使能任务

控制其他任务的工作与否,这样既便于扩展功能,也利于对系统裁剪、可移植性好。

(2)采集任务

该任务主要用于采集温度值。首先查看总使能是否有效,若有效则通过SPI接口读取AD7190的数据,然后将数据转化为温度值,进行平均滤波,最后将数据放入消息队列,供控制任务使用,其任务流程图如图4所示。

(3)控制任务

该任务是系统的核心,主要控制加热棒。查看总使能是否有效,若有效则从消息队列中取出数据,对数据进行 PID计算得到PWM占空比,输出PWM波,从而控制加热棒。其任务流程图如图5所示。

图4 采集任务流程图

图5 控制任务流程图

(4)通信任务

该任务一方面向PC机实时发送各类数据,包括温度值、PWM占空比、目标值等;另一方面PC机可以向系统发送各类命令,包括设置目标值、启动还是停止等,从而达到控制的作用,使整个系统更加人性化。而其中的 CAN通信可以使系统与其他系统进行通信。

4.实验结果与结论

该系统在色谱分析仪上已成功实现温度控制,其温度控制范围50~250℃,图6、7是其中二个实验结果曲线图。图6为被外界干扰下使温度失衡,但系统通过PID调控制很快将温度控制在100℃±0.2℃,并符合系统的精度要求。图7为正常升温过程,当达到目标温度时会过冲,但通过 PID控制很快就将温度控制在180℃±0.2℃。

图6 100℃温控实验曲线

图7 180℃温控实验曲线图

从实验结果可以看出,本文基于uCOS-II的PID温度控制,结合uCOS-II和PID各自的优点,达到了很好的控制效果。另外,该系统具有实时性好、系统稳定、易移植、易扩展等优点,从而可以应用在各个中温控制场合,具有广泛的应用前景。

[1] Jean J.Labrosse著.嵌入式实时操作系统uC/OS-II(2版)[M].邵贝贝译.北京:航空航天大学出版社,2003(5): 34-316.

[2] 王宜怀,刘晓升.嵌入式系统—使用 HC12微控制器的设计与应用[M].北京:航空航天大学出版社,2008(3).

[3] 周立功.ARM与嵌入式系统基础教程[M].广州周立功单片机发展公司,2004.

[4] 马忠梅.单片机的 C语言应用程序设计[M].北京:北京航空航天大学出版社,1999.

[5] Robert Richards.Designing RTOS for Embedded Microcontrollers,Embedded systems Programming[M].May 1997.

TP302

A

1008-1151(2011)05-0037-02

2011-02-17

何良斌(1987-),男,浙江丽水人,杭州电子科技大学电子信息学院在读研究生,研究方向嵌入式系统。

猜你喜欢
加热棒框图实时性
压缩机组油箱故障原因分析及改进方案
高温润滑系统的改进设计
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
热水器的镁棒常换可省电
电路图2017年凯迪拉克XT5
算法框图的补全
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
储油罐维温技术的改进
基于图表法构建《万有引力定律与航天》知识网络