This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
电机 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)
{
}
导致偏移运行问题的原因是延长了 mainISR() ISR 时间,为循环无限运行提供了奇怪的偏移。
大于3个 ePWM 周期的变通方法需要分别减少偏移计算等待时间计数值。
#define USER_NUM_PWM_TICKS_PER_ISR_TICK (6)
uint32_t offsetCalcWaitTime = 1250;//!<电流/电压的等待时间设置
//!<偏移校准、单位:ISR 周期