TI中文支持网
TI专业的中文技术问题搜集分享网站

2P2Z运算结果越界怎么处理?TI大神看过来

是这样的,我在做一个LLC半桥的方案,按照TI的例子程序

设置2P2Z的相关参数

#define MIN_PERIOD 200 

#define MAX_PERIOD 1000 

Pgain = 200; // Q10
Igain = 1; // Q10
Dgain = 5; // Q10

Duty1 = _IQ24(0.5);

Period = _IQ14(950);
Min_Period = _IQ14(MIN_PERIOD);
Max_Period = _IQ14(MAX_PERIOD);

CNTL_2P2Z_CoefStruct1.b2 = _IQ16(Dgain);
CNTL_2P2Z_CoefStruct1.b1 = _IQ16(Igain – Pgain – Dgain – Dgain);
CNTL_2P2Z_CoefStruct1.b0 = _IQ16(Pgain + Igain + Dgain);
CNTL_2P2Z_CoefStruct1.a2 = _IQ26(0.0);
CNTL_2P2Z_CoefStruct1.a1 = _IQ26(1.0);
CNTL_2P2Z_CoefStruct1.max = Max_Period;
CNTL_2P2Z_CoefStruct1.min = Min_Period;

ADCDRV_1ch_Rlt7 = &Vout;
CNTL_2P2Z_Ref1 = &Vset;
CNTL_2P2Z_Fdbk1 = &Vout;
CNTL_2P2Z_Out1 = &Period;
CNTL_2P2Z_Coef1 = &CNTL_2P2Z_CoefStruct1.b2;

PWMDRV_LLC_ComplPairDB_Duty1 = &Duty1;
PWMDRV_LLC_ComplPairDB_Period1 = &Period;

设置 Vset=_IQ12(MUXV_ADC)

根据以上设置,使用串口发送PID的结果Period,但是发现Period远大于 CNTL_2P2Z_CoefStruct1.max = Max_Period;

这个值,不论我修改P参数到多么小的一个值,结果都一样。

有了解情况的TI大神,请帮帮我,谢了!!

赞(0)
未经允许不得转载:TI中文支持网 » 2P2Z运算结果越界怎么处理?TI大神看过来
分享到: 更多 (0)