久久久久久久999_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://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩成人在线观看视频 | 欧美日韩一区二区三区四区 | 免费在线观看黄色片 | 国产精品一区一区三区 | 99精品网站| 91在线精品秘密一区二区 | 97人人爱 | 国产又黄又猛 | av大片在线观看 | 99一区二区三区 | 欧美在线一区二区 | 亚洲精品1| 亚洲青涩 | 谁有毛片网站 | 99re在线观看 | 狠狠婷婷| 免费av网站在线观看 | 久久av中文字幕 | 国产成人在线播放 | 欧美黄色一级视频 | a级片网址| 国产一级特黄 | 欧洲av在线 | 午夜在线观看视频 | 日本a在线观看 | 亚洲欧美在线观看 | 四虎网站| 亚洲免费在线播放 | 亚洲免费大片 | 欧美在线视频观看 | 99热在线免费观看 | 午夜你懂的 | 国产精品免费一区 | 久热精品视频在线观看 | 日韩在线播放视频 | 久久久久国产 | 色网站在线| 欧美性生交 | 欧美日韩国产一区二区 | av片免费| 精品福利在线观看 |