配色: 字号:
基于单片机的恒温控制器的设计和实现1
2012-05-04 | 阅:  转:  |  分享 
  
第l8卷第l2期

2008年l2月

计算机技术与发展Vo1

.18N。.12

COMPUTERTECHNOLOGYANDDEVELOPMENTDec.2008

基于单片机的恒温控制器的设计和实现

李善寿一,方潜生一,肖本贤2,汪小龙,

(1.安徽建~x-,_tk学院电子与信.gcr_~g学院,安徽合肥230022;

2.合肥工业大学电气与自动4~_r-程学院,安徽合肥230009;

3.安徽省智能建筑重点实验室,安徽合肥230022)

摘要:为了实现微生物分析仪中的恒温控制,从而实现检测样品在恒温环境内的检测,介绍了基于PID算法和PWM(脉

冲宽度调制)技术的嵌入式恒温控制器的设计和实现方法。该系统采用新型单片机P89V51RD2作为系统控制器,采用基

于单总线协议的DSI8B20温度传感器作为检测元件,简化了系统的接口电路。该系统在微生物分析仪中的应用结果证明

了系统设计方法的有效性。

关键词:恒温控制;PID算法;PWM;单总线协议

中图分类号:T302.1文献标识码:A文章编号:1673—629x(2008)12—0197—03

DesignandImplementationofConstantTemperature

ControllerBasedonSinglechip

LIShan-shou,一,FANGQian—shenga一,XIAOBen-xianz,WANGXiao-long,。

(1.Coil.ofElectronics&InformationEng.,AnhuiInstituteofArchitecture&Industry,Hefei230022,China;

2.Sch.ofElectricEng.andAutomation,HefeiUniversityofTechnology,Hefei230009,China;

3.KeyLaboratoryofIntelligentBuildinginAnhuiProvince,Hefei230022,CNna)

Abstract:InordertoimplementthecontrolofconstanttemperatureininstrurnentofMicmbe,andtheexaminationofthesampleCanbe

pedo~init.thedesignandimplementationofembeddedcontrollerwhichbasedonthealgorithmofPmandthetechnologyofPWM

WaSintroduced.Inthesystem,themicro—controllerofP89V51RD2WaSused,andthetemperaturesensorofDS18B20whichisbased

onthesingle—busprotocolWaSusedaSthesensingpart.whichsimplifiedtheinterfacecircuitinthesystem.Theresultoftheapplication

ininstrumentofMicrobeindieatedthevalidityofthedesignandimplementationofembeddedconstanttemperaturecontroller.

Keywords:constanttemperaturecontrol;al~fithmofPID;pulse——widthmodulation;single——busprotocol

0引言

众多医疗仪器在检测过程中,常要求在恒温状态

下工作,因此需要进行精密的温度控制。为实现仪器

的智能化,~般在医疗仪器都嵌有微处理器。在温度

控制过程中,一般采用温度传感器作为检测元件,然后

经过A/D转换实现温度的数字检测和控制。采用一

个适当的温度传感器作为检测元件,可以简化系统的

软硬件设计,美国DALLAS公司生产的数字式温度传

感器DS18B20作为检测元件,可以直接将温度值转换

成数字量,不需要外加A/D转换电路,与微控制器的

收稿日期:2008—03—17

基金项目:建设部重点计划项目(06一K9—61)

作者简介:李善寿(1979一),男,安徽金寨人,讲师,研究方向为嵌入

式系统;方潜生,教授,研究方向为智能建筑、计算机应用技术;肖本

贤,教授,研究方向为运动控制技术、嵌入式系统。

接口电路比较简单,在温度检测方面有着广泛的应

