• 有感FOC算法学习与实现总结


    基于STM32的有感FOC算法学习与实现总结

    1 前言

    Field Oriented Control 磁场定向控制 (FOC),FOC是有效换向的公认方法。FOC的核心是估计转子电场的方向。一旦估计了转子的电角度,就将电动机的三相换相,以使定子磁场垂直于转子磁场。本文参考了TImicrochip的相关文档,基于STM32F103系列单片机实现了带编码器的FOC算法,实现了对通用伺服电机(表贴式PMSM)的控制。

    2 FOC算法架构

    FOC算法的整体架构如下图所示,采用了双闭环的控制系统,包括速度环和电流环,也叫转矩环,而传统的伺服驱动器还需要位置环,图中并未给出,这个后面另外描述,反馈部分采用双电阻采样,和增量编码器。
    图一 FOC
    所以,从上图可以了解到,实现FOC算法总共需要以下几个部分;

    • 坐标变换,由于PMSM是非线性的复杂系统,为了实现控制上的解耦,需要进行坐标变换;
      • Clark变换;
      • Park变换;
    • SVPWM模块;
    • 反馈量采集部分
      • 相电流采集
      • 编码器信号采集
    • 闭环控制部分可以分为三个环节;当然,根据需求,双闭环也比较常见;
      • 位置环
      • 速度环
      • 电流环

    下面会对每个环节的关键部分做一下介绍,具体的实现与细节由于篇幅有限会另外开篇幅做介绍。

    3 坐标变换

    OABCOABC三相坐标到静止坐标系αβalphaeta坐标系可以分为恒幅值变换和恒功率变换,两者的主要区别就是变换系数不同,下文统一使用恒幅值变换。

    3.1 Clark变换

    三相电流ABC分别为iAi_{A}iBi_{B}iCi_{C},根据基尔霍夫电流定律满足以下公式:
    iA+iB+iC=0i_{A}+i_{B}+i_{C} = 0
    静止坐标系αβalphaetaαalpha轴的电流分量为iαi_{alpha}iβi_{eta},则Clark变换满足以下公式:

    iα=iAiβ=13iA+23iBi_{alpha} = i_{A} \ i_{eta} = cfrac{1}{sqrt{3}}*i_{A}+cfrac{2}{sqrt{3}}*i_{B}

    3.2 Park变换

    Park变换的本质是静止坐标系αβalphaeta乘以一个旋转矩阵,从而得到dqdq坐标系,其中;

    • dd 轴又叫直轴,方向与转子磁链方向重合;
    • qq 轴又叫交轴,方向与转子磁链方向垂直;

    所以,帕克变换又叫交直变换,由静止坐标系αβalphaeta上的交流量最终变换到dqdq坐标系上的直流量;
    Park变换满足以下公式;
    id=iαcosθ+iβcosθiq=iαcosθ+iβcosθi_{d}=i_{alpha}*cos heta+i_{eta}*cos heta \ i_{q}=-i_{alpha}*cos heta+i_{eta}*cos heta

    3.3 Park反变换

    Park又叫直交变换,满足以下公式:
    iα=idcosθiqsinθiβ=idcosθ+iqcosθi_{alpha}=i_{d}*cos heta-i_{q}*sin heta \ i_{eta}=i_{d}*cos heta+i_{q}*cos heta

    4 SVPWM

    实际的马鞍波如下图所示;
    在这里插入图片描述

    5 反馈部分

    反馈部分需要采集相电流,电角度和速度,如下图所示;
    色曲线表示 iAi_{A}
    色曲线表示 iBi_{B}
    色曲线表示电角度 θe heta_{e}
    在这里插入图片描述
    图中黄色箭头所指的点,可以看到满足以下条件:
    θe=0iA=0 heta_{e} = 0 \ i_{A} = 0

    5.1 相电流

    相电流采样通常有三种方案;

    • 单电阻采样;
    • 双电阻采样;
    • 三电阻采样;

    5.2 电角度和转速

    电角度的测量需要通过对编码器进行正交解码,STM32TIM定时器自带编码器接口,可以很轻松实现对正交编码器的正交编码;

    6 闭环控制

    6.1 电流环

    最终给出电流闭环的结构,如下图所示;在这里插入图片描述

    红色曲线表示 iαi_{alpha}
    黄色曲线表示 iβi_{eta}
    粉色曲线表示 iqi_{q}
    蓝色曲线表示 idi_{d}

    由于使用的表贴式PMSM,满足以下条件:
    Ld=Lq=LsL_{d} = L_{q} = L_{s}
    所以,dd轴和qq轴可以共用同一套PI参数,可以通过经验试凑法进行参数整定,或者可以通过测量电机参数,计算PI参数的大致范围,然后再进行细调。

    6.2 速度环

    在这里插入图片描述
    电流环调节稳定之后,速度环需要调整速度PI控制器,这里可以参阅如何调试PI参数。

    6.3 位置环

    红色曲线表示给定位置;
    黄色曲线表示实际位置;
    粉色曲线表示给定转速;
    蓝色曲线表示实际转速;
    在这里插入图片描述

    写在最后

    经过一段时间的调试,终于完成了从零到一的FOC算法框架,由于能力有限,有的地方理解不到位,需要细加斟酌,如有错误的地方,希望斧正,另外由于FOC内容较多,篇幅较长,时间有限,后续会进一步进行补充,细节的部分会单独开篇进行讨论。

  • 相关阅读:
    【转载】Java反射: 数组
    【转】Maven3把命令行创建的web工程转成Eclipse和IntelliJ Idea的工程
    (转载)Sumblime Text 2 常用插件以及安装方法
    [转]h5页面测试总结
    maven学习讲解
    struts2权威指南学习笔记:struts2引入自定义库
    《Struts2.x权威指南》学习笔记2
    《Struts2.x权威指南》学习笔记1
    secureCRT 如何上传下载文件
    zabbix 4.2 发送警告邮件Python脚本
  • 原文地址:https://www.cnblogs.com/unclemac/p/12783366.html
Copyright © 2020-2023  润新知