Simulink 自动代码生成电机控制:弱磁控制从仿真到硬件开发板验证实验
目录
前言
仿真
生成代码在硬件上运行
总结
前言
测试了一个新的小电机,24V只能跑2000RPM左右,在此基础上测试一下弱磁控制,由于MTPA只适用于表贴电机,测试效果不能直观看出来,一般是通过测试效率。而前馈解耦的响应很不明显,只有弱磁控制可以通过速度表现出来,就尝试了一下弱磁的仿真到代码生成在开发板上进行测试。记录一下效果和过程。
仿真
速度环输出的Iq_ref之后就是弱磁控制,这里的弱磁是通过PI来控制Id_ref的,原理和ST电机库的弱磁类似,这里就不细说了。构建模型如下:
仿真效果如下:
弱磁前,速度达不到目标转速2500RPM
弱磁后,目标转速可以达到2500RPM
这里速度环的响应不需要做优化,真正到硬件上再标定。
仿真效果可以,下一步硬件系统测试
生成代码在硬件上运行
开发板还是一直用的开发板,电机换了一个,这里的角度通过霍尔来计算的(电机自带霍尔)
需要调整的参数主要是弱磁的下限,也就是-Id_ref的最小值,如果这个值太大,电机效率会很低,可能会有很高的转速,但是相电流会非常大,效率不高,还可能会引起电机发热,需要根据电机的特性和系统转速需求等适当选择。弱磁参数如下:
测试直流电压:24V
不使能弱磁:
给定转速2700RPM,实际只能跑到2400RPM不到
弱磁后:
给定转速2700RPM,可以跑到目标转速
目标转速从2200RPM到2700RPM来回切换(从非弱磁区到弱磁区切换),可以看到切换平滑,速度也算稳定 :
总结
从仿真和实际运行来看,实际弱磁的效果和仿真一样。在实际调试中会存弱磁区速度和非弱磁区速度稳定性不一样,这可能是多方面的原因,需要综合整个系统考虑,有时候Id_ref给定后响应慢,需要对电流环的带宽进行优化。有时候速度在非弱磁区工作正常,但是在弱磁区会不稳定,也有可能是速度环参数带宽需要调整,需要根据实际情况进行判断。