FOC 的 Simulink 仿真

Simulink有感FOC仿真 搭建速度环位置环双闭环FOC控制模型,后续考虑在这个模型上实现滑膜观测器,实现无感FOC模型。 阅读详情
AI摘要

本文详细介绍了FOC控制系统中Clark、Park及其逆变换的原理与Simulink仿真过程,涵盖SVPWM调制、电流环PI控制及速度环设计,重点分析各环节的数学公式与仿真结果,展示如何实现高效电机控制。

一、Clark 变换

1.1 Clark 变换概述

在 FOC (Field Oriented Control,磁场定向控制) 中,Clark 变换是将三相电流信号转换为两相静态坐标系的一个步骤。这个变换是 FOC 控制策略的基础之一。

Clark 变换的主要作用是将三相信号 (A、B、C),其在数学上我们将这三项看做成间隔 120° 的矢量。转换成两个静态坐标系的信号 (α、β) 间隔 90° 的矢量。这可以简化后续的控制计算。

1.2 Clark 变换公式

\begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix} = \frac{2}{3} \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} i_a \\ i_b \\ i_c \end{bmatrix}

  • i_{a}、i_{b} 、i_{c} = a、b、c 三项原始电流
  • i_{\alpha}、i_{\beta } = 变换后的 α、β 电流

1.3 仿真搭建

在这里我们把矩阵形式的 Clark 公式转换为两个等式:

\left\{\begin{matrix} i_{\alpha} &= i_a \times \frac{2}{3} - \frac{i_b + i_c}{3} \\ i_{\beta} &= (i_b - i_c) \times \frac{\sqrt{3}}{3}\end{matrix}\right.

  • i_{a}、i_{b} 、i_{c} = a、b、c 三项原始电流
  • i_{\alpha}、i_{\beta } = 变换后的 α、β 电流

之后根据这个公式搭建我们的模型:

全部模型如下,其中 ThreeCurrGenerator 是我们模拟的三相电机电流:

1.4 仿真结果

我们查看上图中的 Scope1 和 Scope2 即可得到当前电流。

1.4.1 三项电流

 在 Scope1 中,是我们模拟的电机工作 a、b、c 三项电流:

1.4.2  α、β 轴电流

 在 Scope2 中,是我们得到的 α、β 轴电流:

二、Park 变换

2.1 Park 变换概述

Park 变换是电机控制中的一种坐标变换,它将两相静态坐标系 (α-β 坐标系) 的信号转换为旋转坐标系 (d-q 坐标系)。这种变换使得电机的控制更加简便,因为它将电流 (或电压) 信号与电机的磁场对齐,从而使得对转矩和磁场的控制变得更加直观和有效。

通过 Park 变换将这些信号转换为与电机磁场对齐的坐标系,也可以理解为在 α-β 坐标系中剔除了电机信息,即 d-q 坐标系。在 d-q 坐标系中,电机的控制变得更加直观:d 轴 (直轴) 与定子磁场对齐,q轴 (交轴) 则与转矩相关。

2.2 Park 变换公式

\begin{bmatrix} i_d \\ i_q \end{bmatrix} = \begin{bmatrix} \cos(\theta) & \sin(\theta) \\ -\sin(\theta) & \cos(\theta) \end{bmatrix} \begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix}

  • i_{\alpha}、i_{\beta } = α、β 电流
  • i_{d}、i_{q} = d、q 电流
  • \theta = 电角度值

2.3 仿真搭建

