PID算法程序—位置式PID控制算法PDF打印版.pdfVIP

  • 11
  • 0
  • 约3.83千字
  • 约 4页
  • 2020-07-23 发布于广东
  • 举报

PID算法程序—位置式PID控制算法PDF打印版.pdf

学 海 无 涯 由单片机组成的数字控制系统控制中,PID 控制器是通过PID 控制算法实现 的。单片机通过AD 对信号进行采集,变成数字信号,再在单片机中通过算法实 现PID 运算,再通过DA 把控制量反馈回控制源。从而实现对系统的伺服控制。 位置式PID 控制算法 位置式PID 控制算法的简化示意图 上图的传递函数为: (2-1) 在时域的传递函数表达式 (2-2) 对上式中的微分和积分进行近似 (2-3) 式中n 是离散点的个数。 于是传递函数可以简化为: 1 学 海 无 涯 (2-4) 其中 u(n)——第k 个采样时刻的控制; K ——比例放大系数; P Ki ——积分放大系数; Kd ——微分放大系数; T ——采样周期。 如果采样周期足够小,则(2-4)的近似计算可以获得足够精确的结果,离 散控制过程与连续过程十分接近。 (2-4)表示的控制算法直接按(2-1)所给出的PID 控制规律定义进行计算 的,所以它给出了全部控制量的大小,因此被称为全量式或位置式PID 控制算法。 缺点: 1) 由于全量输出,所以每次输出均与过去状态有关,计算时要对 e(k)(k=0,1,…n)进行累加,工作量大。 2) 因为计算机输出的u(n)对应的是执行机构的实际位置,如果计算机出现 故障,输出u(n)将大幅度变化,会引起执行机构的大幅度变化,有可能 因此造成严重的生产事故,这在实际生产中是不允许的。 位置式PID 控制算法程序 具体的PID 参数必须由具体对象通过实验确定。由于单片机的处理速度和 ram 资源的限制,一般不采用浮点数运算,而将所有参数全部用整数,可大大提 高运算速度。这个程序只是一般常用pid 算法的基本架构,没有包含输入输出处 理部分。 ===================================================================== /*=================================================================== ================================= ===================================================================== ================================*/ typedef struct PID { 2 学 海 无 涯 double SetPoint; // 设定目标Desired value double Proportion; // 比例常数Proportional Const double Integral; // 积分常数Integral Const double Derivative; // 微分常数Derivative Const double LastError; // Error[-1] double PrevError; // Error[-2] double SumError; // Sums of Errors } PID; /*=================================================================== ==========

文档评论(0)

1亿VIP精品文档

相关文档