• 大小: 25KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: 其他
  • 标签: PID控制  

资源简介

内有pid控制源码,可通过qt creator打开进行pid仿真测试

资源截图

代码片段和文件信息

#include 

typedef struct _PIDS{
    //输入
     float Set0;  //set
     float Set_b1;  //set-1
     float Set_b2;  //set-2
     float Get0;  //get
     float Get_b1;  //get-1
     float Get_b2;  //get-2
     //输出
     float Sumput;
     float ek0;  //ek
     float ek_b1;  //ek-1
     float ek_b2;  //ek-2
     float Kp;
     float Ki;
     float Kd;

     float Uk;
     float Uk_b1;
     float euk0;
     float euk_b1;
}PIDS;
PIDS mpid;

void init_pid(void){
    //初始化输入输出
    mpid.Set0=0;
    mpid.Set_b1=0;
    mpid.Set_b2=0;

    mpid.Get0=0;
    mpid.Get_b1=0;
    mpid.Get_b2=0;

    mpid.Sumput=0;

    mpid.ek0=0;
    mpid.ek_b1=0;
    mpid.ek_b2=0;
    mpid.Uk=0;
    mpid.Uk_b1=0;
    //初始化pid系数
    mpid.Kp=0.001;
    mpid.Ki=0.01;
    mpid.Kd=0.02;
}
//位置式
float get_uk(void){
   mpid.ek0 = mpid.Get0 - mpid.Set0 ;
   mpid.ek_b1 = mpid.Get_b1 - mpid.Set_b1 ;
   mpid.ek_b2 = mpid.Get_b2 - mpid.Set_b2 ;

   mpid.Sumput += mpid.ek0;

   mpid.Uk_b1 =  mpid.Uk;
   mpid.euk_b1 = mpid.euk0;
   mpid.Uk = (float)(mpid.Kp * mpid.ek0+ mpid.Ki * mpid.Sumput+mpid.Kd*(mpid.ek0 - mpid.ek_b1));
  // mpid.Uk = (float)(mpid.Kp * mpid.ek0 + mpid.Kd*(mpid.ek0 - mpid.ek_b1));
   mpid.euk0 = mpid.Uk - mpid.Uk_b1;

   mpid.Get_b2 = mpid.Get_b1;
   mpid.Get_b1 = mpid.Get0;

   mpid.Set_b2 = mpid.Set_b1;
   mpid.Set_b1 = mpid.Set0;

   return mpid.euk0;
  // return  mpid.Uk;
}


int main(int argc char *argv[])
{
    float ij;
    float ggk;

    init_pid();

    //超量模拟
    for(j =299 ;j >40;j--){
        mpid.Set0 =j;
        printf(“jded\n“);
        while(1){
                ggk = get_uk();
               if(ggk<-0.001){
                   mpid.Get0+=0.1;
                  // printf(“j:%fmpid.Get0:%fm:%f\n“jmpid.Get0ggk);

               }else if(ggk>0.001){
                   mpid.Get0-=0.1;
                 //  printf(“j:%fmpid.Get0:%fm:%f\n“jmpid.Get0ggk);
               }else{
                 //     printf(“j:%fmpid.Get0:%fm:%f\n“jmpid.Get0ggk);
                   break;
               }


     }
   }

    //欠量模拟
    for(j =40 ;j < 220;j++){
        mpid.Set0 =j;
        printf(“jded\n“);
        while(1){
                ggk = get_uk();
               if(ggk<-0.001){
                   mpid.Get0+=0.1;
                  // printf(“j2:%fmpid.Get0:%fm:%f\n“jmpid.Get0ggk);

               }else if(ggk>0.001){
                   mpid.Get0-=0.1;
                  // printf(“j2:%fmpid.Get0:%fm:%f\n“jmpid.Get0ggk);
               }else{
                      printf(“j2:%fmpid.Get0:%fm:%f\n“jmpid.Get0ggk);
                   break;
               }


     }
   }

    return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        726  2017-09-18 09:18  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug\.qmake.stash

     文件       4491  2017-09-18 18:49  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug\debug\main.o

     文件      49374  2017-09-18 18:49  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug\debug\testpid.exe

     文件      23093  2017-09-18 09:18  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug\Makefile

     文件      12619  2017-09-18 09:18  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug\Makefile.Debug

     文件      12650  2017-09-18 09:18  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug\Makefile.Release

     文件       2821  2017-09-18 18:49  qt_testpid\testpid\main.c

     文件         92  2017-09-18 09:18  qt_testpid\testpid\testpid.pro

     文件      23832  2017-09-18 18:50  qt_testpid\testpid\testpid.pro.user

     目录          0  2017-09-18 18:49  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug\debug

     目录          0  2017-09-18 09:18  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug\release

     目录          0  2017-09-18 09:18  qt_testpid\build-testpid-Desktop_Qt_5_7_0_MinGW_32bit-Debug

     目录          0  2017-09-18 18:50  qt_testpid\testpid

     目录          0  2017-09-18 09:18  qt_testpid

----------- ---------  ---------- -----  ----

               129698                    14


评论

共有 条评论