|
基于单片机的恒温控制器的设计和实现1 |
|
|
第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.
否一一
|
|
|
|
|
|
|
|
|
|
|