用[1,2l。

在本课题研究的微生物分析仪中,要求试样的温

度恒定保持在35~50℃之间,且精度要达到±0.5℃,

因此这里只需考虑加热控制而不考虑其制冷。在恒温

控制方面运用基于单总线多点循环技术进行温度采

样,并设计了软件实现的PID控制器,最终采用脉冲

宽度调制(PWM)技术控制加热器实现加热控制。另

外也可通过仪器控制面板实现温度的设定与显示。

1系统硬件设计

1.1系统工作原理

系统启动之后,根据预定的温度值,单片机首先控

制加热器以最大功率工作,以最短时间升至预定温度,

从而保证系统的动态性能。温度测量电路将采集到的

·l98·计算机技术与发展第l8卷

信号送入单片机,单片机通过串口再将温度值传到上

位机实时显示,并与所设置的温度期望值比较后产生

偏差信号,进而通过PID控制算法由偏差信号计算出

相应的PWM控制量,再由控制电路输出给执行元件,

控制温度的变化(见图1)。

P8gV51

图1系统结构图

1.2DS18B20简介

DS18B20[3J将传感器和数字转换电路都集成在一

起,利用在板专利技术来测量温度。测温范围:一55~

+125℃,在一10--+85℃时精度为±0.5℃,在转换结

果为12位(缺省值)时最大转换时间为750ms,可编程

的分辨率为9~12位,最小可分辨温度0.0625℃。每

个DS18B20都具有唯一的64位序列(ROM)号,采用

Dallas独有的单总线协议,CPU只需一根端口线就能

与诸多DS18B20进行通信,且只需简单的通信协议就

能加以识别,这样就节省了大量的引线和逻辑电路。

同时DS18B20具有多种封装形式,可以在多种环境下

应用。

本系统中,考虑到DS18B20本身的温度转换误

差,为保证温度控制效果,采用了单总线多点循环技术

对多个温度传感器进行温度的采集,然后进行平均以

将温度采集的误差降低到最小。

1.3单片机P89V51及PVVM实现

P89V51RD2_4J是一款80C51微控制器,包含64kB

Flash和1024字节的数据RAM,具有ISP(在系统编

程)和IAP(在应用中编程)功能,还具有3个16位定

时器斛数器,PWM和捕获/I:L较功能的PCA(可编程

计数器阵列),SPI(串行外围接口)和UART等功能。

P89、1RD2中PWM实现的主要功能模块有:

(1)(P~PCA模块比较脯获寄存器

(CCAPM0~CCAPM4,其地址为:0xDAH~0xDEH),

PCA的每个模块都对应一个特殊功能寄存器。它们

分别是:模块0对应CCAPM0,模块1对应CCAPM1,

依此类推。特殊功能寄存器包含了相应模块的工作模

式控制位,如表1所示(不可位寻址,复位值:0x00H)。

表1CCAPMn—PCA模块比较/捕获寄存器位分配表

位76543l210

符号D0MnC)P13CAPN13MATnl"[''OGrtPV,MnEC=cFn

当ECOMn=1时,使能比较器功能;当PWMn:1

时,使能CEXn脚(P1.3~P1.7)用作脉宽调节输出。

(2)每个PCA模块还对应另外两个寄存器,

CCAPnH(CCAPOH~CCAP4H,其地址为:0xFAH~

0xFEH)和CCAPnL(CCAI~L~CCAP4L,其地址为:

0xEAH~0xFEH)。当出现捕获或比较时,它们用来保

存16位的计数值。当PCA模块用在PWM模式中时,

它们用来控制输出的占空比。

(3)所有PCA模块都可用作PWM输出。输出频

率取决于PCA计数器的时钟源。由于所有模块共用

仅有的PCA定时器,所有它们的输出频率相同。

各个模块的输出占空比是独立变化的,与使用的

捕获寄存器CCAPnL有关。当PCA计数器低字节CL

(地址为0xE9H)的值小于CCAPnL时,输出为低,当

CL的值等于或大于CCAPnL时,输出为高。当CL的

值由FF变为o0溢出时,CCAPnH的内容装载到

CCAPnI中。这样就可实现无干扰地更新PWM。要

使能PWM模式,模块CCAPMn寄存器的PWM和E

COM位必须置位。

2系统软件设计

2.1系统主程序流程

本系统是新型微生物分析仪的一部分,为了和其

他部分融合实现恒温培养、细菌检测一体化,其实时温

度显示、温度控制的设定以及控制指令的发送都在上

位机软件中实现。考虑到温度对象的时滞以及

DS18B20的转换时间,上位机中温度采样周期取1s,

其流程图如图2、图3所示。

图2主程序流程图3温控子程序

2.2数据采集

2.2.1DS18]320与单片机之间的通讯

每一次访问DS18B20时必须遵循如下的顺序:第

第12期李善寿等:基于单片机的恒温控制器的设计和实现·l99·

一步:初始化;第二步:发送ROM命令;第三步:发送

功能命令。

初始化包括主机发出复位脉冲(通过将总线拉低

至少480来实现),随即主机等待DS18B20发回的存

在脉冲,DS18B20则从检测到复位脉冲的上升沿开始

等待1660Vs后,通过将单总线拉低60~24O实现

存在脉冲的发送。初始化完成后即可发送ROM命

令,包括搜索ROM命令(FDH),读ROM命令(33H),

匹配ROM命令(55H)等共5条指令,随后发送功能命

令,包括温度变换命令(44H),写暂存器命令(BEH)等

共6条指令,命令的传送是通过写时序实现,它们有严

格的时隙概念E1-3]。

