资源简介
内有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
- 上一篇:基流分割程序
- 下一篇:UnityAsset_UniMerge_v1.7.5
相关资源
- 模糊PID控制 c
- 课程设计蔬菜大棚自动控制系统,包
- 基于DSP的大功率开关电源的设计方案
- 基于双闭环模糊PID控制器的开关电源
- 基于51单片机的直流电机PID控制
- STM32直流有刷电机PID控制
- STM32F103 模糊自整定位置式PID控制电机
- 基于PID控制方式的4A开关电源-multisi
- 无人机飞行PID控制及智能PID控制技术
- 步进电机pid控制
- 实验四具有纯滞后系统的大林控制.
- PID控制算法大全经典
- 过程控制锅炉汽包水位模糊PID控制的
- 新型PID控制及其应用PDF电子书
- Ball&beam模糊PID控制仿真研究
- PID控制原理详解
- PID控制器参数整定方法及其应用研究
- 无人机飞行PID控制
- 基于单片机的电阻炉温度PID控制系统
- zw_weixin_41094315-10703260-增量式PID控制速
- 基于pid控制的只能循迹小车
- 步进电机位置速度双环串级控制
- 先进PID控制MALAB仿真
- stm32单片机pid控制编码器直流电机程序
- 电机模糊pid控制
- PID教程非常好的PID控制介绍
- 基于BP神经网络的无刷直流电机PID控制
- STM32F103 模糊自整定增量式PID控制电机
- STM32F103系列 普通增量式PID控制速度程
- 基于随机数直接搜索法的PID控制参数
评论
共有 条评论