基于AT89S51单片机的温度控制系统设计
陈妙芳,胡晓东
(浙江工业职业技术学院,浙江绍兴312000)
在对各种加热炉、热处理炉、反应炉和锅炉中温度进
行监测和控制中,采用单片机控制不仅具有控制方便、简
单和灵活性大等优点,而且可以大幅度提高被控温度的
技术指标,从而能够大大提高产品的质量和数量。本文主
要对英联公司生产的YL2000型传感器与检测技术实验
台-温度控制系统设计方案进行介绍。该控制系统以MS-
5l单片机为控制核心,采用增量式PID控制算法,实现对
温度的智能控制,测程为0℃~100℃,测量范围±0.2℃。同
时,具有超调量小、温度上升较快、稳定性好等优点。温度
控制箱结合其它控制器件可以完成Cu50温度传感器的
温度特性实验、热电阻Pt100温度特性实验、热电偶测温
实验、温度仪表PID控制实验、外部温度控制实验系统、
计算机温度PID控制实验等系列实验。
1温度控制系统设计方案
温度控制系统是以MS-5l单片机为控制核心,辅以采
样反馈电路、驱动电路、晶
闸管主电路对电炉炉温进
行控制的微机控制系统,
系统所用的加热方式为电
炉加热。温度控制系统采
用单闭环控制形式,其系
统结构框图如图1所示。具体工作过程为:将温度设定值
(即输入控制量)和温度反馈值送入控制电路,然后经过调
节器运算得到输出控制量,输出控制量控制驱动电路得到
控制电压施加到被控对象上,从而控制电加热炉内温度。
2温度控制系统硬件设计
温度控制系统硬件包括:AT89S51单片机最小系统
模块、A/D转换模块、D/A转换模块、晶闸管电路、驱动电
路以及其它外围电路。
2.1单片机选型
本文设计的温度控制系统主要应用于高校的实验课
堂教学,因此,该温度控制系统单片机采用ATMEL公司
生产的低功耗、高性能CMOS8位单片机AT89S51。
AT89S51完全兼容传统8051的指令系统和引脚,是一款
非常适合单片机初学者学习的机型,其网络资源丰富,应
用领域广泛,又与单片机教学课程学习紧密相关,选用该
单片机有利于学生对51系列单片机的进一步学习与灵
活应用。同时AT89S51型单片机具有在线编程功能,不
再需要启动像89C51那样的12V的VPP编程高压。
2.2A/D转换电路设计
温度控制系统
的A/D转换模块采
用ADC0804型8位
全MOSA/D转换
器。ADC0804芯片
内有三态数据输出
锁存器,电平与微处
理器兼容。输入方式为单通道,转换时间约为100μs,转
换时钟信号可以由内部施密特电路和外接RC电路构成
的震荡器产生,也可以直接由外部输入,频率范围为:100~
1460kHz,在本设计中ADC0804的时钟为最大输入频率。
ADC0804非线性误差为±1LSB,电源电压采用单+5V。其
控制信号时序如图2所示。
AD0804由于具有三态输出锁存器,可直接驱动数据
总线,故与AT89S51接口电路十分简单,直接连接成如
图3即可。当/CS与/WR同时有效时便启动A/D转换,延
时,等待转换结束,经DATA口送入单片机,再采集第二
个模拟量进行转换。
摘要:介绍了单片机AT89S51单片机在温度控制上的应用,从软硬件两方面阐述了温度控制系统的设计方案,并对
系统的A/D转换电路与D/A转换电路作了详细的说明,同时对数字增量式PID控制算法以及实现程序作了介绍。
关键词:温度控制系统;单片机;PID控制
中图分类号:TP273文献标识码:A文章编号:1002-2333(2009)01-0136-02
DesignofTemperatureControlSystemBasedonAT89S51Single-chipMicrocomputer
CHENMiao-fang,HUXiao-dong
(ZhejiangIndustryPolytechnicCollege,Shaoxing312000,China)
Abstract:ThispaperintroducestheapplicationofSingle-ChipMicrocomputerintemperaturecontrolsystem.The
designoftemperaturecontrolsystemwasdiscussedfromboththehardwareandsoftware.TheA/Dconversioncircuit
andtheD/Aconversioncircuitweregiven.AtthesametimetheincrementaldigitalPIDcontrolalgorithmand
realizationoftheprogramwereintroduced.
Keywords:temperaturecontrolsystem;microcomputer;PIDcontrolalgorithm
89S51
DAC0832
74LS464AD0804
温控电路
过零信号发生
传感器检测电路
电炉键盘与显示
图1系统结构框图
CS
WR
INTR
RD
DATA
OUT
DATA
100μs
高阻
图2ADC0804控制信号时序图
ACADEMICCOMMUNICATION
学术交流
理论/研发/设计/制造
机械工程师2009年第1期
136
!!!!!!!!!!
AD0804转换器的零点无需调整,而输入电压的范围
可以通过调整V
REF/2
端处的电压加以改变。V
REF/2
端电压应
为输入电压的1/2。例如该系统中输入电压为5V,则在
V
REF/2
端应加上2.5V电压。根据AD0804的外围电路所示
得:V
REF/2
=
2k
2k+2k
v
in
=
1
2
v
in
(1)
由于该系统测量的温度范围是0-100℃,由变送器把
温度信号转换为0-5V的电信号,送入0804,由于0804
是8位模数转换器,即0-5V被线性转换0-255字节变
化,因此其中具体的转换过程为:
每增加1℃,电压变化0.05V:
5V/100℃=0.05V/℃(2)
每变化1V,AD0804数据输出变化51字:
255bit/5V=51bit/V(3)
ADC0804与AT89S51的接口电路如图3所示。
2.3D/A转换电路设计
温度控制系统D/A转换芯片采用DAC0832。DAC0832
芯片是8位分辨率的D/A转换集成芯片,与微处理器完全兼
容,这个系列的芯片以其价格低廉、接口简单、转换控制容易
等优点,在单片机应用系统中得到了广泛的应用。
图4为单片机和DAC0832直通方式输出连接图,运
放输出电路输出电压为U
OUT
=-(D/256)V
REF
。如向
DAC0832传送的8位数据量40H(01000000B),则输出
电压U
OUT
=-(64/256)×5V=-1.25V,其输出过程可用MOV
P0,#40H一条指令完成。
3PID温度控制算法程序
3.1PID温度控制的算法
PID控制算法是温度控制系统软件的核心部分。本
设计采用增量式PID控制算法,其算式如下:
△U
n
=K
p
[(e
n
-e
n-1
)+(T/T
i
)e
n
+(T
d
/T)(e
n-2
e
n-1
+e
n-2
)](2)
式中,e
n
、e
n-1
、e
n-2
分别为第n次、n-1次和n-2次的偏差
值;K
p
、T
i
、T
d
分别为比例系数、积分系数和微分系数;T为
采样周期。
控制模块工作过程为:单片机每隔固定时间T将现场
温度与用户设定目标温度的差值带入增量式PID算法公
式,由公式输出量决定加热器功率大小。根据现场温度与
目标温度的偏差大则电压导通个数多,加热电路的加热功
率大,使温度的实测值与设定值的偏差迅速减少;反之,二
者的偏差小则电压导通个数小,加热电路加热功率减少,
直至目标值与实测
值相等,形成一个闭
环调节系统。
3.2PID温度控制
程序
增量式数字
PID控制算法程序流
程图,如图5所示。
数字赠量式PID
控制子程序如下:
typedefstructPID{
doubleSetPoint;//设定目标DesiredValue
doubleProportion;//比例常数ProportionalConst
doubleIntegral;//积分常数IntegralConst
doubleDerivative;//微分常数DerivativeConst
doubleLastError;//Error[-1]
doublePrevError;//Error[-2]
doubleSumError;//SumsofErrors
}PID;
doublePIDCalc(structPIDpp,doubleNextPoint)
{
doubledError,Error;
Error=pp->SetPoint-NextPoint;//偏差
pp->SumError+=Error;//积分
dError=pp->SumError-2pp->LastError+pp->PrevError;
//当前微分
pp->PrevError=pp->LastError;
pp->LastError=Error;
return(pp->ProportionError//比例项
+pp->Integralpp->SumError//积分项
+pp->DerivativedError//微分项
);
}
4结论
本文设计的温度控制系统具有成本低、控制可靠等
优点。经过实验验证该温度控制系统达到了预期的设计
要求。同时,该控制系统作为一个嵌入式温度控制系统也
适合其它的小型温度控制场合。
[参考文献]
[1]胡伟,季晓衡.单片机C程序设计及应用实例[M].北京:人民邮
电出版社,2003.
[2]潘新民,王燕芳.微型计算机控制技术[M].北京:电子工业出版
社,2006.(编辑明涛)
作者简介:陈妙芳(1982-),女,助理讲师,研究方向为机电一体化。
收稿日期:2008-10-28
P0
1
1
2
3
4
5
6
7
8
DATA
7
6
5
4
16
15
14
13
1
17
DA-VCC
2
0
VCCJ29
J5
2
1sbD10
D11
D12
D13
D14
D15
D16
msbD17
CS
Xfer
IC4DAC0832
V
c
c
Iout1
Iout2
Rfb
Vref
ILE
WR2
WR1
11
12
9
8
19
18
2
C11
100μF
+C19
104
R79
2k
R80
2k
J10
O1
1
2
A-OUT
图4单片机和DAC0832直通方式输出连接图
被
控
对
象
A/D
D/A
y
△u
y(k)
△u(k)
程序初始化
从A/D取数据y(k)
求e(k)=e(k)-y(k)
计算控制增量
△u(k)=q0e(k)+qe(k-1)+q2e(k-2)
将控制增量输出给D/A
为下一时刻做准备
否采样
时间到?
图5增量式PID控制算法的流程图
ADC-IN
J5
1
2
R3
2k
R2
2k
R4
2k
R43
10k
C26
200
+C17
104
7
6
8
9
19
4
ADC0804
2
0
VCCJ30
1
2
AD-VCC
接AT89S51
P3口
J11
1
2
3
4
5
6
7
8
DATA
P1.6
P1.7
J12
1
2
ADC-C
17
16
15
14
13
12
11
18
5
1
2
3
Vin(-)
IC5
Vin(+)
A-GND
Vref/2
CLK-R
CLK-IN
1sbDB0
DB1
DB2
DB3
DB4
DB5
DB6
msbDB7
INTR
CS
RD
WR
V
c
c
R
E
F
图3ADC0804与AT89S51的接口电路
C9
100μF
137
机械工程师2009年第1期
学术交流
理论/研发/设计/制造
ACADEMICCOMMUNICATION
|
|