TI你的开发板只有开环才有正弦波输出,INCR_BUILD 1.
INCR_BUILD 2 闭环后无正弦输出,成了方波,驱动就不是SPWM波形了。why?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Vieri Xue
我已经试过了,可以产生正弦波形了。谢谢!
但是我有一些疑惑,希望可以给予解答,下面的是电压环参数
//Voltage loop
CNTL_2P2Z_CoefStruct1.b2 = _IQ26(-0.3682);
CNTL_2P2Z_CoefStruct1.b1 = _IQ26(0.01121);
CNTL_2P2Z_CoefStruct1.b0 = _IQ26(0.3794);
CNTL_2P2Z_CoefStruct1.a2= _IQ26(-0.869);
CNTL_2P2Z_CoefStruct1.a1= _IQ26(1.869);
CNTL_2P2Z_CoefStruct1.max = _IQ24(0.0); //4A
CNTL_2P2Z_CoefStruct1.min = _IQ24(-0.4);
但是不接DC-DC时,dwVoltageLoopOutConst = _IQ24(0.18);//表示的输出电流值为2.71A
而CNTL_2P2Z_CoefStruct1.max = _IQ24(0.0); //_IQ24(0.0)就可以表示最大4A的电流---这两处是不是有矛盾之处。
Sleet
对不起,我们在这个参数的注释上有误,造成了你的误解。从电压环调节器输出的2个限幅参数来看,你可以看负限幅 CNTL_2P2Z_CoefStruct1.min = _IQ24(-0.4)这个参数。折算之后,最大电流为6A左右。
这里方向为负的原因是:因为在太阳能逆变器控制中,只有电压被DC-DC充起来后,才表明有能量输出,所以,只有电压给定小于反馈时,才能向外馈能量,而这时,电压环输出是负的,这就是限制负限幅的原因。
同时,为了禁止逆变器从电网吸收能量,把正限幅设置为0,表示逆变器只工作在DC-AC模式,而不工作在AC-DC方式。
薛工,我想发表一点不同的意见, CNTL_2P2Z_CoefStruct1.min<0, CNTL_2P2Z_CoefStruct1.max=0,只能保证逆变器工作在逆变状态,而不是工作在体二极管整流状态。另外,电感电流的最大值是由-CNTL_2P2Z_CoefStruct1.min*4(乘以4是因为薛工写的文档ZHCA552第19页的图20中的gain为4)和INV_ICMD_Out_Max1(以及INV_ICMD_Out_Min1)共同决定的。
-CNTL_2P2Z_CoefStruct1.min*4=1,6
INV_ICMD_Out_Max1 = &dwInvCurrRef_Max;
dwInvCurrRef_Max = _IQ24(0.4357);
1.6比0.4357大,所以电感电流的最大值是由INV_ICMD_Out_Max1决定,在实例当中,电感电流最大幅值为 0.4357*3.3/Kratio_current=9A。
另一方面,无论CNTL_2P2Z_CoefStruct1.min*4还是INV_ICMD_Out_Max1,其绝对值小于1才是有意义的限幅举措,所以对于乘以4这个做法,我不是很理解,
另外在程序当中,乘以4是否是通过以下段落
VL_SKIP:
MOVW DP,#_dwPll_Sin_Out
MOVL ACC,@_dwPll_Sin_Out ;Q22
MOV T,#2
LSL ACC,T
MOVW DP,#_dwSine_Ref ;Q24
MOVL @_dwSine_Ref,ACC
INV_ICMD 1
中的
MOV T,#2
LSL ACC,T
来实现?希望薛工赐教。
黄昊:
您好,由于我今天刚看到您的提问,所以,回答的不够及时,希望您原谅。
您所说的问题应该是对我们电感电流的给定值限幅有疑问。在我写的文档中,乘以4是在锁相控制输出的sin上所进行的,这个目的是为了使锁相输出正弦SIN成为Q24的格式,所以,和电感电流给定值限幅无关。
如果市电有效值正好是220V,那么,CNTL_2P2Z_CoefStruct1.min(电压环输出的limit)就是电流给定的限幅,但是当市电低于220V时,则需要更大的限幅电流以维持输出功率的不变,所以,在程序中,最终的限幅电流应该是INV_ICMD_Out_Max1 和INV_ICMD_Out_Min1 这两个变量决定的,所以,在这个地方,我们需要有一个市电有效值的补偿,即INV_ICMD_Comp1 这个变量,在220V是为1。
不知道我的回答有没有解决您的疑问。如果还有问题,请继续提问,谢谢!
Vieri Xue:
“所以,只有电压给定小于反馈时,才能向外馈能量,而这时,电压环输出是负的,这就是限制负限幅的原因。”以本人浅见,向外馈能量是因为文档ZHCA552-July 2013第19页图20中的dw_Bus_Voltage_Loop_out为正值,注意到dw_Bus_Voltage_Loop_out的前端有个值为-1的乘法系数,所以将CNTL_2P2Z:1的输出限制为负是合理的。
另外,我知道CNTL_2P2Z:1的滤波系数配置如下:
//Voltage loop
CNTL_2P2Z_CoefStruct1.b2 = _IQ26(-0.3682);
CNTL_2P2Z_CoefStruct1.b1 = _IQ26(0.01121);
CNTL_2P2Z_CoefStruct1.b0 = _IQ26(0.3794);
CNTL_2P2Z_CoefStruct1.a2= _IQ26(-0.869);
CNTL_2P2Z_CoefStruct1.a1= _IQ26(1.869);
CNTL_2P2Z_CoefStruct1.max = _IQ24(0.0); //4A
CNTL_2P2Z_CoefStruct1.min = _IQ24(-0.4);
是不是这样的系数配置,保证了当Ref小于Fbk时,输出Out为负,所以不得不在Out后面再乘以-1,以保证dw_Bus_Voltage_Loop_out为正值;
还是也可以直接将CNTL_2P2Z:1的输出限制为正,并且不使用后面的-1乘法系数?
此外,实际上逆变器向电网输送能量时,也不是每时每刻Ref都小于Fbk吧?