📄 pi.c
字号:
#include "DSP28_Device.h" // DSP281x Headerfile Include
#define U_max 36//修改 原来为1250
#define U_min 5
#define I_max 2
#define I_min 1
#define K0 1
#define K1 0.1
#define K2 1
#define K3 0.05
float M=0.5;//+0.03*K4
Uint16 Vr=36;
float Vd=0;
float Uam1;
float Uam0=36;
float Ena1=0.0;
float Ena0=0.0;
float Ir=2;
float Id;
float Iam1;
float Iam0;
float IEna1=0.0;
float IEna0=0.0;
void Vd_pi(void)
{
Ena1=Vr-Vd;
Uam1=Uam0+K2*Ena0+K3*Ena1;
if(Uam1>=U_max)
{
Uam1=U_max;
}
else
{
if(Uam1<=U_min)Uam1=U_min;
}
Ena0=Ena1;
Uam0=Uam1;
}
void Id_pi(void)
{
IEna1=Uam1-Id;
Iam1=Iam0+K0*IEna0+K1*IEna1;
if(Iam1>=I_max)
{
Iam1=I_max;
}
else
{
if(Iam1<=I_min)Iam1=I_min;
}
EvaRegs.CMPR1=(int)(M*7500*Iam1/Ir);
IEna0=IEna1;
Iam0=Iam1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -