AT89S51单片机的PID温度控制系统设计
基于AT89S51单片机的PID温度控制系统设计
温度控制技术不仅在工业生产有着非常重要的作用,而且在日常生活中也起着至关重要的作用。本文对系统进行硬件和软件的设计,在建立温度控制系统数学模型的基础之上,通过对PID控制的分析设计了系统控制器,完成了系统的软、硬件调试工作。算法简单、可靠性高、鲁棒性好,而且PID控制器参数直接影响控制效果。
该系统利用
AT89S51丰富的外设模块搭建硬件平台。系统的硬件电路包括:模拟部分和数字部分,基本电路由核心处理模块、温度采集模块、键盘显示模块及控制执行模块等组成。
1.2系统工作流程
系统开始工作时,首先由单片机控制软件发出温度读取指令,通过数字温度传感器采集被控对象的当前温度值并送显示屏实时显示。然后,将该温度测量值与设定值T比较,其差值送PID控制器。PID控制器处理后输出一定数值的控制量,经D/A转换为模拟电压量,控制被控对象进行加热。
1.3系统软件设计方法
整个系统软件设计包括管理程序和控制程序两部分,管理程序包括LED显示的动态刷新、控制指示灯、处理键盘的扫描和响应。控制程序包括A/D转换、中值滤波、越限报警处理、PID计算等。
2.系统硬件结构
系统所用直流电源由三端集成稳压器组成的串联型直流稳压电源提供。设计中选用了
LM7805LM7815和LM7915三个三端集成稳压器,提供+5V直流电压,输出电流均为1A.变压器将220V的市电降压后再通过整流桥整流之后采用了大容量的电解电容进行滤波,以减小输出电压纹波。
本控制器采用的是内部振荡方式得到单片机的时钟信号,这种方式得到的时钟信号比较稳定。
2.4可控硅输出电路
可控硅是一种功率半导体器件,简称SCR,也称晶闸管。本部分为控制电加热炉功率的双向可控硅驱动电路,采用MOC3041作为驱动电路。如图4所示。
LED显示方式包括有静态和动态显示两种,动态扫描显示电路是将显示各位的所有相同字段线连在一起,由一个8位I/O口控制,而每一位的公共端由另一个I/O口控制。由于这种连接方式将每位相同字段的字段线连在一起,当输出字段码时,每一位将显示相同的内容。因此,要想显示不同的内容,必须采取轮流显示的方式。
定时程序主要是用于完成查表的占空比控制。总体思想是根据控制表中占空比控制变量U的不同取值,采用不同的定时来改变继电器的通断,根据继电器的特性,要求不能频繁通断,所以通断要有一定长的时间,但又要考虑到控制能够及时的根据新的采集值和设定值的变化来做出相应的动作。
由于PID控制器的输出为系统偏差的比例、微分和积分作用后的线性组合,所以调整各个部分的线性系数就是PID控制器控制性能好坏的关键。必须针对具体被控对象对PID控制器参数进行整定,采取扩充临界比例度法:
(a)选择合适的采样周期T.所谓合适是指周期足够小,一般应选它对象的纯滞后时间的1/IO以下;
(b)仅让控制器作纯比例控制,由小到大逐渐增大比例系数Kp,直至使系统出现临界振荡,记下此时的临界振荡周期Ts和临界振荡增益Ks;
(c)选择合适的控制度。所谓控制度,就是数字控制器和模拟调节器所对应的过渡过程的误差平方的积分之比;
(d)根据控制度查表。