最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

PID的增量算法

来源:动视网 责编:小OO 时间:2025-10-01 09:47:26
文档

PID的增量算法

当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。    增量式PID控制算法可以通过(2-4)式推导出。由(2-4)可以得到控制器的第k-1个采样时刻的输出值为:(2-5)将(2-4)与(2-5)相减并整理,就可以得到增量式PID控制算法公式为:(2-6)其中       由(2-6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(2-6)求出控制量。增量式PID控制算法与
推荐度:
导读当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。    增量式PID控制算法可以通过(2-4)式推导出。由(2-4)可以得到控制器的第k-1个采样时刻的输出值为:(2-5)将(2-4)与(2-5)相减并整理,就可以得到增量式PID控制算法公式为:(2-6)其中       由(2-6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(2-6)求出控制量。增量式PID控制算法与
当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。

     增量式PID控制算法可以通过(2-4)式推导出。由(2-4)可以得到控制器的第k-1个采样时刻的输出值为: 

(2-5)

将(2-4)与(2-5)相减并整理,就可以得到增量式PID控制算法公式为:

(2-6)

其中 

        由(2-6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(2-6)求出控制量。

增量式PID控制算法与位置式PID算法(2-4)相比,计算量小得多,因此在实际中得到广泛的应用。

位置式PID控制算法也可以通过增量式控制算法推出递推计算公式:

(2-7)

(2-7)就是目前在计算机控制中广泛应用的数字递推PID控制算法。

增量式PID控制算法C51程序

/*==================================================================================================== 

PID Function 

The PID (比例、积分、微分) function is used in mainly 

control applications. PIDCalc performs one iteration of the PID 

algorithm. 

While the PID function works, main is just a dummy program showing 

a typical usage. 

=====================================================================================================*/ 

typedef struct PID 

int SetPoint; //设定目标 Desired Value 

long SumError; //误差累计 

double Proportion; //比例常数 Proportional Const 

double Integral; //积分常数 Integral Const 

double Derivative; //微分常数 Derivative Const 

int LastError; //Error[-1] 

int PrevError; //Error[-2] 

} PID;

static PID sPID; 

static PID *sptr = &sPID; 

/*==================================================================================================== 

Initialize PID Structure PID参数初始化

=====================================================================================================*/ 

void IncPIDInit(void) 

sptr->SumError = 0;

sptr->LastError = 0; //Error[-1]

sptr->PrevError = 0; //Error[-2]

sptr->Proportion = 0; //比例常数 Proportional Const 

sptr->Integral = 0; //积分常数Integral Const 

sptr->Derivative = 0; //微分常数 Derivative Const 

sptr->SetPoint = 0;

}

/*==================================================================================================== 

增量式PID计算部分 

=====================================================================================================*/ 

int IncPIDCalc(int NextPoint) 

register int iError, iIncpid; //当前误差 

iError = sptr->SetPoint - NextPoint; //增量计算 

iIncpid = sptr->Proportion * iError //E[k]项 

- sptr->Integral * sptr->LastError //E[k-1]项 

+ sptr->Derivative * sptr->PrevError; //E[k-2]项 

//存储误差,用于下次计算 

sptr->PrevError = sptr->LastError;

sptr->LastError = iError;

//返回增量值 

return(iIncpid); 

}

文档

PID的增量算法

当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。    增量式PID控制算法可以通过(2-4)式推导出。由(2-4)可以得到控制器的第k-1个采样时刻的输出值为:(2-5)将(2-4)与(2-5)相减并整理,就可以得到增量式PID控制算法公式为:(2-6)其中       由(2-6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(2-6)求出控制量。增量式PID控制算法与
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top