铂金属pt100温度传感器原理及使用
微分运算,根据运算结果控制执行部件的过程。
温度控制PID 算法设计
利用了上面所介绍的位置式PID 算法,将温度传感器采样输入作为当前输入,然后与设定值进行相减得偏差,然后再对之进行PID运算产生输出结果fOut,然后让fOut 控制定时器的时间进而控制加热器。为了方便PID 运算,首先建立一个PID的结构体数据类型,该数据类型用于保存PID 运算所需要的P、I、D 系数,以及设定值,历史误差的累加和等信息: jixie163com
typedef struct PID
{
float SetPoint; // 设定目标 Desired Value
float Proportion; // 比例系数 Proportional Const
float Integral; // 积分系数 Integral Const
float Derivative; // 微分系数 Derivative Const
int LastError; // 上次偏差
int SumError; // 历史误差累计值
} PID;
PID stPID; // 定义一个stPID 变量
PID 运算的C 实现代码
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;
return (pp->Proportion * Error+ pp->Integral * pp->SumError- pp->Derivative * dError);
}
其中(pp->Proportion * Error)是比例项;(pp->Integral *
pp->SumError)是积分项;(pp->Derivative * dError)是微分。
240562343