请问谁给提供一段关于PID的双闭环控制代码参考?

[复制链接]
2567|5
 楼主| lrlhk0502 发表于 2015-8-8 09:55 | 显示全部楼层 |阅读模式
小弟,新手,目前正在用TI的DSP2812,目前正在多有刷电机控制,求大侠给个转速,电流双闭环的PID算法代码作参考。
東南博士 发表于 2015-8-13 16:26 | 显示全部楼层
这个倒是不难做。
你是在做飞控之类的吗?
串级PID相关的吗?
東南博士 发表于 2015-8-13 16:27 | 显示全部楼层
给你一段代码吧:
------------------------------------------------------
串级PID
------------------------------------------------------
//****************姿态处理和PID*********************************************
float Out_PID_X=0,Last_Angle_gx=0;//外环PI输出量  上一次陀螺仪数据
float Out_XP=60,Out_XI=0.01,ERRORX_Out=0;//外环P  外环I  外环误差积分
float In_XP=0.5,In_XI=0.01,In_XD=10,ERRORX_In=0;//内环P  内环I   内环D  内环误差积分

float Out_PID_Y=0,Last_Angle_gy=0;
float Out_YP=60,Out_YI=0.01,ERRORY_Out=0;
float In_YP=0.5,In_YI=0.01,In_YD=10,ERRORY_In=0;
東南博士 发表于 2015-8-13 16:28 | 显示全部楼层
以下内容在定时器中断里面实现:
------------------------------------------------------------
//**************X轴指向***********************************************************
        FR1=((float)RxBuf[1]-128)/10; //char类型转存为float以便除法运算
       
        Ax=Angle-FR1;      //角度控制量加载至角度
       
        if(YM>20)
        {
  ERRORX_Out+=Ax;//外环积分(油门小于某个值时不积分)
        }
        else
        {
                ERRORX_Out=0; //油门小于定值时清除积分值
        }
        if(ERRORX_Out>500){ERRORX_Out=500;}
        else if(ERRORX_Out<-500){ERRORX_Out=-500;}//积分限幅
       
        Out_PID_X=Ax*Out_XP+ERRORX_Out*Out_XI;//外环PI
       
        if(YM>20)
        {
  ERRORX_In+=(Angle_gy-Out_PID_X);  //内环积分(油门小于某个值时不积分)
        }       
  else
        {
                ERRORX_In=0; //油门小于定值时清除积分值
        }       
        if(ERRORX_In>500){ERRORX_In=500;}
  else if(ERRORX_In<-500){ERRORX_In=-500;}//积分限幅
       
        PID_x=(Angle_gy+Out_PID_X)*In_XP+ERRORX_In*In_XI+(Angle_gy-Last_Angle_gy)*In_XD;//内环PID
       
  if(PID_x>1000){PID_x=1000;}  //输出量限幅
        if(PID_x<-1000){PID_x=-1000;}
       
        speed0=0-PID_x,speed2=0+PID_x;

评分

参与人数 1威望 +8 收起 理由
zhangmangui + 8 很给力!

查看全部评分

zhangmangui 发表于 2015-8-13 22:20 | 显示全部楼层
有时间讲讲串级PID
firstblood 发表于 2015-8-15 13:25 | 显示全部楼层
双闭环控制?这个有点高大上了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0