编辑: 5天午托 2014-02-10

02 收稿日期: 2009- 02-

11 作者简介: 赵小灵 (1981― ) , 女, 广西贺州人, 助讲, 在读工程硕士研究生, 研究方向为电力电子及自动控制. Pt100 放大电路 SPCE061A LED PC 继电器 电热器 图1系统框图 开始 初始化 IO/TimerB/UART 需要设置温度 设置温度 温度相关处理 清看门狗 图2主程序图

104 《装备制造技术》

2009 年第

5 期 《装备制造技术》

2009 年第

5 期2控制系统 控制系统采用 PID 闭环控制方案,将预置初值与传感器 反馈信号比较得到偏差 e, 对e进行 PID 运算处理得到控制量 u, 通过 u 来控制加热器的加热时间, 从而控制加热功率. 由于 水本身具有很大的热惯性, 所以必须对水温的变化作出预测, 并且根据需要及时进行反向抑制,以防止出现较大的超调量 和波动. 2.1 PID 控制的实现 在检测过程中, 由于来自外界的各种干扰不断产生, 为了 达到现场控制对象保持恒定的目的, 就必须不断的进行控制. 如果干扰使得控制对象发生变化,现场检测元件会将这种变 化采集后, 经变送器送至 PID 控制器的输入端, 并与其给定值 进行比较得到偏差值,调节器会按此偏差并以预先设定的整 定参数规律发出控制信号, 去控制调节器的开度增加或减少, 从而使现场控制对象值发生改变, 并趋于给定值, 达到控制目的. 2.1.1 温度控制 PID 算法 将温度传感器输入作为当前输入,与设定值相减得到偏 差,然后再对之进行 PID 运算产生输出结果 fout, fout 的值决 定是否加热, 加热时间是多少, 进而控制加热器. (1) PID 算法程序段如下: float PIDCalc(PID*pp,int NextPoint) { Int dError,Error;

Error=pp- >SetPoint*10-NextPoint;

pp- >SumError +=Error;

dError=Error-pp- >LastError;

pp- >PrevError=pp- >LastError;

pp- >LastError=Error;

+ pp- >Integral*pp- >SumError -pp- >Derivative*dError );

} (2) 温度控制 (是否加热, 加热时间是多少 ) 程序段如下: stPID.Proportion=2;

stPID.Integral =0;

stPID.Derivative=5;

fout=PIDCalc(&PID,(int)(fT*10));

if(fout

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题