状态反馈的倒立摆PID控制
c语言pid算法
简易旋转倒立摆控制参考程序#include#include
typedefstructpid{/*k1=实际放大倍数,t1=实际积分时间,t2=实际微分时
间,t=采样周期*/
double
setpoint;
/*定义pid结构体*/
double
k1;
double
t1;
double
t2;
double
t;
double
err1;
/*前一时刻误差,e(k-1)*/
}pid;
doublepidcalc(pid*pp,doublenextpoint,doubleud1,doubleui1)
/*pid计算*/
{
doubleti,td,kp,ki,kd,ud,up,ui,err;
ti=pp->t1+pp->t2;
/*积分时间*/
td=(pp->t1*pp->t2)/(pp->t1+pp->t2);
/*微分时间*/
kp=pp->k1*((pp->t1+pp->t2)/pp->t1);
/*比例系数*/
(未完,全文共1256字,当前显示414字)
(请认真阅读下面的提示信息)