问问题描述
答精选答案

1.定义PID变量结构体: struct_pid{floatSetSpeed;//定义设定值floatActualSpeed;//定义实际值floaterr;//定义偏差值floaterr_last;//定义上一个偏差值floatKp,Ki,Kd;//定义比例、积分、微分系数floatvoltage;//定义电压值(控制执行器的变量)floatintegral;//定义积分值}pid;
2.初始化变量: voidPID_init(){pid.SetSpeed=0.0;pid.ActualSpeed=0.0;pid.err=0.0;pid.err_last=0.0;pid.voltage=0.0;pid.integral=0.0;pid.Kp=0.2;pid.Ki=0.015;pid.Kd=0.2;} Kp,Ki,Kd
答其他回答(1条)
-
PID (比例-积分-微分) 算法是一种常用的控制算法,可以用来调节控制系统的性能。下面是一个简单的 PID 算法的 C 语言实现:
#define MAX_OUTPUT100
#define MIN_OUTPUT -100
void PID_Controller(float target, float current, float *output, float kp, float ki, float kd, float *integral, float *previous_error) {
float error = target
本文来自作者[heilongjiangnongyejingjiz]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/jingxuan/3297706.html

评论列表(4条)
我是公众科技网的签约作者“heilongjiangnongyejingjiz”!
希望本篇文章《pid算法c语言怎么写》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:1.定义PID变量结构体: struct_pid{floatSetSpeed;//定义设定值floatActualSpeed;//定义实际值floaterr;//定义偏差值floaterr_last;//定义上一个偏差值floatKp,Ki,Kd;//定义比例、积分、微分系数floatvoltage;//定义电压值(控制执行器的变量)floatintegral;//定义积分值}pid;2.初始化变量: voidPID_init(){pid.SetSpeed=0.0;pid.ActualSpeed=0.0;