电机 SDK v3.01 (FOC)
存在 runOffsetsCalculation ()的问题,当配置了 user.h 的中断时,会将 runOffsetCalculation ()保持锁定在 ePWM 50%的占空比输出信号(A、B、C 相)中,定义如下所示。
#define USER_NUM_PWM_TICKS_PER_ISR_TICK (6)
在 如此多的 mainISR()中断周期中调用 runOffsetCalculation ()内部 ADC 偏移似乎有点奇怪。 是否最好将偏移调用放置在 mainISR()节拍周期之外?
您会认为 mainISR() 只调用一次 runOffsetsCalculation (),但让 SCIAprintf()显示多少,它实际上是高度可重入的。
偏移调用重新进入的不利影响也会导致 ePWM 过流跳闸事件故障、如果跳闸事件发生、则每次在环路中都必须清除该故障。
我猜的是 mainISR()中断的 ePWM 节拍计数较慢,等待时间也需要缩短。
offsetCalcCount++;
if (offsetCalcCount >= offsetCalcWaitTime)
{
}