Part Number:LAUNCHXL-F280049COther Parts Discussed in Thread: BOOSTXL-DRV8320RS
最近在学习TI的INSTASPIN-FOC无感例程
使用的开发板是LAUNCHXL-F280049C和BOOSTXL-DRV8320RS
使用的电机是一款旋翼无人机电机,BR2804,极对数是7,kv值是1700,控制电压是12V。
我跑通了is05 Motor ID到is09 flying_start这几个例程,电机参数可以辨识,电机也可以运转正常,但是当我尝试提高电机转速时,发现了问题。我的电机转速无法提高到1000Hz以上,也就是针对我这个7对极电机,最高转速只能跑到8500rpm左右,而这款电机用市场上的常见无人机电调,可以很轻松的拉到20000rpm以上。当我尝试将电机转速设置到1100Hz或者1200Hz时,电机开始发出巨大的噪音,并且空载电流从0.35A急剧上升到3.5A,转速不升反降低,感觉是出现了类似“失步”的问题。
我试着将调制系数USER_MAX_VS_MAG_PU从0.5改到0.57,最终将调制系数改到0.66发现并没有什么作用,电机转速仍然无法提高到1000Hz以上。我检查了overmodulation过调制功能模块,发现在1000Hz时,overmodulation过调制功能貌似压根就没有启动,svgencurrent.ignoreShunt这个参数依然是采集三个电阻的电流,svgencurrent.compMode显示测量三项电流不变,并没有进入过调制流程。也就是说明我的转速还有提升空间,反电动势并没有饱和。
为了验证我程序是否正确,我换了一款低转速的普通BLDC电机,该电机电压为24V,极对数很少,只有2对极,标称额定转速是3000转,我用这款电机测试了我的程序,发现程序是没有问题的,将USER_MAX_VS_MAG_PU设定到0.66后,我看到了svgencurrent.ignoreShunt和svgencurrent.compMode开始启动两相电阻采样,也就是过调制功能启动了,在这种状态下,电机转速也轻易上升到了5000rpm,进而说明我这个程序应该没有问题。
这就不禁让我怀疑INSTASPIN-FOC是否因为消耗处理器资源过多,比如算法时间过长,导致无法支持极对数比较多的高速无人机旋翼电机?TI网站上倒是有一篇文章,ZHCU503《适用于无人机 ESC 的高速无传感器 FOC 参考设计 》中提到了基于INSTASPIN-FOC的无人机ESC电调设计,但是采用的是6对极电机,文章中标称的转速也仅仅是说测试到了1200Hz(12000rpm),跟我的1000-1100Hz差别不大,并不能说明INSTASPIN-FOC能支持更高的转速。而由于我的电机是7对极的,如果只能跑到1000-1100Hz,直接导致我的电机转速都上不了10000rpm,这对无人机旋翼电机来说是不能接受的。
我也不知道是我参数设置的不对,还是INSTASPIN-FOC确实不支持这种极对数比较多的高速电机,求指导。
Green Deng:
你好,instaSPIN-FOC算法的问题建议直接在英文E2E论坛咨询。英文论坛有该算法方面的专家Yanming Luo会帮你解决你的问题:e2e.ti.com/…/c2000-microcontrollers-forum