求教 stm32 FOC 单电阻 代码 边界处理程序

2019-12-17 21:31发布

本帖最后由 虫虫好 于 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;
        }
      
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
虫虫好
1楼-- · 2019-12-17 22:25
STM32的 电机库 真是 难懂 有没有坛友知道 他们技术的电话的
jinchenaquarius
2楼-- · 2019-12-18 00:13
      if ((hDeltaDuty[1]>TMIN) && (hDeltaDuty[0]<=TMIN))
        bStatorFluxPos = BOUNDARY_2;
这一段代码感觉跟文档中描述的不相符
lightall
3楼-- · 2019-12-18 04:41
本帖最后由 lightall 于 2018-5-27 11:07 编辑

这个代码的注释与文档的说明有出入
爱啃苹果的葱
4楼-- · 2019-12-18 08:07
 精彩回答 2  元偷偷看……
whj_2008
5楼-- · 2019-12-18 08:41
最近也做单电阻采样重构相电流,为什么转速高的时候,电流畸变严重,有什么策略补偿吗?能够给点建议

一周热门 更多>