1、1 基于基于 PID 电加热炉温度控制系统设计电加热炉温度控制系统设计 摘 要 单片机以其高可靠性、高性能价格比、控制方便简单和灵活性大等优点,在工业控制系 统、智能化仪器仪表等诸多领域得到广泛应用。采用单片机进行炉温控制,可以提高控制质量和 自动化水平。 在本控制对象电阻加热炉功率为 800W,由 220V 交流电供电,采用双向可控硅进行控制。本 设计针对一个温度区进行温度控制,要求控制温度范围 50350C,保温阶段温度控制精度为正负 1 度。选择合适的传感器,计算机输出信号经转换后通过双向可控硅控制器控制加热电阻两端的 电压。其对象问温控数学模型为: 1 )( sT eK sG d s
2、d 其中:时间常数 Td=350 秒 放大系数 Kd=50 滞后时间=10 秒 控制算法选用改 PID 控制。 关键字 单片机; 温度控制; PID 控制 1 总体方案设计 温度控制系统是比较常见和典型的过程控制系统。温度是工业生产过程中重要 的被控参数之一,当今计算机技术在这方面的应用,以使温度控制系统达到自动化、 智能化,比过去单纯的采用电子线路进行 PID 调节的控制效果要好得多,可控性方 面也有很大的提高。 温度是一个非线性的对象,具有大惯性的特点,在低温的特点,在低温段惯性较 大,在高温段惯性较小。对于这种温控现象,一般认为其具有以下的传递函数形式: ts S S e T K G 1
3、 )( 本设计采用以单片机为控制核心的控制系统,尤其对温度控制,可达到模拟控制 所达不到的效果,并且实现显示和键盘设定功能,大大提高了系统的智能化,通过对 机内数字 PID 参数的设计对受控对象的精确控制,使得系统所测得的结果精确度大大 提高。总体结构图如图 1.1 所示。 2 图 1.1 总体结构图 2 控制系统的建模和数字控制器设计如图 2.1 所示。 图 2.1 PID 算法流程图 增量式 PID 控制算法公式 : 21211 1 kekeke T T ke T T kekeKkuku D p = 21 2 11 1 ke T T Kke T T Kke T T T T K D P D
4、P D P 输入并采样r(k)、c(k) 计算 u(k)=a0e(k)+a1e(k-1)+a2e(k-2) 计算偏差e(k)=r(k)-c(k) 开始 参数序号e(k-1) e(k-2) 调整 e(k) e(k-1) 存 u (k)以备输出 返回 单片机 实时温度采样 设定温度值 显示设定值 电源控制 电阻加热炉 3 = 21 210 keakeakea 式中 T T Ka T T Ka T T T T Ka D P D P D P 21 1 0 , 2 1,1 由上式可以看出,如果计算机系统采用恒定的采样周期 T,一旦确定 210 ,aaa只 要使用前后测量三次的偏差值,就可以由上式求出控制
5、量。 typedef struct PID Int SetPoint;/设定目标 Desired Value Long SumError;/误差累计 double propotion;/比例常数 Propotion Const Double integral;/积分常数 Integral Const Double derivative;/微分常数 Derivative Const int LastError;/ Error-1 Int PrevError;/ Error-2 PID; ststic PIDsPID; /*Initialize PID Structure PID 参数初始化*/
6、void IncPIDInit(void) sptr-SumError=0; sptr-LastError=0;/ Error-1 sptr-PrevError=0;/ Error-2 sptr-Propotion=0;/比例常数 Propotional Const sptr-integral=0;/积分常数 Integral Const sptr-derivative=0;/微分常数 Derivative Const sptr-SetPoint=0; /*增量式 PID 计算部分*/ int IncPIDCalc(int NextPoint) 4 register int ierror,iIncpid;/当前误差 ierror=s