当前位置: 首页 > news >正文

【无刷电机FOC进阶基础准备】【04 clark变换、park变换、等幅值变换】

目录

      • clark变换
      • park变换
      • 等幅值变换

其实我不太记得住什么是clark变换、park变换,我每次要用到这个名词的时候都会上网查一下,因为这就是两个名词而已,但是我能记住的是他们背后的含义。
经过【从零开始实现stm32无刷电机FOC】系列后应该对clark变换、park变换有了解了,本节对他们再介绍一遍,本节的重点是等幅值变换。

clark变换

本质是将abc相的数据投影到αβ轴上,如下图所示,αβ轴是静止的相互垂直的坐标轴。
在这里插入图片描述
{ α = a − b ∗ cos ⁡ 60 ° − c ∗ cos ⁡ 60 ° β = b ∗ cos ⁡ 30 ° − c ∗ cos ⁡ 30 ° \begin{cases} \alpha=a-b*\cos{60\degree}-c*\cos{60\degree} \\ \beta=b*\cos{30\degree}-c*\cos{30\degree} \end{cases} {α=abcos60°ccos60°β=bcos30°ccos30°
写成矩阵形式就是:
[ α β ] = [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ a b c ] \begin{bmatrix} \alpha \\ \beta \end{bmatrix}=\begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} a \\ b \\ c \end{bmatrix} [αβ]=[102123 2123 ] abc
其中的矩阵就是clark变换矩阵:
M c l a r k = [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] \mathrm{M}_{clark}= \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} Mclark=[102123 2123 ]
clark逆变换就是将αβ轴的数据投影到abc相,如下图所示。
在这里插入图片描述

M i n c l a r k = [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] \mathrm{M}_{inclark}= \begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} Minclark= 12121023 23

park变换

本质是将αβ轴的数据投影到dq轴上,也可以看作αβ轴旋转到dq轴,如下图所示,dq轴是旋转的相互垂直的坐标系。
在这里插入图片描述

{ d = α ∗ cos ⁡ θ + β ∗ sin ⁡ θ q = − α ∗ sin ⁡ θ + β ∗ cos ⁡ θ \begin{cases} d=\alpha*\cos{\theta}+\beta*\sin{\theta} \\ q=-\alpha*\sin{\theta}+\beta*\cos{\theta} \end{cases} {d=αcosθ+βsinθq=αsinθ+βcosθ
写成矩阵形式就是:
[ d q ] = [ cos ⁡ θ sin ⁡ θ − sin ⁡ θ cos ⁡ θ ] [ α β ] \begin{bmatrix} d \\ q \end{bmatrix}=\begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{bmatrix}\begin{bmatrix} \alpha \\ \beta \end{bmatrix} [dq]=[cosθsinθsinθcosθ][αβ]
其中的矩阵就是park变换矩阵,这个矩阵就是一个旋转矩阵:
M p a r k = [ cos ⁡ θ sin ⁡ θ − sin ⁡ θ cos ⁡ θ ] \mathrm{M}_{park}=\begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{bmatrix} Mpark=[cosθsinθsinθcosθ]
park逆变换就是dq轴转到αβ轴,就是反向旋转,反向旋转矩阵直接求逆矩阵就可以了:
M i n p a r k = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] \mathrm{M}_{inpark}=\begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} Minpark=[cosθsinθsinθcosθ]
[ α β ] = M i n p a r k [ d q ] \begin{bmatrix} \alpha \\ \beta \end{bmatrix}=\mathrm{M}_{inpark}\begin{bmatrix} d \\ q \end{bmatrix} [αβ]=Minpark[dq]

等幅值变换

