您现在的位置:首页 >> 智能控制 >> 内容

m基于SVPWM控制器的三轴直交机械臂轨迹控制simulink仿真

时间:2023/4/20 22:20:10 点击:

  核心提示:08_059_m,包括程序操作录像+说明文档...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJiTlJ9q

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览




3.算法概述

       SVPWM模块负责将矢量控制系统输出的控制量Uα、Uβ转换为用于控制IGBT逆变器的PWM形式的门极信号。如图2所示,本文设计的SVPWM模块仿真模型由五部分组成,分别是电压矢量所在扇区的计算、中间参数X、Y、Z的计算、相邻基本电压矢量作用时间T1和T2的计算、三相逆变器开关时刻Ta、Tb、Tc的计算和PWM波形的产生。

4.部分源码

function [sys,x0,str,ts] = func_N_calculation(t,x,u,flag)

%A=0;B=0;

%C=0;N=0;

global A B C N;

switch flag,

  case 0,

    [sys,x0,str,ts]=mdlInitializeSizes;

  case 1,

    sys=[];

  case 2,

    sys=[];

  case 3,

    sys=mdlOutputs(t,x,u,A,B,C,N);

  case 4,

    sys=[];

  case 9,

    sys=[];

  otherwise

    error(['Unhandled flag = ',num2str(flag)]);

end

 

 

 

function [sys,x0,str,ts]=mdlInitializeSizes

 

sizes = simsizes;

sizes.NumContStates  = 0;

sizes.NumDiscStates  = 3;

sizes.NumOutputs     = 1;

sizes.NumInputs      = 2;

sizes.DirFeedthrough = 1;

sizes.NumSampleTimes = 1;   % at least one sample time is needed

 

sys = simsizes(sizes);

x0  = [0 0 0];

str = [];

ts  = [0 0];

 

%u(1)=Uafa;u(2)=Ubta

function sys=mdlOutputs(t,x,u,A,B,C,N)

x(1)=u(2);                         %x(1)=Ua

x(2)=1/2*(sqrt(3)*u(1)-u(2));      %x(2)=Ub

x(3)=1/2*(-sqrt(3)*u(1)-u(2));    %x(3)=Uc

 

if (x(1)>0);    %A

   A=1;

else

   A=0; 

end

if (x(2)>0);     %B

   B=1;

else

   B=0; 

end

if (x(3)>0);

   C=1;          %C

else

   C=0; 

end

N=4*C+2*B+A;   %N

sys=N;

08_059_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168