感觉身体被掏空!只因为肝了这篇空间矢量控制算法 | 您所在的位置:网站首页 › 感觉身体被掏空是啥意思 › 感觉身体被掏空!只因为肝了这篇空间矢量控制算法 |
前面的话
之前做了一个项目,参考了开源项目本杰明电调(去GitHub搜VESC)或者simpleFOC也不错,总之都挺香;换做自己写,原本以为会挺简单的,没想到入坑了,而且还挺深的,烧了不少片子,烧了不少板子,感觉身体被掏空 1 前言 2 FOC算法架构 3 坐标变换 4 SVPWM 5 反馈部分 6 闭环控制 写在最后 1 前言Field Oriented Control 磁场定向控制 (FOC),FOC是有效换向的公认方法。FOC的核心是估计转子电场的方向。一旦估计了转子的电角度,就将电动机的三相换相,以使定子磁场垂直于转子磁场。本文参考了TI,microchip的相关文档,基于STM32F103系列单片机实现了带编码器的FOC算法,实现了对通用伺服电机(表贴式PMSM)的控制。 2 FOC算法架构FOC算法的整体架构如下图所示,采用了双闭环的控制系统,包括速度环和电流环,也叫转矩环,而传统的伺服驱动器还需要位置环,图中并未给出,这个后面另外描述,反馈部分采用双电阻采样,和增量编码器。 坐标变换,由于PMSM是非线性的复杂系统,为了实现控制上的解耦,需要进行坐标变换; Clark变换; Park变换; SVPWM模块; 反馈量采集部分 相电流采集 编码器信号采集 闭环控制部分可以分为三个环节;当然,根据需求,双闭环也比较常见; 位置环 速度环 电流环 下面会对每个环节的关键部分做一下介绍,具体的实现与细节由于篇幅有限会另外开篇幅做介绍。 3 坐标变换三相坐标到静止坐标系 坐标系可以分为恒幅值变换和恒功率变换,两者的主要区别就是变换系数不同,下文统一使用恒幅值变换。 3.1 Clark变换三相电流ABC分别为 , , ,根据基尔霍夫电流定律满足以下公式:
静止坐标系 , 轴的电流分量为 , ,则Clark变换满足以下公式: 3.2 Park变换Park变换的本质是静止坐标系 乘以一个旋转矩阵,从而得到 坐标系,其中; 轴又叫直轴,方向与转子磁链方向重合; 轴又叫交轴,方向与转子磁链方向垂直; 所以,帕克变换又叫交直变换,由静止坐标系 上的交流量最终变换到 坐标系上的直流量;Park变换满足以下公式;
3.3 Park反变换 Park又叫直交变换,满足以下公式:
4 SVPWM 实际的马鞍波如下图所示; 反馈部分需要采集相电流,电角度和速度,如下图所示;红色曲线表示 ;黄色曲线表示 ;蓝色曲线表示电角度 ; ![]() 图中黄色箭头所指的点,可以看到满足以下条件: 5.1 相电流 相电流采样通常有三种方案; 单电阻采样; 双电阻采样; 三电阻采样; 5.2 电角度和转速电角度的测量需要通过对编码器进行正交解码,STM32的TIM定时器自带编码器接口,可以很轻松实现对正交编码器的正交编码; 6 闭环控制 6.1 电流环最终给出电流闭环的结构,如下图所示; 红色曲线表示 黄色曲线表示 粉色曲线表示 蓝色曲线表示 由于使用的表贴式PMSM,满足以下条件:
所以, 轴和 轴可以共用同一套PI参数,可以通过经验试凑法进行参数整定,或者可以通过测量电机参数,计算PI参数的大致范围,然后再进行细调。 6.2 速度环![]() 电流环调节稳定之后,速度环需要调整速度PI控制器,这里可以参阅如何调试PI参数。 6.3 位置环红色曲线表示给定位置;黄色曲线表示实际位置;粉色曲线表示给定转速;蓝色曲线表示实际转速; 代码量倒不是很大,感觉还是硬件上的坑,经过一段时间的调试,终于完成了从零到一的FOC算法框架,由于能力有限,有的地方理解不到位,需要细加斟酌,如有错误的地方,希望斧正,另外由于FOC内容较多,篇幅较长,时间有限,后续会进一步进行补充,细节的部分以后有时间再单独开篇进行讨论。 —— The End —— 推荐好文 点击蓝色字体即可跳转 ☞ 当心!别再被大小端的问题坑了 ☞ 简易PID算法的快速扫盲 ☞ 推荐 | 一文详解FOC坐标变换 ☞ 三面大疆惨败,因为不懂PID的积分抗饱和 ☞ 我打赌!你还不会UART 原创不易,欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持! 长按识别二维码关注获取更多内容 |
CopyRight 2018-2019 实验室设备网 版权所有 |