用最快的方法在simulink里搭建一个基础的直接转矩控制模型,不熟悉的话可以参考下,有空更新每个步骤细节和其他实现方法,创作不宜,记得点赞收藏。

说明:1.仿真搭建参考袁雷的仿真书籍(s-function代码实现)和学长提供的模型(纯模块实现)

2. 有的仿真起步时会出现反转的情况,后面给出了说明

1 直接转矩控制框图

话不多说,先看框图

2 直接转矩控制控制simulink仿真模型

直接转矩的原理这里不详细概述了,涉及到的东西太多,只做简单说明,有空专门针对每个模块进行说明,根据框图中的模块,直接转矩控制在Simulink模型和model里需要的模型如下:

下面对每个模块的参数进行说明,也可以根据实际需要自行设置修改

2.1 Powergui和仿真设置

选择模块列表:

找到对应模块:(后面都是通过模型名找到对应的模型图双击或者拖到仿真界面上)

习惯了用定步长,这里设置可选

2.2 功能模块

永磁同步电机模块(Permanent MagnetSynchronous Machine):

逆变器桥(Universal Bridge)和直流电源(DC Voltage Source):

 电流电压测量(Three-Phase V-I Measurement):

PID模块(PID Controller):

两个Relay模块(滞环):

bus selector模块(这里需要分离出电机中转速、转矩信号):

连接到电机选择转速,转矩

速度需要转化为转速/分(60/(2pi))

     

其他模块

sum模块:

mux和demux模块:

2.3 算法模块

坐标变换模块 (3->2)

模块为(fcn)

磁链计算模块:

 磁链和转矩计算模块中要注意的是电机初始状态为0,其磁链在alpha上的分量须加上转子磁链,不加会导致扇区判断错误,也就是没加的情况下电机开始出现反转的原因。

扇区判断:(代码实现或者模块实现2选1)

1)(S-Function)代码实现

function[sys,x0,str,ts]=sector(t,x,u,flag)
switch flag,%%%%%%%%%%%%%%%%%%% Initialization %%%%%%%%%%%%%%%%%%%case 0,[sys,x0,str,ts]=mdlInitializeSizes;%%%%%%%%%%%%%%%% Derivatives %%%%%%%%%%%%%%%%%%%%%%%%%%%% Outputs %%%%%%%%%%%%case 3,sys=mdlOutputs(t,x,u);%%%%%%%%%%%%%%%%%%%%%%%% GetTimeOfNextVarHit %%%%%%%%%%%%%%%%%%%%%%%%case {2,4,9}sys=[];otherwiseerror(['Unhandled flag =',num2str(flag)]);endfunction [sys,x0,str,ts]=mdlInitializeSizessizes = simsizes;sizes.NumContStates  = 0;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 1;
sizes.NumInputs      = 2;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;   % at least one sample time is neededsys = simsizes(sizes);
x0  = [];
str = [];
ts = [-1 0];
u(1) = 0.175;
function sys=mdlOutputs(t,x,u)
if(u(1)==0)N=1;
elsea1=u(1);b1=u(1)*(-0.5)+(sqrt(3)/2)*u(2);c1=u(1)*(-0.5)-(sqrt(3)/2)*u(2);
if a1>0a=0;
elsea=1;
end
if b1>0b=0;
elseb=1;
end
if c1>0c=0;
elsec=1;
end
N=4*a+2*b+c;
endsys = N;

 2)模块实现

这里每个模块具体就不介绍了,点开试一试就知道了。

磁链计算:

 根据转矩磁链和扇区计算输出脉冲:(代码和模块2选1)

1)代码实现:

对应参数设置如下

S-function代码如下

function[sys,x0,str,ts]=PMSM_switch(t,x,u,flag)
switch flag,case 0,[sys,x0,str,ts]=mdlInitializeSizes;case 3,sys=mdlOutputs(t,x,u);case {2,4,9}sys=[];otherwiseerror(['Unhandled flag =',num2str(flag)]);endfunction [sys,x0,str,ts]=mdlInitializeSizessizes = simsizes;sizes.NumContStates  = 0;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 1;
sizes.NumInputs      = 3;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;   % at least one sample time is neededsys = simsizes(sizes);
x0  = [];
str = [];
ts = [-1 0];function sys=mdlOutputs(t,x,u)
V_Table=[2 4 6 1 3 5;4 1 5 2 6 3;3 6 2 5 1 4;5 3 1 6 4 2];
%V_Table=[5 6 1 2 3 4;3 4 5 6 1 2;6 1 2 3 4 5;2 3 4 5 6 1];
x=2*u(1)+u(2)+1;
sys=V_Table(x,u(3));

2 )模块实现

参数如下

3 仿真

模型搭建好后,选择仿真时长0.4s:

在需要观测的地方添加示波器模块(scope),以转速和转矩为例:

PID参数选择为:(可自行调整)

电机运行,观察示波器波形

速度:

转矩:

电流:

效果还不错哈。

祝各位早日完成论文^ ^。

S-function模块说明

如果不会用该模块可以选择用纯模块实现,S-function使用方法以后介绍。

