电子设计大赛倒立摆PID算法例程优化版.pdfVIP

  • 1
  • 0
  • 约7.69千字
  • 约 6页
  • 2026-03-05 发布于北京
  • 举报

电子设计大赛倒立摆PID算法例程优化版.pdf

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

==========

这是从网上找来的一个比较典型的PID处理程序,在使用单片机作为控制CPU时,请稍作简化,具

体的PID

参数必须由具体对象通过实验确定。由于单片机的处理速度和RAM资源的限制,一般不采用浮点数运算,

而将所有参数全部用整数,运算到最后再除以一个2的N次方数据(相当于移位),作类似定点数运算,

可大大提高运算速度,根据控制精度的不同要求,当精度要求很高时,注意保留移位引起的“余数”,

做好余

数补偿。这个程序只是一般常用的PID算法的基本架构,没有包含输入输出处理部分。

============================================================================================

=========*/#

includestring.h#

includestdio.h

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

==========

PID函数

PID(比例、积分、微分)函数主要用于控制应用。PIDCalc执行一次PID算法

的迭代。

虽然PID函数可以正常工作,但main只是一个展示典型用法的示例程序。

============================================================================================

=========*/

typedefstructPID{

doubleSetPoint;//设定值doubleProportion;//比例常数doubleIntegral;//

积分常数doubleDerivative;//微分常数

doubleLastError;//错误[‑1]doublePrevError;//错误[‑2]double

SumError;//错误累加和

}PID;

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

==========

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

==========

这是从网上找来的一个比较典型的PID处理程序,在使用单片机作为控制cpu时,请稍作简化,具体

的PID

参数必须由具体对象通过实验确定。由于单片机的处理速度和ram资源的限制,一般不采用浮点数运算,

而将所有参数全部用整数,运算到最后再除以一个2的N次方数据(相当于移位),作类似定点数运算,

大大提高运算速度,根据控制精度的不同要求,当精度要求很高时,注意保留移位引起的“余数”,做好

数补偿。这个程序只是一般常用pid算法的基本架构,没有包含输入输出处理部分。

============================================================================================

=========*/

#includestring.h

#includestdio.h

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

==========

PIDFunction

ThePID(比例、积分、微分)functionisusedinmainly

controlapplications.PIDCalcperformsoneiterationofthePID

algor

文档评论(0)

1亿VIP精品文档

相关文档