嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
单片机 自适应PID控制 C例子.docx
自适应模糊PID算法
float speed_pid(float s_tar,float s_cur)//在目标值会多次改变的情况下,建议在函数内部初始pid参数而不是作为形参
{
float tar = 0,cur = 0; //目标值 , 实际值
tar=s_tar;s_cur=cur;
static PID pid= {1, 0, 0}; //赋予初值kp,ki,kd
static float sumE = 0; //累加偏差
static float lastE = 0;
PID OUT = {0, 0, 0};
float e = -1,ec = -2.6;
e = tar - cur; //目标值 - 实际值
ec = e - lastE; //误差变化率
sumE = e;
lastE = e;
OUT = fuzzy(e, ec); //模糊控制调整 kp,ki,kd
return (pid.Kp OUT.Kp)*e (pid.Kd OUT.Kd)*ec (pid.Ki OUT.Ki)*sumE;
}