关于5.2中的前馈控制计算问题 (FF_VqdffComputation)
官方资料中前馈控制框图如下:但 FF_VqdffComputation 中 计算结果与之不同,以 ΔUq 为例
ΔUq = (Ke + Ld*Id)*2*pi*p*fr + Uq
FF_VqdffComputation中代码如下:
/*q-axes ff voltage calculation */
wtemp1 = ( ( ( int32_t )( hSpeed_dpp ) * Iqdref.qI_Component2 ) / ( int32_t )32768 );
wtemp2 = ( wtemp1 * pHandle->wConstant_1D ) / ( int32_t )( hAvBusVoltage_d );
wtemp2 *= ( int32_t )2;
wtemp1 = ( ( pHandle->wConstant_2 * hSpeed_dpp ) / ( int32_t )hAvBusVoltage_d )
* ( int32_t )16;
wtemp2 = wtemp1 + wtemp2 + pHandle->VqdAvPIout.qV_Component1;
SATURATION_TO_S16( wtemp2 )
pHandle->Vqdff.qV_Component1 = ( int16_t )( wtemp2 );其中 pHandle->VqdAvPIout.qV_Component1 为框图中 Uq* 滤波处理后的标幺值。
在 FF_VqdConditioning() 函数中通过前馈控制修正Uqd时,又加了 Uq
FF_VqdConditioning 中代码如下
wtemp = ( int32_t )( Vqd.qV_Component1 ) + pHandle->Vqdff.qV_Component1;其中 Vqd 为框图中的 Uq*, Ud*
请帮忙确认一下,是我理解错误,还是代码错误?
mark,跟踪学习 :loveliness::loveliness::loveliness::loveliness::loveliness: 本帖最后由 xmshao 于 2019-2-21 14:46 编辑
Vqd = FF_VqdConditioning(pFF,Vqd); 输出Uq2*/Ud2*; 这里不合适讨论STM32马达库FULL版的内容。
如果有FULL版的问题,请联系相关的代理商或者ST公司的marketing人员以获得技术支持。
FULL版是注册和审批通过以后才可以获得的。
本帖最后由 飞骑 于 2019-2-21 16:07 编辑
xmshao 发表于 2019-2-21 14:44
Vqd = FF_VqdConditioning(pFF,Vqd); 输出Uq2*/Ud2*; 这里不合适讨论STM32马达库FULL版的内容。
如果有FU ...
好的,谢谢指点,在官方社区 Q&A 咨询也没得到答复,我找找你说的途径
页:
[1]