亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
分離積分的pid伺服控制
[打印本頁]
作者:
2713286758
時間:
2018-4-10 22:56
標題:
分離積分的pid伺服控制
#include <stdio.h>
#include <math.h>
int index;
struct _pid{
float SetSpeed; //定義設定值
float ActualSpeed; //定義實際值
float err; //定義偏差值
float err_last; //定義上一個偏差值
float Kp,Ki,Kd; //定義比例、積分、微分系數
float voltage; //定義電壓值(控制執行器的變量)
float integral; //定義積分值
}pid;
//項目中獲取到的參數
void PID_init(){
printf("PID_init begin \n");
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.04; //自己設定
pid.Kd=0.2; //自己設定
printf("PID_init end \n");
}
float PID_realize(float speed){
pid.SetSpeed=speed; //設定值
pid.err=pid.SetSpeed-pid.ActualSpeed; //設定值-實際值
if(abs(pid.err)>200)
{
index=0;
}
else
{
index=1;
pid.integral+=pid.err; //積分值,偏差累加
}
pid.voltage=pid.Kp*pid.err+pid.Ki*pid.integral+pid.Kd*(pid.err-pid.err_last);
pid.err_last=pid.err; //上一個偏差值
pid.ActualSpeed=pid.voltage*1.0; //算出實際值
return pid.ActualSpeed; //返回
}
int main(){
printf("System begin \n");
PID_init();
int count=0;
while(count<1000)
{
float speed=PID_realize(200.0);
printf("%d %f\n",count,speed);
count++;
}
return 0;
}
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1