\left\{ \begin{array}{l} i_d = i_{\alpha} \cos(\theta) + i_{\beta} \sin(\theta) \\ i_q = -i_{\alpha} \sin(\theta) + i_{\beta} \cos(\theta) \end{array} \right.

  • i_{\alpha}、i_{\beta } = α、β 电流
  • i_{d}、i_{q} = d、q 电流
  • \theta = 电角度值

之后根据这个公式搭建我们的模型:

全部模型如下,其中 ThreeCurrGenerator 是我们模拟的三相电机电流:

2.4 仿真结果

我们查看上图中的 Scope1、Scope2 和 Scope3 即可得到当前电流。

2.4.1 三项电流

 在 Scope1 中,是我们模拟的电机工作 a、b、c 三项电流:

2.4.2 电机角度

Scope3 角度波形显示了我们模拟的角度:

1.4.3  α、β 轴电流

 在 Scope3 中,是我们得到的 α、β 轴电流:

1.4.4 d、q 轴电流

 在 Scope4 中,是我们得到的 d、q 轴电流:

三、Park 逆变换

3.1 Park 逆变换概述

Park 逆变换(Inverse Park Transformation)也可以用于将直轴 idi_did​ 和交轴 iqi_qiq​ 电流转回到 αβ\alpha \betaαβ 坐标系(通常称为 αβ 轴)。这种变换在变频器控制和电机控制中非常常见,特别是在磁场定向控制(FOC)中。

3.2 Park 逆变换公式

\begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} = \begin{bmatrix} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{bmatrix} \begin{bmatrix} i_d \\ i_q \end{bmatrix}

  • i_{\alpha}、i_{\beta } = α、β 电流
  • i_{d}、i_{q} = d、q 电流
  • \theta = 电角度值

3.3 仿真搭建

