Clark变换

作用

参考:

https://blog.csdn.net/chenjianbo88/article/details/53027298

https://zhuanlan.zhihu.com/p/147659820

将 平面三相坐标系IaIbIcI_aI_bI_cIa​Ib​Ic​ 变换为 平面直角坐标系IαI_\alphaIα​ IβI_\betaIβ​

写成矩阵:

Python模拟

sin函数:https://blog.csdn.net/henni_719/article/details/77367294

正弦波信号:https://blog.csdn.net/weixin_39124421/article/details/103817951

np.linspace():https://blog.csdn.net/Asher117/article/details/87855493

import numpy as np
import matplotlib.pyplot as pltdef clark_transformation(input_matrix):trans_arr = np.mat([[1, -1 / 2, -1 / 2], [0, np.sqrt(3) / 2, -np.sqrt(3) / 2]])return trans_arr * input_matrixdef show_plot():# initplt.figure(figsize=(50,10))# processlin = np.linspace(0, 50, num=1000)print(lin)sin_wave1 = np.sin(lin)phi = np.pi * 2 / 3sin_wave2 = np.sin(lin - phi)sin_wave3 = np.sin(lin - phi * 2)# drawplt.subplot(211)plt.grid()plt.title('Source')plt.plot(lin, sin_wave1)plt.plot(lin, sin_wave2)plt.plot(lin, sin_wave3)# clark transformationtrans_wave1 = np.empty(lin.shape)trans_wave2 = np.empty(lin.shape)for i in range(len(lin)):input_array = np.mat([[sin_wave1[i]], [sin_wave2[i]], [sin_wave3[i]]])output_array = clark_transformation(input_array)trans_wave1[i] = output_array[0]trans_wave2[i] = output_array[1]# drawplt.subplot(212)plt.grid()plt.title('Trans')plt.plot(lin, trans_wave1)plt.plot(lin, trans_wave2)plt.show()show_plot()

效果:

上图为相位相差2π3\frac{2\pi}{3}32π​的三个正弦波

下图为经过Clark变换得到的两个正弦波

Park变换

作用

让新的坐标系跟着theta角旋转,使得投影到该坐标系上的值为定值,达到让非线性线性化的效果

写成矩阵:(其实就是一个旋转矩阵)

Python模拟

import numpy as np
import matplotlib.pyplot as pltdef clark_transformation(input_matrix):trans_arr = np.mat([[1, -1 / 2, -1 / 2], [0, np.sqrt(3) / 2, -np.sqrt(3) / 2]])return trans_arr * input_matrixdef park_transformation(input_matrix, theta):trans_arr = np.mat([[np.cos(theta), np.sin(theta)], [-np.sin(theta), np.cos(theta)]])return trans_arr * input_matrixdef show_plot():# initplt.figure(figsize=(20, 10))# processlin = np.linspace(0, 50, num=1000)print(lin)sin_wave1 = np.sin(lin)phi = np.pi * 2 / 3sin_wave2 = np.sin(lin - phi)sin_wave3 = np.sin(lin - phi * 2)# draw1plt.subplot(311)plt.grid()plt.title('Source')plt.plot(lin, sin_wave1)plt.plot(lin, sin_wave2)plt.plot(lin, sin_wave3)# clark transformationclark_trans_wave1 = np.empty(lin.shape)clark_trans_wave2 = np.empty(lin.shape)for i in range(len(lin)):  # i means index, lin[i] means thetainput_array = np.mat([[sin_wave1[i]],[sin_wave2[i]],[sin_wave3[i]]])output_array = clark_transformation(input_array)clark_trans_wave1[i] = output_array[0]clark_trans_wave2[i] = output_array[1]# draw2plt.subplot(312)plt.grid()plt.title('Clark')plt.plot(lin, clark_trans_wave1)plt.plot(lin, clark_trans_wave2)# park transformationpark_trans_wave1 = np.empty(lin.shape)park_trans_wave2 = np.empty(lin.shape)for i in range(len(lin)):  # i means index, lin[i] means thetainput_array = np.mat([[clark_trans_wave1[i]],[clark_trans_wave2[i]]])output_array = park_transformation(input_array, lin[i])park_trans_wave1[i] = output_array[0]park_trans_wave2[i] = output_array[1]# draw3plt.subplot(313)plt.grid()plt.title('Park')plt.plot(lin, park_trans_wave1)plt.plot(lin, park_trans_wave2)# show plotplt.show()show_plot()

效果:

我是顺着Clark变换接着变换的,可以看出最终都是一条直线,是常量