2.2.2多个DS18B20的处理

对单总线中多个DS18B20的识别是通过其唯一

ROM号来匹配。但其内部通过二叉树的搜索算法来

获得单总线上各个DS18B20的ROM号,如果每次匹

配器件前都进行这样的搜索,不仅占用CPU处理时

间,而且没有必要。本系统中,先通过搜索算法获得各

个DS18B20的ROM号,以全局静态数组的形式存储

在ROM中,这样对某个DS18B20操作,只需发送该

DS18B20的ROM号进行匹配即可。

2.2.3温度采集

温度采集的子程序流程如图4所示。

开始



初始化

发SKIPR0M命令

发温度转换命令

发读温度命令

发匹配R0M命令

读取器件i的温度

值保存到内存

读完所有器件?

\/

是J

.................l:.......一

将所得温度值作

平均得当前温度



图4温度采集子程序

2.3PID算法与PWM控制

2.3.1PID算法与PWM控制的原理

本系统设计了一套完全由软件实现的PID算

法_5l6J。PID调节的控制过程:单片机读出数字形式的

实际温度L,然后和设定温度相比较,得出差值

=—

,,调用PID公式(1),计算得到输出的占空

比,根据该值改变PCA计数器的基数CCAPOL的值(本

系统选P1.3/CEXO脚,作PWM的输出)来更新PWM

脉宽E7,8],低电平关断加热器,高电平导通加热器,调

节温度的升降。

u,:K[(e一P一1)+(T/)e,,+(/T)(e

一2P,r1+en_2)j(1)

其中ee一l,e一2分别为第,z次、一1次和”一2次

的偏差值,K,t,分别为比例系数、积分系数、微

分系数,了、为采样周期。

2.3.2PID参数的调整

先对加热器的模型进行辨识,设控制度为1.05,

通过扩充响应曲线法确定数字PID的参数[,。因为加

热器的功率是有限的,而且温度对象具有时滞的特点。

为能达到快速恒温,且恒温波动小的控制效果,可以设

定一个误差值etmx,当误差大于e一时,一直加热,即

使CCAPOL=255,PWM输出恒为高电平;当误差小于

一时,才采用数字PID控制。

3结束语

文中就恒温控制在医疗器械中应用展开研究,并

在合肥恒星科技开发有限公司生产的"I-IX一21A细菌

分析仪”第二代改进产品中加以应用,可使该系统在恒

温控制方面能够相对同类产品较快地达到恒温态。在

25℃的环境下,从开机到系统默认恒温指标的35℃,

仅需两分钟左右,且恒温段温度波动在±0.5℃的范围

内,控制效果良好。

参考文献:

[1]农静,郑宗亚,刘志杰.单总线数字温度传感器DS18B20

原理及应甩[J].贵州师范大学学报:自然科学版,2007,25

(3):119—122.

[2]刘俊伏,宗云.DS18B20与单片机的接口及编程技术

[J].河北工业科技,2007,24(4):227—229.

[3]DallasSczniconductor.DS18t320ProgrammableResolution

[M].[s.1.]:[s.13..],2001.

[4]PhilipsSemiconductor.P89V51RD2Productdata[M].[s.

1.]:[s.n.],2004.

[5]ZieglerJG,NicholsNB.Opt~numsettingsforautomatic

controller[J].Tram.SME,1942,65:433—444.

[6]何克忠,李伟.计算机控制系统[M].北京:清华大学出

版社,1998.

[7]高春甫,艾学忠.微机测控技术[M].北京:科学出版社,

2005.

[8]米根锁.在8031单片机应用系统中实现PWM的方法

[J].电气传动自动化,2006,28(5):52—53.

[9]罗冰洋.PID控制器参数自整定方法比较[J].微机发展

(现名:计算机技术与发展),2005,15(9):99—101.

否一一

献花(0)
+1
(本文系朽木轩首藏)