无刷电机控制之——帕克变换

news2024/11/15 9:52:27

前言

克拉克逆变换请参考如下链接
等幅值变换与克拉克逆变换

一、FOC算法流程图

在这里插入图片描述

二、帕克变换概念

1、我们需要知道二维坐标系中的I α \alpha αI β \beta β,这两个变量的变化规律,通俗来讲就是要知道这两个变量是谁输入的、谁控制的,只要明确了这两个变量的变化规律,就能通过克拉克逆变换计算三相电流值对电机进行控制了

在这里插入图片描述

2、那帕克变换就是来做这件事的,它能把电机旋转的物理状态信息转换为I α \alpha α和I β \beta β这两个变量的值

在这里插入图片描述

3、首先,在电机的定子线圈上固定 α \alpha α β \beta β坐标系

在这里插入图片描述

4、然后再在坐标系上叠加一个转子,可想而知,转子不动时 α \alpha α β \beta β肯定是一个定值,当转子转动起来 α \alpha α β \beta β肯定会随之变化,那这个值到底是多少呢?帕克变换会来告诉你

在这里插入图片描述

5、新建一个坐标系,叫做Q-D坐标系,这个坐标系是跟随着转子进行旋转的,与转子固连

在这里插入图片描述

三、帕克变换推导

1、将 α \alpha α β \beta β坐标系和Q-D坐标系画在一起,如下图所示,设定D轴指向转子的N极,Q-D坐标系和 α \alpha α β \beta β坐标系之间的夹角称为电角度 θ \theta θ

在这里插入图片描述

2、利用三角函数,把 α \alpha α β \beta β坐标系映射到Q-D坐标系,最终得到映射的矩阵形式

在这里插入图片描述

3、这个有着sin、cos的矩阵其实就是个旋转矩阵

在这里插入图片描述

4、对矩阵求逆,就得到I α \alpha α、I β \beta β的的表达式,那其实如果刚刚映射的坐标系对换一下,就不需要这步逆变换,但也许这样比较规范…反正理解了就行

在这里插入图片描述

5、那最终,核心的就是这个式子,我们只要把Id、Iq、 θ \theta θ填进去,就能对电机控制了

在这里插入图片描述

6、这个电角度 θ \theta θ可以由电机的编码器得到,那最终Id、Iq就是由我们设定的

在这里插入图片描述

7、在简单的FOC应用中,我们只需要控制Iq的大小,Id通常为0,故Iq的大小就间接决定了定子三相电流的大小

在这里插入图片描述

四、FOC算法过程

1、首先需要设定一个Iq(一般来说Id是0),就是这个Q轴的电流强度,它决定着电机的力矩

在这里插入图片描述

2、然后通过帕克逆变换得到I α \alpha α、I β \beta β

在这里插入图片描述

3、然后通过克拉克逆变换得到Ia、Ib、Ic的电流大小

在这里插入图片描述

4、最终驱动电机

在这里插入图片描述

5、电机旋转后就会产生新的 θ \theta θ,进而算法流程又会走一遍,就这样实现了闭环,电机就能一直转动,这其实就是力矩环控制,我们控制Iq就是在控制电机力矩

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1940172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytorch学习(十六)conda和pytorch的安装

1.安装anaconda 1.1 首先下载安装包 1)进入anaconda官网 Anaconda | The Operating System for AI 2)注册一下 3)下载 4)一直点直到安装完 5)配置环境变量 在path路径中加入 Anaconda安装路径 Anaconda安装路径\S…

Redis高级篇—分布式缓存

目录 Redis持久化 RDB持久化 AOF持久化 RDB与AOF对比 Redis主从 全量同步 增量同步 Redis哨兵 RedisTemplate集成哨兵实现 Redis分片集群 散列插槽 集群伸缩 故障转移 自动故障转移 手动故障转移 RedisTemplate访问分片集群 Redis持久化 RDB持久化 RDB全称Re…

zabbix监控Windows机器进程数量

zabbix监控Windows机器进程数量 文章目录 zabbix监控Windows机器进程数量背景前提条件目的实施 背景 一个windows上的进程总是崩溃,总会出现进程不存在的情况,不能实时去服务器上检查,自己不勤快就要动脑子,让自己变的更懒&#…

Java语言程序设计基础篇_编程练习题*15.9 (使用箭头键画线)

*15.9 (使用箭头键画线) 请编写一个程序,使用箭头键绘制线段。所画的线从面板的中心开始,当敲 击向右、向上、向左或向下的箭头键时,相应地向东、向北、向西或向南方向画线,如图 15-26b所示 代码展示:编程练习题15_9D…

汽车电动空调系统

1.电动空调系统概述 电动汽车制冷空调系统与传统汽车制冷空调系统基本原理一样,区别在于电动汽车空调系统采用电动空调压缩机。电动空调压缩机由驱动电机,压缩机,控制器集成。 电动空调压缩机的驱动电机采用体积小,质量轻&#x…

【线性表】:顺序表里一些主要功能的实现

框架 线性表 是 n 个具有相同特征的数据元素的有限序列 常见的线性表:顺序表、链表、栈、队列… 线性表在逻辑上是线性结构,也就是连续的一条直线 但在物理结构上不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式…

