展开

pid算法详解

发布于 2020-08-29 08:02:05     浏览 300

pid算法详解

问题解析:

【】

1、 1、PID算法基本原理 2、 PID算法是控制行业最经典、最简单、而又最能体现反馈控制思想的算法。对于一般的研发人员来说,设计和实现PID算法是完成自动控制系统的基本要求。这一算法虽然简单,但真正要实现好,却也需要下一定功夫。首先我们从PID算法最基本的原理开始分析和设计这一经典命题。 3、 PID算法的执行流程是非常简单的,即利用反馈来检测偏差信号,并通过偏差信号来控制被控量。而控制器本身就是比例、积分、微分三个环节的加和。垍 4、 位置型PID的实现就是以前面的位置型公式为基础。这一节我们只是完成最简单的实现,也就是将前面的离散位置型PID公式的计算机语言化。垍 5、 首先定义PID对象的结构体: 6、 代码示例: 7、 /*定义结构体和公用体*/垍 8、 typedef struct 9、 { 10、 float setpoint; //设定值垍 11、 float proportiongain; //比例系数 12、 float integralgain; //积分系数 13、 float derivativegain; //微分系数垍 14、 float lasterror; //前一拍偏差 15、 float result; //输出值 16、 float integral;//积分值 17、 }PID; 18、 接下来实现PID控制器: 19、 void PIDRegulation(PID *vPID, float processValue)垍 20、 { 21、 float thisError;垍 22、 thisError=vPID->setpoint-processValue;垍 23、 vPID->integral+=thisError; 24、 vPID->result=vPID->proportiongain*thisError+vPID->integralgain*vPID->integral+vPID->derivativegain*(thisError-vPID->lasterror); 25、 vPID->lasterror=thisError; 26、 }

相关推荐

猜你可能喜欢

点击加载更多