线程中讨论的其他部件:测试, DRV8353RS-EVM, C2000WARE-MOTORCONTROL-SDK, C2000WARE
正在测试的项目使用 DRV8353RS-EVM 开发套件和自定义创建的带有 F280041C 微型的子卡。 从 is08过调固件开始,FOC 在无传感器状态下运行。 我们希望利用低转速下的霍尔效应传感器,然后在电机旋转足够大以合理估计角度时过渡到无传感器。
为此,我们正在尝试用 EST_setAngle_rad 覆盖估算器角度,就在 MainISR 的 EST_RUN 之前。 新角度使用以下算法计算(hallState 是 hall_A | hall_B | hall_C 的掩码):
switch(hallState) { case 5: // Reference 0 { obj->angle_rad = MATH_PI * (180.0/180.0); break; } case 4: // +60 { obj->angle_rad = MATH_PI * (-120.0/180.0); break; } case 6: // +120 { obj->angle_rad = MATH_PI * (-60.0/180.0); break; } case 2: // +/-180 { obj->angle_rad = MATH_PI * (0.0/180.0); break; } case 3: // -120 { obj->angle_rad = MATH_PI * (60.0/180.0); break; } case 1: // -60 { obj->angle_rad = MATH_PI * (120.0/180.0); break; } }
我们确认,这是全体会议所说的适当秩序。
马达正在运行,但会发生这些变化。 然而,这与我们的期望不符。 我们想知道 FOC 是否仍在运行,并且只是受到角度覆盖的轻微影响。 我们是在实际利用这些大厅,还是可能存在着 FOC 逻辑的残余? 是否有其他方法可以使用霍尔效应传感器?