永磁同步电机simulink仿真——PMSM直接转矩控制DTC相关推荐

  1. PMSM永磁同步电机控制类仿真 三相永磁同步电机模型 1、直接转矩控制DTC 2、矢量控制FOC

    PMSM永磁同步电机控制类仿真 三相永磁同步电机模型 1.直接转矩控制DTC 2.矢量控制FOC 3.无位置控制 4.滑膜控制 #Matlab/simulink ID:7510067799948960 ...

  2. 永磁同步电机simulink仿真——PMSM矢量控制

    学了一年多的PMSM了,用最快的方法在simulink里搭建一个基础的矢量控制模型,不熟悉的话可以参考下,有空更新每个步骤细节和其他实现方法,创作不宜,记得点赞收藏. 1 矢量控制系统框图 话不多说, ...

  3. PMSM直接转矩控制(DTC)

    1 PMSM直接转矩控制原理 ​ 自己的理解:直接转矩控制是通过调节两个量来改变电机速度,一个是定子磁链幅值,一个是电磁转矩.定子磁链幅值属于标量,当这个值确定之后,相当于确定了磁链圆的半径,通过动态 ...

  4. 基于matlab/simulink的PMSM直接转矩控制和bangbang控制

  5. PMSM永磁同步电机PI双闭环SVPWM矢量控制 本模型包括DC直流电源、逆变桥、PMSM、park变换、clark变换、SVPWM、PI控制器、信号测量等单元模块

    PMSM永磁同步电机PI双闭环SVPWM矢量控制 Matlab/Simulink仿真模型(成品) 1.本模型包括DC直流电源.逆变桥.PMSM.park变换.clark变换.SVPWM.PI控制器.信 ...

  6. 【飞轮储能】基于matlab simulink飞轮储能(永磁同步电机)仿真【含Matlab源码 2421期】

    一.⛄获取代码方式 获取代码方式1: 完整代码已上传我的资源:[飞轮储能]基于matlab simulink飞轮储能(永磁同步电机)仿真[含Matlab源码 2421期] 点击上面蓝色字体,直接付费下 ...

  7. 永磁同步电机模型预测控制,自抗扰控制,滑模控制等matlab仿真及ccs代码。

    永磁同步电机模型预测控制,自抗扰控制,滑模控制等matlab仿真及ccs代码. ID:13800650571175155简熙纯净水

  8. 自己搭建的三相永磁同步电机直接转矩控制(DTC)模型

    自己搭建的三相永磁同步电机直接转矩控制(DTC)模型,控制效果非常好,一共有两个,分别是传统DTC控制和基于滑膜控制改进的DTC控制,联系发:两个DTC控制模型+参考资料 (图1和图2是模型总框架,图 ...

  9. 基于滑模控制的PMSM直接转矩控制仿真模型

    基于滑模控制的PMSM直接转矩控制仿真模型.运行没问题,只包括仿真文件及相应的扇区矢量选择m文件 编号:1220657462868764一_二_三_四_五_六

最新文章

  1. 2.3. 实体(Core Data 应用程序实践指南)
  2. 区块链面试过程中的40个问题
  3. SubSonic3.0.0.4.3源码包与调用Dll
  4. mongodb--find高级用法
  5. 【C++程序员学 python】python 之奇葩地方
  6. 【最小生成树】路线规划(nowcoder 217603)
  7. LeetCode 1153. 字符串转化(哈希)
  8. 安装应用需要打开未知来源权限_打开安卓这个开关 不让流氓软件肆意妄为
  9. (pytorch-深度学习)深度循环神经网络
  10. 获取指定路径下的所有文件
  11. LQR轨迹跟踪算法Python/Matlab算法实现_代码(2)
  12. android 底部圆角,android 实现部分圆角图片
  13. Eclipse关闭无用validation
  14. 时间序列预测入门必读的4篇论文
  15. Atitit 团队远景规划与目标总结 v4 目录 1. 使命和组织宗旨 1 1.1. 组织使命 1 1.2. 核心价值观 1 2. 行政目标体系 2 2.1. 打造体系齐全的复合体 2 2.2. 人
  16. 获取Adobe Flash 及Reader安装包
  17. 小米5splus(高配版/全网通)线刷兼救砖_解账户锁_纯净刷机包_教程
  18. CorelDRAW 里面如何将文字调整成半透明的颜色
  19. 《给情绪多点时间》读后感4000字
  20. 番茄助手功能及快捷键

热门文章

  1. Javascript 库
  2. [博摘]论人类最优秀软件
  3. 【数据标准】学院数据集标准规范-1.1-引言
  4. Windows系统自带的电脑朗读器完整教程(作用有限)
  5. Elasticsearch对数字检索——ngram
  6. 75页政务大数据资源平台建设解决方案(附下载).pptx
  7. 递归算法的空间复杂度
  8. SAP那些事-理论篇-2-企业信息化的本质
  9. 2014山东春季高考计算机,山东春季高考2014
  10. 一对一社交直播源码是怎么火起来的,一对一视频直播实现形式