软件设计包括单片机的核心算法PID控制算法和各程序模块设计。
一、PID控制算法
单片机温度控制主要采用PID控制算法,其参数整定足重点。实际使用时必须在现场进行反复调试和修正,才能找出理想调节参数。采样周期r的选择首先必须满足采样定理。从理论上说,r越小,即采样频率越高,准确度越高;T趋于0时,离散系统变成连续系统。但是,采样频率过高时,既加重计算负担,又影响调节效果。这是因为单片机系统根据偏差信号进行调节计算,采样周期丁太短,偏差信号也会过小,影响单片机系统的调节作用。应综合考虑被控系统的滞后特性、时间常数以及加到对象上的扰动频率等因素,合理地选择采样周期。比例作用是在温度实际值与设定值出现偏差时才起作用的。
在控制过程中,偏差总是存在的。一般讲,比例作用越大,超调量也越大,虽然调整周期短了,但会使温度猛涨猛落,波动范围大,过渡时间加长,甚至会出现长时间等幅振荡,被控温度长时间达不到稳定状态;比例作用弱时,输出超调量过小,会使温度波动周期明显增长,偏差长时间不能消除I 4I。积分作用可理解为调节系统的惰性大小。积分时间长,积分作用小,偏差消除得慢,即调过程惯性大,不能灵敏地调节温度;积分时间过短时,调节过程增快,往往会出现振荡,也使过渡时间延长。微分作用使P与,调节的过渡时间短,温度尽快恢复正常。不加微分,偏差消除缓慢;加入适当的微分作用,可以较快地消除振荡现象。采用L述方法无需熟悉系统的动态特性,根据经验直接在闭环系统中反复测试确定,因此往往耗时很长。而本设计通过测试系统的动态特性,采用扩充响应曲线法整定调节参数。步骤如下:
1)断开单片机控制系统,人工操作加热装置,给系统施加阶跃信号;
2)记录在此阶跃信号作用下温度变化曲线(这一步不能靠观察温度计进行,应在温度变送器的输出端接入记录仪记录温度变化情况);
3)由曲线求出滞后时问0、对象时间常数丁以及它们的比值;
4)根据求得的0,f和r/O,查表1求出参数r,KP,71I,五);
一般选择控制度为1.05,计算求得的参数还需在现场进行调试修改,从而得出理想调节参数。
二、程序模块
程序模块设计包括主程序和子程序两个部分。子程序主要包括定时子程序、超限处理子程序和加热控制子程序等。主程序功能:完成系统初始化操作,检测和显示温度值;然后,分析和判断工作状态。根据其输入状态,分为前、中、后期工作状态,对照前中后期不同的工作状态而设定的不同温度范围来判断检测温度是否超限。如果超限,则转报警处理和相应的超限处理子程序;如未超限,则返回重新运行。主程序流程如图4所示。定时子程序通过对系统进行定时操作,并且在定时操作后继续分析和判断工作状态,并做出相应的温度控制措施。软件流程图如图5所示。如果检测到温度超限,应进行报警处理。然后,判断温度是过高或过低,并执行相应的升温处理和降温处理,使得系统的温度达到并且符合设定的温度值。超限子程序流程图如图6所示。
加热子程序主要完成对加热器的控制,根据检测到的温度实际值进行占空比调整,使固态继电器通断时间得以调整,从而达到加热控制的目的。其程序流程图如图7所示。http://www.zhenghangyq.net
