永磁同步电机FOC调试记录(一)
前言
这是我个人从零开始尝试永磁同步电机(PMSM)控制的记录,主要是调试过程中遇到的一些问题以及debug思路,欢迎各位前辈讨论交流。
由于版权原因,暂时无法分享代码,另外本博客中的所有涉及到的图片或内容如有侵权,可联系删除
本文不涉及FOC基础原理的讲解,使用ST官方提供的电机控制库实现FOC计算
本文将按照时间顺序记录调试遇到的问题和解决方法
架构
硬件架构
最开始采用了硬石电子YS-F4Pro控制板和开发板,后期变为自己设计打板的控制板和驱动板。值得注意的是硬石提供的成品驱动板中,线电流采用的是下管分压的采集方式,在电流采样逻辑中需要格外注意。
控制板暂时选用STM32F407 相关例程使用的是正点原子的例程
软件架构
软件架构比较简单,几乎是按照最基础的面向过程的变成方式实现的
主要是由主函数、电流采样、速度采样、FOC计算几个模块组成
详细内容如果有时间会在后面的文章中记录,同样也是因为软件还在不断迭代中,等开发完全之后再进行介绍
调试过程
元器件选型
开始这个项目之前首先进行了相关的元器件选型,选用了杭州微光生产的一款永磁同步电机,以及硬石电子配套的永磁同步电机开发版,这里由于功率板的电流采样功能使用的是下管导通的形式,给后边进行电流采样的时候留下了一个大坑,暂时按下不表。
编码器选择的事多摩川的一款多圈绝对式编码器,单圈精度23bit,多圈13bit,使用485协议与控制板通信。
开环控制
首先要对电机进行开环控制,即生成三路互补的PWM波,本文采用了SPWM的方式(这部分也是由硬石电子提供的)对电机进行开环控制,值得注意的是,在使用硬石原装SVPWM代码进行开环调试时电机不能旋转,最后定位到的原因是MOS管驱动芯片的使能引脚没有设置。这是本次调试遇到的第一个问题,以后如果遇到这类问题的调试思路是在板子上一级一级地看信号状态,这样就能定位到信号时在哪里突然消失的,也就是哪部分出现了问题。
编码器调试
完成电机驱动部分程序的编写后进行反馈回路的调试,首先是调试编码器,也就是需要用485协议与