编写脉冲轴闭环控制C语言代码

时间2023-05-11 14:30:23 提问来自 上海市上海市 的网友 分类ChatGPT提问 浏览198 热度0
#include <stdio.h> #include <math.h> //定义脉冲轴参数 double Kp=1; //比例系数Kp double Ki=0.1; //积分系数Ki double Kd=0.01; //微分系数Kd double Setpoint=1000; //设定值Setpoint double ProcessValue = 0;//当前值ProcessValue double LastError = 0;//上一次的误差LastError double ErrorSum = 0 ;//误差累加 ErrorSum double dErr = 0 ;//本次误差与上一次误差之差 dErr double OutputValue = 0 ;//输出量 OutputValue void PID_Calc() { //本次误差,即当前值与设定值之间的偏差 double Error = Setpoint - ProcessValue ; //P 控制项,根据偏差来直接作用在输出上,随着时间的变化而不断变化。 OutputValue += Kp * (Error - LastError); //I 控制项,根据历史的误差进行加权平均,随时间的流逝而不断集中。 ErrorSum += Ki * Error; OutputValue += ErrorSum ; //D 控制项,根据本次与上一时刻的误差之间的变化情况来作用于输出 ,以此来表征当前信号在波动方向上是否有显著性变化。 dErr = (Error - LastError); OutputValue += Kd * dErr ; LastError = Error ; }

AI智能问答网免责声明:
以上内容除特别注明外均来源于网友提问、ChatGPT回答,权益归原著者所有,本站仅作效果演示和欣赏之用;
若以上展示有冒犯或侵害到您,敬请联系我们进行删除处理,谢谢!

上一篇 用C编写脉冲轴控制程序 下一篇 搜索框的用法