DIY编程器网

标题: 基于AT89S51单片机的PID温度控制系统设计 [打印本页]

作者: admin    时间: 2014-10-10 07:14
标题: 基于AT89S51单片机的PID温度控制系统设计
温度控制技术不仅在工业生产有着非常重要的作用,而且在日常生活中也起着至关重要的作用。本文对系统进行硬件和软件的设计,在建立温度控制系统数学模型的基础之上,通过对PID控制的分析设计了系统控制器,完成了系统的软、硬件调试工作。算法简单、可靠性高、鲁棒性好,而且PID控制器参数直接影响控制效果。
       
        1.系统概述
       
        1.1系统总体结构
       
        该系统利用AT89S51丰富的外设模块搭建硬件平台。系统的硬件电路包括:模拟部分和数字部分,基本电路由核心处理模块、温度采集模块、键盘显示模块及控制执行模块等组成。
       
        1.2系统工作流程
       
        系统开始工作时,首先由单片机控制软件发出温度读取指令,通过数字温度传感器采集被控对象的当前温度值并送显示屏实时显示。然后,将该温度测量值与设定值T比较,其差值送PID控制器。PID控制器处理后输出一定数值的控制量,经D/A转换为模拟电压量,控制被控对象进行加热。
       
        1.3系统软件设计方法
       
        整个系统软件设计包括管理程序和控制程序两部分,管理程序包括LED显示的动态刷新、控制指示灯、处理键盘的扫描和响应。控制程序包括A/D转换、中值滤波、越限报警处理、PID计算等。
       
        2.系统硬件结构
       
        2.1电源电路的设计
       
        系统所用直流电源由三端集成稳压器组成的串联型直流稳压电源提供。设计中选用了LM7805 LM7815和LM7915三个三端集成稳压器,提供+5V直流电压,输出电流均为1A.变压器将220V的市电降压后再通过整流桥整流之后采用了大容量的电解电容进行滤波,以减小输出电压纹波。电源电路图如图1所示。
       
       
        图1电源电路图

       
        2.2复位电路设计
       
        单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。只有一个可靠的复位电路才能使系统避免出现了“死机”、“程序走飞”等现象。电路图如图2所示。
       
       
        图2复位电路图

       
        2.3时钟电路设计
       
        本控制器采用的是内部振荡方式得到单片机的时钟信号,这种方式得到的时钟信号比较稳定。图3为时钟电路。
       
       
        图3时钟电路图

       
        2.4可控硅输出电路
       
        可控硅是一种功率半导体器件,简称SCR,也称晶闸管。本部分为控制电加热炉功率的双向可控硅驱动电路,采用MOC3041作为驱动电路。如图4所示。
       
       
        图4可控硅输出电路

        2.5声光报警电路模块
       
        某一通道的温度测量值超出预先设定的上、下限报警值或系统运行出现故障时,系统发出声光报警以提醒用户注意。如图5所示。
       
       
        图5声光报警电路图

       
        3.系统软件设计
       
        3.1系统主程序设计
       
        在反应器系统中,主程序的功能主要是设定程序执行过程中用到的相关变量,分配寄存器,对所需要的参数初始化,根据定时中断程序,调用相应的功能模块,完成一定的任务。
       
        3.2系统子程序设计
       
        3.2.1显示子程序
       
        LED显示方式包括有静态和动态显示两种,动态扫描显示电路是将显示各位的所有相同字段线连在一起,由一个8位I/O口控制,而每一位的公共端(共阳或共阴COM)由另一个I/O口控制。由于这种连接方式将每位相同字段的字段线连在一起,当输出字段码时,每一位将显示相同的内容。因此,要想显示不同的内容,必须采取轮流显示的方式。
       
        3.2.2定时子程序
       
        定时程序主要是用于完成查表的占空比控制。总体思想是根据控制表中占空比控制变量U的不同取值,采用不同的定时来改变继电器的通断,根据继电器的特性,要求不能频繁通断,所以通断要有一定长的时间,但又要考虑到控制能够及时的根据新的采集值和设定值的变化来做出相应的动作。
       
        4.控制方案
       
        4.1 PID控制
       
        PID控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差,将偏差比例、积分和微分通过线性组合构成控制量,对被控对象进行控制。
       
        4.2 PID参数整定
       
        由于PID控制器的输出为系统偏差的比例、微分和积分作用后的线性组合,所以调整各个部分的线性系数就是PID控制器控制性能好坏的关键。必须针对具体被控对象对PID控制器参数进行整定,采取扩充临界比例度法:
       
        (a)选择合适的采样周期T.所谓合适是指周期足够小,一般应选它对象的纯滞后时间的1/IO以下;
       
        (b)仅让控制器作纯比例控制,由小到大逐渐增大比例系数Kp,直至使系统出现临界振荡,记下此时的临界振荡周期Ts和临界振荡增益Ks;
       
        (c)选择合适的控制度。所谓控制度,就是数字控制器和模拟调节器所对应的过渡过程的误差平方的积分之比;
       
        (d)根据控制度查表。
       
        4.3 Matlab仿真
       
        通过对上述的整定方法的综合运用,整定后得到PID控制器的参数为:Kp=1.75,Ki=0.0125,Kd=3,在MATLAB/Simulink环境下建立温度控制系统的仿真模型,如图6示。仿真后得到系统阶跃响应曲线。
       
       
        图6仿真模型

       
        仿真后得到的系统阶跃响应的动态性能还是比较理想的,超调很小(响应峰值为1.017,超调量Q%=1.7%)。统的响应误差是也是比较小的(稳态误差为0.005),在系统要求的精度范围之内。
       
        5.总结
       
        系统采用模块化设计,扩展性强。模块化设计,使控制器具有一定的通用性,而且运行安全可靠。成本低,操作简单,体积小,安装方便,反应灵敏,控制精度高。




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2