新闻  |   论坛  |   博客  |   在线研讨会
PID算法之温度控制(附实时温度显示上位机软件)
0750long | 2010-02-17 21:05:28    阅读:4512   发布文章

PID算法之温度控制(附实时温度显示上位机软件)

 

 

PID核心算法:
double PIDCalc( PID *pp, double NextPoint )
{
        double  dError,Error;
        Error = pp->SetPoint -  NextPoint;          // 偏差
        pp->SumError += Error;                      // 积分
        dError = pp->LastError - pp->PrevError;     // 当前微分
        pp->PrevError = pp->LastError;
        pp->LastError = Error;
        return (pp->Proportion * Error              // 比例项
            +   pp->Integral * pp->SumError         // 积分项
            +   pp->Derivative * dError             // 微分项
        );
}

整定参数:  
sPID.Proportion = 2;           
sPID.Integral   = 0;
sPID.Derivative = 5;
sPID.SetPoint   = 37.0;

实验效果,目标37:
点击看大图
 



以下是上位机软件介绍--------------------------------------------------------------------------------------------  
   调PID,遂寻上位机软件,得此佳物,甚喜,同分享:

点击看大图

 

发送格式如下,波特率9600,COM5,程序中的温度值十位,个数需分解出来,转成对应的ASCII值:
u8 str2[6];
sprintf((char*)str2,"%02d ",T);
USART1_SendByte(0x30);
USART1_SendByte(str2[0]);
USART1_SendByte(str2[1]);
USART1_SendByte(0x2e);
USART1_SendByte(0x30);
USART1_SendByte(0x30);
USART1_SendByte(0x0a);

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客