基于51单片机的PID温度控制系统设计Word文档下载推荐.docx
《基于51单片机的PID温度控制系统设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于51单片机的PID温度控制系统设计Word文档下载推荐.docx(15页珍藏版)》请在冰点文库上搜索。
近几年来快速发展了多种先进的温度控制方式,如:
直接数字控制(DDC),推断控制,预测控制,模糊控制(Fuzzy),专家控制(ExpertControl),鲁棒控制(RobustControl),推理控制等,PID控制,,神经网络及遗传算法控制等[1]。
这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。
仿真技术的优良特性和巨大效益,可能将成为今后人们特别重视和大力发展的综合技术。
仿真系统将应用于人类生产实践的全过程,这样可以避免决策失误,可以预测可能发生的问题,达到避免故障、安全控制的目的。
有关专家预言,在2l世纪,仿真技术的发展必将对经济、社会以及人们的观念产生巨大影响。
MATLAB具有以下几个特点:
1.功能强大的数值运算功能2.强大的图形处理能力3.高级但简单的程序环境4.是一种丰富的工具箱。
单片微型计算机的功能不断的增强,为先进的控制算法提供的载体,许多高性能的新型机种应运而生。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化领域和其他测控领域中广泛应用的器件,在工业生产中成为必不可少的器件。
在温度控制系统中,单片机更是起到了不可替代的核心作用。
像用于热处理的加热炉、用于融化金属的坩锅电阻炉等类似工业用加热炉中都可以广泛应用,随着生产的发展,在工业中,一些设备对温度的控制要求越来越高。
在温度控制技术在温度控制当中,PID控制技术应用相对来说比较广泛,PID控制器算法简单,计算量小,恒温效果稳定。
本文则以单片机(C51)为核心、PID算法为控制方式、MATLAB仿真、串口通讯而设计的温度控制系统。
二、本控制系统的综述
此次课程设计的温度控制系统,以单片机AT89C51为控制核心。
主要内容是通过Pt100温度传感器,将水壶的温度值转化成电阻值。
再通过自设计的温度变送器进行放大输出电压量,由AD模块(ADC0809芯片)将电压信号采集进单片机。
与我们系统的给定值rk进行比较得到误差量ek,采用PID控制算法得到控制量。
将控制量经DA模块(DAC0832芯片)产生电压信号驱动功率模块实现对水壶的温度控制。
此次课程设计采用的控制算法采用的是Bang-BangPID算法,当温度低于设定范围以下,可以使温度较低时能够快速的升温。
水壶的温度控制也可采用模糊控制算法等智能控制算法,并且温度系统存在较大的滞后,也可以增加Smith预估算法。
本次课程设计的目的在于,在对水壶温度控制系统的设计中,了解温度控制系统基本的控制方案。
将理论应用与实际,对过程控制技术、自动控制技术的应用得到一定的提升。
三、温度控制系统硬件设计
4.1、温度变送器模块
Pt100的电阻受温度的变化而变化,其计算公式:
Rt=R0(1+aT)=100(1+0.00392T),其中T为温度,Rt的单位为欧姆,Rt与温度呈有一个零点的线性关系。
在变送器模块设计中为了将温度的变化转化成电压的变化,需设计一个恒流电路,使电阻的变化转化成电压的变化。
根据公式:
Vt=Rt×
Is=100×
Is+0.392T×
Is,故需要设计一个恒压抬高电路,抵消100×
Is,使温度与电压呈线性关系。
最后,由于Pt100的电路产生的电压变化比较小,所以还需要设计放大电路。
图2温度变送器原理图
由图2可知:
(1)系统前级电路由三极管、二极管和稳压管组成的电路产生恒定的电流Is,使Vi随温度的变化而变化;
(2)Vi为铂电阻的转换电压,U1和U2组成二级放大器,Vi1为一级放大电压,V11抬高电压,Vo为最终输出电压(0~10V),Vo1输出0~5V;
(3)U3是射极跟随器,产生稳定的抬高电压V11。
图3温度变送器实物图
温度变送器设计完成后,对各电位器进行调节,使得传感器输入为0~100℃,输出为0~5V。
对水壶的水温进行测量,将得到的温度及对应的电压值用Excel进行绘图并拟合。
温度(℃)
12
20
30
40
50
60
70
80
90
100
电压(V)
1.09
1.74
2.23
2.83
3.42
3.83
4.26
4.75
5.14
5.38
表1温度与采集电压数据表
图4温度与采集电压曲线图
拟合公式为:
y=0.0488x+0.7746
(1)
其中y表示水温,x表示输出电压。
经过调试后,基本上能够满足线性要求。
4.2、功率可调模块
功率可调模块选用EUV-10A-
,该模块采用单片机设计,可实现软启动、软停车功能,广泛应用于交直流电机调速,单相220VAC、380VAC变压器初级原边调压、电磁铁振动、调光、焊机、电镀等功率调节场合。
技术参数
●工作电压220VAC、380VAC
●有效值电流10A
●偏置电压Vb12VDC
●偏置电流≤30mADCmax
●输入控制信号1-5VDC或4-20mA或10k电位器
●输出电压变化范围0-220VDC、0-380VAC
●引出端与底板间、输入与输出电路间介质耐压2500VACmin/50Hz
功率调控模块EUV-10A-
的接线方式如下图2所示。
左图为触发电路的接线图,右图为交流电的输入和输出的连接图。
图5功率模块的接法
4.3、被控对象
本设计使用电热水壶为被控对象,该对象具有大滞后、非线性、时变性等特点,通过单闭环控制方式,实现对水壶温度的恒温控制。
若想使系统控制更加完善可加入Smith预估等控制算法,在此不作介绍。
4.4、单片机实验系统
单片机系统采用STARES598PIC实验箱以及星研集成开发软件。
包括A/D、D/A、串口通信等一系列模块。
图6系统连接实物图
四、控制器设计
5.1、PID控制器的设计
PID控制器广泛的应用于各种工业控制。
其主要的优点在于:
原理简单,使用方便;
适应性强;
鲁棒性好;
对模型依赖少。
它是将给定值与实际输入值进行偏差计算得到e(t),然后进行比例、积分、微分计算,通过线性组合构成控制器,实现对被控对象的控制。
对于增量型的PID控制规律为:
Uk=kp*ek+ki*∑ek+kd*(ek-ek-1)
(2)
Uk为PID控制的输出信号
5.2、PID控制器流程图
对PID的三个比例系数赋初始值,然后将采集的信号与给定值进行比较,得到偏差量,代入控制规律
(2)式,求得控制信号。
图8Bang-BangPID算法流程图
算法流程详解:
ek、ek-1、ei初始值都为0,当A/D转化的数值与给定的80的偏差大于10时,uk=255,控制电压为5V,即最大电压进行加热。
当温度介于70和80之间时,进入Bang-BangPID控制。
由于算法计算出来的控制量可能大于D/A转化的范围,所以当uk>
255时,令其输出为255.;
uk<
0时,输出为0。
5.3、PID参数整定
本设计通过仿真图的温度控制效果进行PID各参数的调节,以使得控制系统的调节时间、超调量以及抗干扰能力达到比较良好的效果。
还可以采用临界比例度法、衰减曲线法等。
五、PID参数的整定
将两台PC机进行通信,并进行MATLAB对控制曲线进行仿真。
以下是对PID各参数进行调节得到的响应曲线。
只对放大系数KP进行调节
Kp=10Ki=0.1Kd=0Kp=20Ki=0.1Kd=0
Kp=30Ki=0.1Kd=0
如上图所示,在只调节比例参数的情况下,系统均有不同程度的超调,随着Kp的增加系统的上升时间逐渐缩短。
随着比例Kp的变大,系统的稳定性也变差,稳态误差也随之增大,总体控制精度不高。
所以只控制系统的Kp是不够的,故进一步对积分Ki进行整定。
只对积分系数Ki进行调节
Kp=30Ki=0.2Kd=0Kp=30Ki=0.05Kd=0
如上图所示,选取使系统超调较小较之稳定的Kp,在比例Kp不变的情况下,积分可以消除或者减小系统的稳态误差。
但过大的积分作用使得系统的稳定性有所下降,抗干扰能力下降并使得系统的动态响应变慢了,所以积分Ki不是越大越好。
Kp=50Ki=0.2Kd=0
如上图所示,系统在干扰作用下能够较为迅速进行自我调节并逐步恢复到稳定状态,说明系统具有较强的自我调节能力和抗干扰能力。
系统PID参数总体分析:
从上述图形我们可以清楚的看到,加入比例可以使得系统加快调节,减小误差,但是过大的比例使得系统稳定性下降。
加入积分使得系统能够较小甚至消除稳态误差,但是过强的积分作用会使得系统稳定性下降,动态响应变慢。
由于没有微分调节所以不做微分对系统作用的概述。
六、结论与心得
本次为期2周的课程设计,让我们从中受益匪浅,通过它我们对控制系统及PID控制以及PID参数整定方法在工程应用中的设计和分析有了进一步的认识把握。
在本次课程设计当中,从下发任务书起,我们小组团结一致,分工合作。
具体流程如下1.选用C51软件平台设计A/D,D/A转换电路。
2.制作并调试温度变送器电路板。
3.设计PID控制器,对PID参数进行整定以及MATLAB实现温度—电压数据的采集和仿真。
4.整理实验数据,写报告和总结。
5.小组汇报和质疑。
期间,不乏遇到各种问题,比如,温度变送器电路板上的元件,当用万用测的参数与要求不符合,或者电路短路和断路,这都需要我们细心的排查。
然后在参数整定方面,根据自动控制原理,需要通过编程的方法,对比例,积分,微分进行反复的选择,尝试,和矫正,再加扰动观测系统的稳定性变化,最终选择一个相对合理的PID控制参数,以完成预定的目标。
总之,通过动手亲自操作这个设计,提升了我们的能力,巩固了对专业知识的掌握,对PID控制的用用和参数整定有了深刻的体会和相对全面的认识。
当然还要感谢期间还有老师的其他小组的指点和帮助。
参考文献
[1]周正林.基于单片机的电炉温度控制系统设计[J].信息技术,2005:
115
附录1:
系统设计元件清单
12V开关电源1个电热水杯1个
功率模块1个Pt100一个
电源插座1个万能板1块
小螺钉4套烙铁1把
焊锡若干电源线1根
万用表1个小螺丝刀1把
温度计1个黑色绝缘胶1卷
串口线1根剥线钳1把
插座和插头:
三芯1个(+12V、VCC、-12V)、两芯2个(A/D和地、Pt100)
二极管:
CR1(LN4148)1个、CR2(稳压管6.2V)1个、CR3(稳压管9.2V)1个、三极管:
1个
运放:
7413个、芯片插座芯(运放)3个
电阻:
R1(47K)、R2(2K)、R3(电位器1K)、R4(10K)、R5(10K)、R6(100K)、R7(10K)、R8(100K)、R9(10K)、R10(100K)、R11(100K)、R12(2.2K)、R13(电位器1K)、R14(3.32K)、R15(10K)
附录2:
课程设计程序
(1)调试程序及其结论如下
AD、DA转换调试程序:
#include<
reg51.h>
#defineucharunsignedchar
ucharxdata*ad;
uchardataadtab;
ucharj=0;
main()
{ad=0x0f000;
while
(1)
{
*ad=0;
for(j=0;
j<
=100;
j++);
adtab=*ad;
P1=adtab;
return0;
}
结论:
5V时候LED灯全亮,0V的时候LED灯全灭
(2)发送机程序:
(3)接收机程序: