是这样的,我在做一个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大神,请帮帮我,谢了!!