本帖最后由 虫虫好 于 2014-11-13 23:03 编辑
在FOC 2.0的库里 STM32F10X_SVPWM.1SHUNT .C 里void SVPWM_1ShuntCalcDutyCycles (Volt_Components Stat_Volt_Input)函数里,子函数 SVPWM_1PWMSetSamplingPoints();该函数名被屏蔽了,关于case SECTOR_5: case SECTOR_6: bInverted_pwm_new = INVERT_A; dvDutyValues.hTimePhA -=HTMIN;不太理解 dvDutyValues.hTimePhA按之前的表示 应该是比较寄存器的预输出值 可以理解为最大3相中 产生最大占空比的比较寄存器的值 5 和6扇区为什么做这个处理 BOUNDARY_1的意思不是说3个占空比 有1和最大的 和2个比较小的 但是这2个占空比小于TMIN的意思吗
if (bStatorFluxPos == REGULAR)
{
bInverted_pwm_new = INVERT_NONE;
}
else if (bStatorFluxPos == BOUNDARY_1) // Adjust the lower
{
switch (bSector)
{
case SECTOR_5:
case SECTOR_6:
bInverted_pwm_new = INVERT_A;
dvDutyValues.hTimePhA -=HTMIN;
break;
case SECTOR_2:
case SECTOR_1:
bInverted_pwm_new = INVERT_B;
dvDutyValues.hTimePhB -=HTMIN;
break;
case SECTOR_4:
case SECTOR_3:
bInverted_pwm_new = INVERT_C;
dvDutyValues.hTimePhC -=HTMIN;
break;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
bStatorFluxPos = BOUNDARY_2;
这一段代码感觉跟文档中描述的不相符
这个代码的注释与文档的说明有出入
一周热门 更多>