用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
Eric Ma:
你用的是无传感算法,这种算法不能保证100%带载启动,因为一开始的时候,是开环启动的,负载太大没办法转动识别角度。
ERIC
用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
user4708725:
回复 Eric Ma:
我for(;;)循环外修改PWM频率后可以带额定扭矩正常启动,可是我怎么无法退出for(;;)循环?只有退出for(;;)循环外才可以多次修改PWM频率,否则只可以修改一次。怎么退出这个for(;;)循环?加了break没有效果
for(;;) { // Waiting for enable system flag to be set while(!(gMotorVars.Flag_enableSys));
// Enable the Library internal PI. Iq is referenced by the speed PI now CTRL_setFlag_enableSpeedCtrl(ctrlHandle, true);
// loop while the enable system flag is true while(gMotorVars.Flag_enableSys) { CTRL_Obj *obj = (CTRL_Obj *)ctrlHandle;
用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
Eric Ma:
回复 user4708725:
你要修改PWM的开关频率只需要改变PWM的周期寄存器就可以,可以在for循环里面修改,但是你电机运行过程中修改PWM的周期寄存器,要小心一点,不然容易导致不稳定。
另外我认为还是存在无法100%启动的情况。
ERIC
用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
user4708725:
回复 Eric Ma:
在for(;;)循环里改变pUserParams->pwmPeriod_usec,实测开关频率没有变化,怎么回事?
在for(;;)循环外改变pUserParams->pwmPeriod_usec,实测开关频率变化,但是无法退出or(;;)循环怎么回事?
HAL_setupPwms(handle, (float_t)pUserParams->systemFreq_MHz, pUserParams->pwmPeriod_usec, USER_NUM_PWM_TICKS_PER_ISR_TICK);
PWM_setPeriod(obj->pwmHandle[PWM_Number_1],halfPeriod_cycles); PWM_setPeriod(obj->pwmHandle[PWM_Number_2],halfPeriod_cycles); PWM_setPeriod(obj->pwmHandle[PWM_Number_3],halfPeriod_cycles);
用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
Eric Ma:
回复 user4708725:
for循环是一个死循环,怎么退出?
你要是想退出,就别用for(;;)。
ERIC
用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
user4708725:
回复 Eric Ma:
我用goto语句退出来了,也成功修改了频率,可是电机此时发热严重,pwm脉冲波形有毛刺,能去掉毛刺吗?
用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
rookiecalf:
回复 user4708725:
不能使用这种方式的,退出死循环的话,会跳转到main初始化部分,这一段时间如果不做特殊处理,电机是会失控的。
建议还在主循环中修改载频,但是与载频相关的一系列参数也要同步更新。
用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
user1303469:
回复 rookiecalf:
我觉得你得高清楚 为什么改变频率可以启动。没有理论支持都是瞎搞
用FOC驱动PMSM,当PMSM的负载达到额定负载时,电机无法平滑启动,启动瞬间会有卡顿现象,卡顿后又正常运行。电机待额定负载的一半启动时不会出现该现象,这是为什么呢?怎么样才可以正常带额定负载启动?
user4708725:
回复 user1303469:
我主要是想做随机SVPWM空间矢量算法,谢谢!