数据结构(栈及其实现)

栈 概念与结构 栈:⼀种特殊的线性表,其只允许在固定的⼀端进⾏插⼊和删除元素操作。 进⾏数据插⼊和删除操作的⼀端称为栈顶,另⼀端称为栈底。栈中的数据元素遵守后进先出 LIFO(Last In First Out)的原则。 压栈&…

Windows版MySQL5.7解压直用(如何卸载更换位置重新安装)

文章目录 停止mysql进程及服务迁移整个mysql文件夹删除data重启计算机重新安装 停止mysql进程及服务 net stop mysql mysqld -remove mysql迁移整个mysql文件夹 删除data 重启计算机 shutdown -r -t 0重新安装 https://blog.csdn.net/xzzteach/article/details/137723185

【Socket 编程 】基于UDP协议实现通信并添加简单业务

文章目录 前言实现echo server对于服务器端对于客户端UdpServer.hpp文件nococpy.hpp文件InetAddr.hpp头文件Log.hpp头文件UdpServerMain.cpp源文件UdpClientMain.cpp源文件运行结果 实现翻译业务Dict.hpp头文件UdpServerMain.cppUdpserver.hpp运行结果 前言 在了解了Socket编程…

最优化理论与方法-第十一讲-线性规划-极点的刻画

文章目录 1. 概述2. 线性规划定义3. 多面体的基本性质3.1 定义3.2 证明13.3 证明2 B站老师学习视频 1. 概述 线性规划的标准形式;多面体的几何分解;单纯形法;对偶单纯形法 2. 线性规划定义 线性规划Linear Programming:目标函数…

Ubuntu16.04环境下Baxter机器人开发环境搭建要点说明

Ubuntu16.04环境下Baxter机器人开发环境搭建要点说明 前面写过一篇文章,描述了在ubuntu20.04环境下baxter机器人开发环境的搭建,本人在后来的使用中,出于一些原因又在ubuntu16环境下搭建了开发环境,二者总体流程基本类似&#xf…

【数据分享】2013-2022年我国省市县三级的逐年SO2数据(excel\shp格式\免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000——2022年的省市县三级的逐年PM2.5数据和2013-2022年的省市县三级的逐年CO数据(均可查看之前的文章获悉详情)! 本次我们分享的是我国2013——2022年的省…

【Spark官方文档部分翻译】RDD编程指南(RDD Programming Guide)

写在前面 内容如何选择 本翻译只翻译本人认为精华的部分,本人认为的Spark的一些核心理念,编程思想。一些特别基础的操作包括但不限于搭建环境就不在此赘述了。 配套版本 本系列基于Spark 3.3.1,Scala 2.12.10,进行翻译总结 原…

pycharm报错:No module named pip/No module named pytest

1、问题概述? 今天在执行一个python脚本的时候,控制台提示:No module named pytest,就是没有pytest模块,于是我使用pip命令进行安装,命令如下; pip install pytest 结果又提示No module named pip,说我没有pip模块,没办法,再安装pip 2、安装pip-方式1 在pycharm的T…

路由表与IP数据报转发:基础小白指南

目录 1. 路由表的基本概念 2. 路由表中的默认路由 3. IP数据报的转发流程 4. 路由聚合 5. 最长前缀匹配 总结 在网络世界中,IP数据报的转发是如何进行的? 这篇文章将带你深入了解路由表的基本概念和IP数据报的转发流程。我们会用简洁明了的语言和实…

华为mate20 激活设备

升级失败 需要 准备2个usb线 一根usb1.0工程线 一根正常线 。工程线怎么做,找一个10k电阻 把红线和绿线连起来。我用的是贴片电阻103 大概是2512 1W,也可以用金属膜电阻 步骤① 热风枪吹开后盖

vscode下运行django项目(命令与可视化操作两种方式python .\demo\manage.py runserver)

文章目录 实验前提1. 命令方式操作2. code图形方式操作 实验前提 vscode配置django环境并创建django项目(全图文操作) https://blog.csdn.net/xzzteach/article/details/140591167 1. 命令方式操作 python .\demo\manage.py runserver关闭运行 2. c…

App Instance 架构示例

前言 在Unity程序设计过程中,我们处理的第一个对象是Application Instance。 它的主要职责是启动流程管理、卸载流程管理,次要职责是管理在内部的子系统生命周期。其他职责,提供或桥接应用程序的配置信息、及其他第三方接口。 它通常以单例的…

buu做题(7)

[BJDCTF2020]Mark loves cat 开始的界面没啥东西, 看了下源码好像也没啥东西 用dirsearch扫描一下 有git 泄露 用工具githack下载源码 <?phpinclude flag.php;$yds "dog"; $is "cat"; $handsome yds;foreach($_POST as $x > $y){$$x $y; }f…

【过题记录】 7.21

Mad MAD Sum 算法&#xff1a;思维&#xff0c;前缀最大值 模拟一下他的运行过程就会发现&#xff0c;两次之后整个数组就固定了&#xff0c;之后每次都是每个数往后移动一位&#xff0c;可以模拟两次之后计算每个数的存活轮数&#xff0c;计算贡献。 #include<bits/stdc.h…