在数学推导以及代码实现上,我们希望abc相坐标系、αβ轴、dq轴的最大坐标轴长度统一,各种数值能够缩放到单位量,如果最大电流是1A,最大电压是1V,这样能够方便推导和代码实现,等幅值变换就是为了这个效果。
park变换是旋转矩阵,旋转不会改变坐标轴长度,因此park变换不需要再加等幅值变换,或者说它天然就是等幅值变换。
分析一下clark变换对坐标轴长度的影响,假设abc相的mos管桥臂分别处于[1,0,0]开关状态,那么abc相电流分别为[1,- 1 2 \frac{1}{2} 21,- 1 2 \frac{1}{2} 21],用clark变换进行计算一下:
[ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ 1 − 1 2 − 1 2 ] = [ 3 2 0 ] \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} 1 \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix}=\begin{bmatrix} \frac{3}{2}\\ 0 \end{bmatrix} [102123 2123 ] 12121 =[230]
可以看到α轴的长度为 3 2 \frac{3}{2} 23,这意味着幅值为1的abc相坐标轴经过clark变换后得到的αβ轴幅值为 3 2 \frac{3}{2} 23。而我们想要最大幅值为单位长度1,因此如果在clark变换矩阵前再人为乘一个 2 3 \frac{2}{3} 32系数,那么αβ轴就在单位长度范围内了,如下所示:
2 3 [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ 1 − 1 2 − 1 2 ] = [ 1 0 ] \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} 1 \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix}=\begin{bmatrix} 1\\ 0 \end{bmatrix} 32[102123 2123 ] 12121 =[10]
这个乘 2 3 \frac{2}{3} 32就是clark变换的等幅值变换,是指将abc相的幅值和αβ轴的幅值统一大小,方便推导和写代码。
这时候会有疑问,难道可以随便乘 2 3 \frac{2}{3} 32吗?是的,可以随便乘,如果你不嫌麻烦,你乘1万也行,因为最终用到的是αβ轴两者的比例关系,αβ轴的长度同时放大和缩小又有什么关系呢,最终体现在SVPWM内两个基础矢量的比例关系。

再来分析下clark逆变换,假设αβ轴长度分别是1,0,那么abc相的长度经过clark逆变换后会变成多少呢:
[ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] [ 1 0 ] = [ 1 − 1 2 − 1 2 ] \begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} 1\\ 0 \end{bmatrix}=\begin{bmatrix} 1 \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix} 12121023 23 [10]= 12121
竟然直接变成了等幅值的abc相,这意味着clark逆变换不需要额外加等幅值系数,它天生就是等幅值变换的。这是为什么呢?我们可以将clark变换和clark逆变换直接乘一下:
[ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] = [ 3 2 0 0 3 2 ] \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}=\begin{bmatrix} \frac{3}{2} &0 \\ 0 &\frac{3}{2} \end{bmatrix} [102123 2123 ] 12121023 23 =[230023]
我们直观地想,任何一个变换乘以其逆变换,结果当然要等于没变换,而经历一次clark正逆变换后,得到的长度是原先的 3 2 \frac{3}{2} 23倍,正好可以对应clark变换带来的 3 2 \frac{3}{2} 23倍以及clark逆变换带来的1倍。
只要保证任何一个变换乘以其逆变换,结果当然要等于没变换,矩阵前面的变换系数可以随便放置,比如等幅值变换全部放在clark变换前面,等功率变换分别放在clark变换和clark逆变换前面:
等幅值变换: 2 3 [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] = [ 1 0 0 1 ] 等幅值变换:\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} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}=\begin{bmatrix} 1 &0 \\ 0 &1 \end{bmatrix} 等幅值变换:32[102123 2123 ] 12121023 23 =[1001]
等功率变换: 2 3 [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] ∗ 2 3 [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] = [ 1 0 0 1 ] 等功率变换:\sqrt\frac{2}{3}\begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}*\sqrt\frac{2}{3}\begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}=\begin{bmatrix} 1 &0 \\ 0 &1 \end{bmatrix} 等功率变换:32 [102123 2123 ]32 12121023 23 =[1001]

相关文章:

  • 网站空间指的是什么意思网络营销属于什么专业类型
  • 晋江住房和城乡建设局网站临沂seo代理商
  • 住房和城乡建设部官方网站发布做关键词排名好的公司
  • 图文设计厦门seo服务
  • 空白word个人简历模板下载seo是什么职业
  • 厦门做网站多少钱百度云官网首页
  • 洛谷P1217 [USACO1.5] 回文质数 Prime Palindromes
  • 【AI News | 20250623】每日AI进展
  • 世界因你不同:李开复自传
  • ubuntu安装postman教程并中文汉化详细教程
  • 小白成长之路--nginx基础配置(一)
  • 基于java SSM的房屋租赁系统设计和实现
  • 【android bluetooth 框架分析 04】【bt-framework 层详解 8】【DeviceProperties介绍】
  • PyTorch 实现的 GlobalPMFSBlock_AP_Separate:嵌套注意力机制在多尺度特征聚合中的应用
  • Redis04
  • 腾讯混元3D制作角色模型的教程-3
  • 车载诊断架构 --- 关于电动车的排放协议:ZEVonUDS
  • 更新麒麟连不上外网
  • python中学物理实验模拟:平抛运动和抛物运动
  • 触摸屏(典型 I2C + Input 子系统设备)从设备树解析到触摸事件上报
  • 011 Linux进程
  • OpenLayers 图文标注大全
  • springcloud/springmvc协调作用传递验证信息
  • 什么是Sentinel?以及优缺点
  • 手撕 Decoder
  • Day 2:Shell变量解密——从“Hello World“到会“记忆“的脚本