凡亿教育-小米
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | FOC控制中的这个Bug是怎么引入的?
FOC控制中的这个Bug是怎么引入的?

1、FOC控制


FOC作为BLDC和PMSM电机的高精度控制算法,受到越来越多工程师的喜爱和研究,而自ST公开电机控制SDK后,最近研究了下这个SDK,发现在不采集母线电压的时候,会出现BUG,电机无法启动。首先来看配置文件,如果是勾选母线电压

1a3648d77a1ba40f95181ff1694ff3.jpg

f87598205450d97ed53264481cd4a6.jpg

两者驱动配置一模一样,如下

565965c53cced3cb8d1f94c4c8df49.jpg

如果不勾选,那么打掉母线电压检测的选项就可以,这是一个可选项,如果不采集母线电压,会使用输入的额定电压作为虚拟母线电压。16K的PWM频率,生成的工程,勾选母线电压,电机可正常调速,不勾选母线电压,不改动代码情况下,电机不动,进工程,打断点后发现程序会停在ADC校准的里面出不来,状态机进不了电机的运行态。

1、Bug追踪


进到工程中追踪发现会停在ADC校准出不来

4e18a8708e80c85d24022d971b6570.jpg

始终停在这里不走,

409d46a3cc27866338f9599c220488.jpg

这是单电阻电流采样的通道,这个bug无法理解,随注释掉这行代码,发现扭矩模式告诉下可以正常运行,低速下无法正常运行,转速模式下无法正常运行,而所有PID参数跟勾选母线电压采集的工程均一样,查了两天没找出原因,不知各位有没有遇到这种情况。欢迎交流

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论