搭建控制环路
(初步先搭建电压环,后续完善系统可以在添加电流环)
//****************Boost电压环PID参数********************//
double Boost_u_PID;
double Boost_u_ref=72;
double U_bat=46;
const double Boost_u_K1=0.105;
const double Boost_u_K2=0.1;
double Boost_u_Error0=0;
double Boost_u_Error1=0;
//******************采样计算********************//
if(Time_200KHz==5/clock) //200KHz
{
Time_200KHz=0;
Boost_u=in[0];
Boost_u_20KHz=Boost_u_20KHz*9/10+Boost_u/10;
}
//*******************Boost电压环************************//
if(Time_20KHz==50/clock) //20KHz
{
Time_20KHz=0;
Boost_u_Error1 = Boost_u_Error0;
Boost_u_Error0 = Boost_u_ref - Boost_u_20KHz;
Boost_u_PID+=Boost_u_Error0*Boost_u_K1 -Boost_u_Error1*Boost_u_K2;
//PID计算式,更改系数以获得理想的输出
if(Boost_u_PID<0)
Boost_u_PID=0;
if(Boost_u_PID>100)
Boost_u_PID=100; //限幅
//********************PWM驱动计算*********************//
PWM=(Boost_u_PID)/U_bat/fs;
out[0]=PWM;
}
//*****************************************************//
Boost 控制器.bmp
(392.44 KB, 下载次数: 150)
2018-5-16 10:05 上传