用python模拟clark变换和park变换相关推荐

  1. Clark变化和Park变换

    利用投影法推导两大变换公式,这里直接给出推导结果: Clark变换 FOC->等幅值变换 Park变换 反Park变换(电压的变换) 反Clark变换

  2. 逆clarke变换_Clarke变换与Park变换

    1918 年, Fortescue 提出对称分量法, 为解决多相 ( 三相 ) 不对称交流系统的分析和计算提供了一个有效方法. 对称分量法是用于线性系统的坐标变换法.它将不对称多相系统 ( 后面均以三 ...

  3. 一、BLDC矢量控制基础知识:Clarke变换和Park变换

    BLDC矢量控制坐标变换 本文的目的在于梳理三相电机旋转矢量以及Clarke变换和Park变换的知识并给出推导. 文章目录 BLDC矢量控制坐标变换 前言 一.从旋转矢量说起 二.Clarke变换 三 ...

  4. FOC之Clarke变换和Park变换

    FOC坐标变换 这里简述FOC中用到的用到的Clarke和Park坐标变换所涉及到的公式,想要更加详细了解可自行百度. 1. Clarke变换(3s/2s) N3:三相绕组每相绕组匝数N_3:三相绕组 ...

  5. FOC控制中Clark/iClark和Park/iPark变换及matpoltlib仿真

    注:本文部分内容及图片来自网络,如有侵权通知删除! 三相交流电: 三相交流电是由三个频率相同.电势振幅相等.相位差互差120°角的交流电路组成的电力系统.日常用电系统中的三相四线制中电压为380/22 ...

  6. FOC: Park变换电角度误差带来的影响

    关于坐标变换已经在这篇博客中提到<FOC中的Clarke变换和Park变换详解>,在FOC算法的实际调试过程中会遇到很多与理论有所偏差的问题,往往这些情况下,需要对理论有较深刻的理解,才能 ...

  7. PMSM中常用的两种坐标变换——Park变换

    Xiaoxiaodawei 摘要: 同步旋转的合成磁场是由三项定子绕组在气隙中产生的,而Park变换就是用一个假想的.随转子同步旋转的绕组来等效替代原来的三相定子绕组.根据等效的原则,不论使用什么样的 ...

  8. 逆clarke变换_CLARKE 变换PARK 变换

    1918年,Fortescue提出对称分量法,为解决多相(三相)不对称交流系统的分析和计算提供了一个有效方法.对称分量法是用于线性系统的坐标变换法.它将不对称多相系统(后面均以三相系统为代表)以同等待 ...

  9. STM32_FOC_2_如何获得Park变换中的θ角-即电机的电角度

    永磁同步电机一般都会安装编码器测量电机的机械角度.我们一般通过编码器测量的机械角度来计算电机的电角度. 第一步:如何获得电机在电角度为0°时,编码器读数 令,iq = 0, id = 一个合适值(比如 ...

  10. Clark变换与Park

    Clark变换与Park 1. Clark变换 1. 原理介绍 三项无刷电机控制原理:通过对三项交替输入即可使得定子(线圈)电流交替,与转子(N/S交替排列的磁铁)磁场相互作用使转子转动. 控制三项电 ...

最新文章

  1. python源码编译 带tkinter_python通过Tkinter库实现的一个简单的文本编辑器源码
  2. spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava
  3. 写代码水平的几个发展阶段
  4. C++Function Object Adapter之not1
  5. java 数组的应用(一维)
  6. 部署Docker前必须问自己的四个问题
  7. socket的原理和实验
  8. Oracle 12c中导入Oracle 11g的数据
  9. notice!!!!!!!!!!
  10. html关闭小图标css,怎么在marquee标签里面设置一个关闭的图标_html/css_WEB-ITnose
  11. 新库上线 | CnOpenData中国工业企业绿色专利及引用被引用数据简介
  12. 用思科模拟器对交换机进行超级终端配置和Telnet远程登录配置
  13. 数学计算机学具制作,小学五年级数学学具怎么?
  14. eventFilter能进入dragEnter但没有event::drog
  15. NXP S32K146 CAN通讯 TJA1043(一)
  16. 语文数学英语计算机文理科,高考文理科英语试卷一样吗
  17. rust货轮什么时候出现_中国最早的汉字出现于什么时候?
  18. 把redis部署到百度BAE上时的注意点
  19. Excel表格不小心删除怎么恢复,excel表格误删怎么找回
  20. 为什么需要序列化总结

热门文章

  1. 华为设备为(USG6000)的防火墙:配置远程管理防火墙最常见的几种方式。
  2. 站长必会数据统计工具教程:百度统计 VS GA
  3. 手游游戏资源提取 (破解、AssetStudio、VGMToolbox、disunity、Il2CppDumper、 .NET Reflector)...
  4. Unity5.0 Shader 极简入门(一)
  5. js实现简单pdf打印功能
  6. java Jre和Jdk的区别
  7. 2019-CS224n-Assignment4
  8. 红外遥控器-VS1838B/HS0038红外接收方案(包含原理图+PCB+BOM表+程序)
  9. 软件测试缺陷等级划分_软件测试的缺陷等级
  10. 模型预测控制的缺点_模型预测控制MPC的通俗解释