\left\{ \begin{aligned} V_\alpha &= u_d \cdot \cos(\theta) - u_q \cdot \sin(\theta) \\ V_\beta &= u_d \cdot \sin(\theta) + u_q \cdot \cos(\theta) \end{aligned} \right.

  • i_{\alpha}、i_{\beta } = α、β 电流
  • i_{d}、i_{q} = d、q 电流
  • \theta = 电角度值

根据这个公式搭建我们的模型:

3.4 仿真结果

3.4.1 原始的 i_{d}、i_{q} 波形

3.4.2 Park 逆变换后的 α、β 波形

四、SVPWM (零序注入法)

4.1 SVPWM 概述

SVPWM (空间矢量脉宽调制) 是一种常用于三相电机控制 (如无刷直流电机或交流异步电机) 中的调制技术。它的核心目标是提高电机驱动系统的效率和性能。

SVPWM 比 SPWM 的优势除了降低谐波、优化电流、减少电磁干扰等特性外,最大的特点就是提高了电压利用率。

在这种方式驱动下,如果我们测量相电压,也就是 A、B、C 三项与低的电势差,波形会是左图这样。按照图中 1V 为母线电压,在任意两相其最大电压差仅有 0.866V,也就是浪费掉了 13.4% 的电压驱动能力。

所以我们希望做功区域能覆盖整个电压差,这就需要 SVPWM 技术了,他的输出波形会是一个马鞍面,也就是右图:

SPWM
SVPWM

4.2 零序注入法概述

通过给三相参考电压同时加一个公共偏置电压 (零序电压),让三相参考波形整体上移或下移,从而让参考电压更接近六边形边界,使逆变器的 DC 母线得到最大利用。

在下图中,正弦波是我们的 SPWM 波形;中间的三角波是我们的注入量;马鞍波是注入后的SVPWM 波形。可见,在同等的输出电压情况,SVPWM 的电压峰值要比 SPWM 的峰值低 0.2V。

4.3 零序注入法公式

  • V_{am}、V_{bm}、V_{cm} = 三相电的相电压 (线对地电压)
  • V_{ml} = 相电压峰值
  • sin(\omega t)、sin(\omega t-\frac{2\pi }{3})、sin(\omega t+\frac{2\pi }{3}) = 电压120°的超前后滞后
  • V_{0} = 零序分量

其中零序分量公式如下:

V_{0}=-\dfrac{1}{2}\left(V_{\max }+V_{\min }\right)

  • V_{\max } = 当前三相中最大的电压
  • V_{\min} =  当前三相中最小的电压

4.4 仿真搭建

根据零序分量公式搭建模型:

V_{0}=-\dfrac{1}{2}\left(V_{\max }+V_{\min }\right)

  • V_{\max } = 当前三相中最大的电压
  • V_{\min} =  当前三相中最小的电压

将 Valpha,Vbeta 进行逆 Park 变换,得到三项电压。之后除以 v_bus,得到一个 -0.5~0.5 的电压值,之后加上 0.5 其乘 8000 也就是 PWM 其所需要的寄存器 crr 值。

4.5 仿真结果

4.5.1 SPWM、SVPWM 和零序分量波形

这个波形包括 SPWM 和等价变换后的 SVPWM,可见在同等的输出效果中,SVPWM 要比 SPWM 的电压利用率要低。在 0 附近的三角波则是我们注入的零序分量。

4.5.2 SVPWM 波形

4.5.3 除以母线的电压

最后我们将输出的 SVPWM 值除以母线电压后加 0.5,此时我们输出的电压范围 0~1。

五、电流环

3.1 电流环概述

电流环实际上是电机控制中的一个核心闭环,主要用于精确控制三相电机 (如 PMSM、BLDC) 的电流,使电机按期望转矩和磁场方向运行。

在 FOC 中,我们会把三相电流 i_{a}​、i_{b}、i_{c} 通过 Clark 变换和 Park 变换,转到 d-q 坐标系,电流环就是 对 d、q 电流进行闭环控制,保证它们跟随给定的参考值的 i_{d}、i_{q}。

3.2 电流环 PI 公式

u(t) = K_p e(t) + K_i \int_0^t e(\tau) \, d\tau

3.3 仿真搭建

3.4 仿真结果

3.4.1 d 轴电流环 PI 调节

我们 d 轴的电流目标值为 0,其中黄线是 PI 输出值,蓝线是目标减去反馈的误差值。

3.4.2 d 轴电流环 PI 调节

我们 d 轴的电流目标值为 5,其中黄线是 PI 输出值,蓝线是目标减去反馈的误差值。

六、速度环

6.1 速度环概述

速度环是控制电机转速的外环控制器,位于:
位置环 → 速度环 → 电流环 → PWM/驱动。结构中,也是由速度环给目标电流,然后交给电流环做闭环运行。

FOC 中真正能让电机动起来的是电流环 (iq 控扭矩),而速度环的任务是根据转速误差决定应该给电流环多少 iq (扭矩) 指令。

6.2 仿真搭建

电机FOC控制与Simulink电机仿真(下) 在上篇文章中,我们简要介绍了电机磁场定向控制(FOC)的基础理论,说明了永磁同步电机(PMSM)与交流感应电机(ACIM)的控制差异,并对TMC4671芯片与RIO6100仿真计算机构建的仿真测试验证系统组成做了介绍。在此基础上,本文将着重讨论Simulink电机模型开发与部署,及其相关实验结果。 阅读详情

相关推荐

永磁同步电机的FOC控制Simulink建模

上篇文章我们学习了关于FOC算法的流程和相关的公式,接下来我们就利用simulink进行建模仿真,之后我们将利用simulink的模型生成c/c++代码到开发板上进行实物验证。到这里我们foc控制就搭建完毕了(位置环同理,大家可以自己试一下),下一步我们就可以将模型和用到的一些数据整理,为生成代码做准备。

Tartaronis的博客 4883

FOC矢量控制及仿真

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、FOC矢量控制原理二、FOC矢量控制仿真1.模块介绍2.simulink仿真2.仿真结果总结 前言 一、FOC矢量控制原理 1. FOC矢量控制概念 根据百度百科,矢量控制(vector control)也称为磁场导向控制(field-oriented control,简称FOC),是一种利用变频器(VFD)控制三相交流电机的技术,利用调整变频器的输出频率、输出电压的大小及角度,来控制电机的输出。其特性是可以分别控制电机的

pgs7008的博客 1万+

电机FOC控制与Simulink电机仿真(上)

随着工业自动化与新能源技术的快速发展,电机控制技术已成为现代工业领域的核心支撑。磁场定向控制(FOC)作为矢量控制的关键技术,通过精确解耦电机励磁与转矩电流,显著提升了电机运行效率与动态响应能力。而电机仿真技术的引入,则为控制算法开发、硬件产品验证与系统优化提供了高效工具。本文将聚焦电机控制核心技术与电机实时仿真平台,解析从控制理论到仿真测试系统实现的关键路径。

Geniuslink的博客 3056

Simulink永磁同步电机控制仿真系列九:严谨的foc时序及细节思考

之前写过foc通俗讲义,讲foc控制的原理以及其优势,但是并没有深入去分析其时序,也没有分析其具体实现,今天写一篇时序相关的文章,具体分析foc流程,并思考其中一些细节之处的设计。为了便于讲解,我使用simulink搭建了一个模型,使用matlab function从实现一个pwm定时器开始,实现了svpwm调制,坐标变换,等。使用matlab function编写模块,作为模板共享,更方便其他用户的改造,也便于不熟悉simulink的小伙伴理解。除了基础的foc框架外,还考虑了时序相关处理,采样及foc计

搞电机的博客 6381

FOC(磁场定向控制)的Simulink仿真模型实现

通过本方案,开发者可以系统掌握FOC控制在Simulink中的实现方法,从基础建模到高级优化均有详细指导。建议结合具体硬件平台进行验证,并持续优化控制参数以适应实际工况需求。

bubiyoushang888的博客 1001

电机控制FOC simulink仿真与算法代码实现

电机控制FOC算法代码实现

der_power的博客 1135

五、永磁同步电机矢量控制(FOC)—坐标变换及SVPWM Simulink仿真

在前面几节的内容中,已经详细介绍了坐标变换和SVPWM技术的理论知识,在本节内容中,将在Simulink中搭建坐标变换和SVPWM仿真模型。

weixin_45182459的博客 6342

FOC时序仿真建模:从理论到实践的Simulink实现

在电机控制领域,磁场定向控制(FOC)是实现永磁同步电机高性能调速的核心技术。其原理在于通过坐标变换将交流电机解耦为直流电机进行控制,从而实现对转矩和磁场的独立精准调节。这项技术的核心价值在于显著提升了系统的动态响应效率和稳态精度。在工业伺服驱动、新能源汽车电驱、家电变频等应用场景中,FOC的稳定运行至关重要。然而,从理论算法到实际硬件部署,一个关键环节常被忽视:数字控制系统的时序逻辑。真实的数字控制器(如DSP/MCU)运行在离散的时间点上,涉及ADC采样、PWM中断、算法计算等一系列严格的时间序列事件。

weixin_29194817的博客 283

Simulink 自动代码生成电机控制:基于霍尔FOC模型和代码生成

本实例通过Simulink建模模拟Hall信号和 MCU定时器,实现了霍尔FOC电机控制测试系统的构建,并生成代码在开发板上运行。

weixin_42665184的博客 9379

永磁同步电机FOC控制中的坐标变换simulink仿真实现

永磁同步电机FOC控制中的坐标变换simulink仿真实现

qq_36608205的博客 2594

RH1 SIMULINK中异步电机FOC矢量控制的实践与仿真

本文还有配套的精品资源,点击获取 简介:本文详细介绍如何在MATLAB的SIMULINK环境中,通过RH1工具箱实现异步电机的FOC矢量控制仿真和设计。FOC通过坐标变换将交流电机的定子电流分解为磁场电流分量和转矩电流分量,实现对电机独立控制。文章将引导读者构建一个包含信号处理、电机模型、控制器、PWM逆变器及实时仿真模块的SIMULINK模型,并对如何设置参数、调试控制系...

weixin_32445049的博客 2573

Simulink FOC 高频注入仿真

Simulink FOC 高频注入仿真 【下载地址】SimulinkFOC高频注入仿真 Simulink FOC 高频注入仿真 项目地址: https://gitcode.com/open-source-toolkit/b9e50...

gitblog_09733的博客 445

Simulink_FOC高频注入仿真:深度解析与应用

Simulink是一个基于MATLAB的图形化编程环境,用于模拟动态系统。它提供了一个可视化的界面,用户可以通过拖拽不同的功能模块来搭建系统模型。Simulink支持各种类型的动态系统建模,包括连续、离散、事件驱动、算法密集和物理系统建模。在Simulink中,基本操作包括:新建模型文件(.slx)。使用库浏览器选择和使用各种预定义模块。连接模块以及设置模块参数。运行模型并观察输出结果。

weixin_29323977的博客 1229

pmsm simulink foc 仿真模型搭建

PMSM是永磁同步电机的缩写,Simulink是MATLAB中的一种可视化建模工具,FOC是磁场定向控制的缩写,是一种电机控制策略。 因此,搭建PMSM Simulink FOC仿真模型的基本步骤包括: 通过Simulink的模块库选择合适的电机、控制器和信号源等组件,拖放到画布中组成电机系统的框架。 根据电机的参数,设置电机和控制器的各种参数,如电阻、电感、磁极数、控制器采样周期等。 设计控制...

weixin_42592399的博客 1309

FOC SVPWM BLDC直流无刷控制---simulink仿真

BLDC,SVPWM,FOC 直流无刷电机开环控制仿真

m0_46320717的博客 1041

基于simulink模拟两相混合式步进电机FOC控制+仿真结果和运行方法+仿真结果和运行方法.zip

1.版本:matlab2014/2019a/2021a,内含运行结果,不会运行可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信

学Simulink——基于Simulink的PMSM轮毂电机FOC电流环仿真

本文详细介绍了基于Simulink的PMSM轮毂电机FOC电流环仿真方法。通过分步讲解Clark变换、Park变换、PI控制器设计、SVPWM生成等核心模块的实现,建立了完整的仿真模型。实验结果显示电流跟踪误差<2%,d/q轴电流解耦度>95%,验证了模型的有效性。文中还提供了参数整定技巧、常见问题解决方案及可直接复用的MATLAB代码和Simulink模型,为电机控制工程师快速验证算法性能提供了实用参考。该仿真方法可显著缩短轮毂电机控制器开发周期,适用于新能源汽车等直驱应用场景。

xiaoheshang_123的博客 1677

为什么大语言模型推理要分成 Prefill 和 Decode?深入理解这两个阶段的真正意义

Prefill 阶段是语言模型推理中的第一个步骤,它负责处理你输入的所有上下文内容(prompt),为后续生成打下基础。“请解释一下 Transformer 的原理。这句话会被 tokenizer 编码为一串 token,比如["请", "解释", "一下", "Trans", "##former", "的", "原理", "。"]。然后这些 token 会进入 Transformer 模型进行前向传播。重点来了 👇。

Harry的博客 1万+

【亲测免费】 Simulink FOC 高频注入仿真:探索电机控制的新境界

Simulink FOC 高频注入仿真:探索电机控制的新境界 【下载地址】SimulinkFOC高频注入仿真 Simulink FOC 高频注入仿真 项目地址: https://gitcode.com/open-source-to...

gitblog_09737的博客 1304

STM32+Air724UG基于阿里云物联网平台的OTA远程升级实战指南

本文提供了一套基于STM32微控制器与Air724UG 4G Cat.1通信模组,通过阿里云物联网平台实现OTA远程升级的完整实战指南。文章详细阐述了BootLoader与用户程序的分工、云端配置、固件下载与烧写流程,并分享了关键代码实现与常见问题排查方法,帮助开发者快速为物联网设备部署稳定可靠的无线升级功能。

weixin_28285943的博客 515

【博弈论】势博弈(potential game)、EPG以及最佳响应、Nash均衡和帕累托(pareto)最优的理解

文章目录前言一、Potential game二、Nash均衡和Pareto-optimal(帕累托最优)1.Nash 均衡2.Pareto最优三、Best response(最佳响应)四、Exact potential game(EPG)1.合作-傀儡博弈2.合作博弈3.傀儡博弈4.自激博弈5.双边对称交互博弈使用理解 前言 本文主要详细讲解potential game的概念以及Exact potential game 的定义和分类,以及这么博弈方法是如何在论文中引入并使用的,本文仅是对自己在该模块

weixin_44535200的博客 2万+
上一篇: Simulink 基础模块使用
下一篇: SPWM 与 SVPWM (零序分量法实现) 电压利用率简谈
崔佳宇_
崔佳宇_ 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
博客等级 码龄10年 1万+粉丝 173原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值