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

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

1.算法仿真效果
matlab2022a仿真结果如下:

a54e6940ddf006a659885c3c71f17d2c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
bd3712e1de870f588a35c9fd67d720f1_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
8a42df60a784f64f9a47bc551d67b9d7_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
2f30c71fcb86d2cd19b65dbfa90b61cf_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
f262413050e5fe8316101639e470bfd3_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
590866510d7bfa8ff80649c5d6d69f9c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要
对于PMSM,使用MATLAB内部自带的模型进行建模,在simulink中选择Permanent Magnet Synchronous Machine,如图3.1所示。

65c5e7ac18d69c4aff33f3eabb352579_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    永磁同步电机模型PMSM如图1 所示,可以通过双击组件设定同步电机的各个参数,如磁极数Pn,定子电阻Rs,定子电感L等等。 

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

2b9b91bc7a8955962c819e02c5c63e65_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    这里SVPMW的五个主要模块均使用S-function在simulink中构建。

本系统用到的坐标变换模块由2部分组成:其一为A-B-C坐标系下电流ia、ib、ic到α-β坐标系下电流iα、iβ的变换,即Clarke变换;其二为iα、iβ到id、iq的变换,即Park变换。具体的变化公式已经在本文的第二章中作了详细的叙述,构建后的模型如下图所示:Park变换如下所示(Park变换是从 坐标系到dq坐标系的变化过程):

Clarke变换如下所示(这里Clarke变换是从A-B-C坐标系到 坐标系的变化过程):
9ac1ca77c6c7b7e8fd706fcb87408b19_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

Simulink模块中的fcn模块就是上面公式中的将矩阵展开后得到的数学计算公式。

    机械手臂是机械人技术领域中得到最广泛实际应用的自动化机械装置,在工业制造、医学治疗、娱乐服务、军事、半导体制造以及太空探索等领域都能见到它的身影。机械手臂主要由执行机构、驱动机构和控制系统三大部分组成。

    手部是用来抓持工件(或工具)的部件,根据被抓持物件的形状、尺寸、重量、材料和作业要求而有多种结构形式,如夹持型、托持型和吸附型等。运动机构,使手部完成各种转动(摆动)、移动或复合运动来实现规定的动作,改变被抓持物件的位置和姿势。

    运动机构的升降、伸缩、旋转等独立运动方式,称为机械手的自由度。为了抓取空间中任意位置和方位的物体,需有6个自由度。

   自由度是机械手臂设计的关键参数。自由度越多,机械手臂的灵活性越大,通用性越广,其结构也越复杂。一般专用机械手有2~3个自由度。

  机械手臂所用的驱动机构主要有4种:液压驱动、气压驱动、电气驱动和机械驱动。其中以液压驱动、气压驱动用得最多。

    控制系统是通过对机械手每个自由度的电机的控制,来完成特定动作。同时接收传感器反馈的信息,形成稳定的闭环控制。

    控制系统的核心通常是由单片机或dsp等微控制芯片构成,通过对其编程实现所要功能。

3.MATLAB核心程序

e140cf2955f9b3e8b533f96711db424c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

```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=4C+2B+A; %N
sys=N;
```

相关文章
|
7月前
|
机器学习/深度学习 传感器 算法
【板球仿真】基于simulink的模糊控制板球系统仿真
【板球仿真】基于simulink的模糊控制板球系统仿真
|
2月前
|
机器学习/深度学习 算法
基于Mamdani模糊神经网络的调速控制系统simulink建模与仿真
基于Mamdani模糊神经网络的调速控制系统simulink建模与仿真
|
8月前
|
传感器 机器学习/深度学习
用于永磁同步电机驱动器的自适应SDRE非线性无传感器速度控制(Matlab&Simulink实现)
用于永磁同步电机驱动器的自适应SDRE非线性无传感器速度控制(Matlab&Simulink实现)
|
8月前
|
传感器 算法 计算机视觉
【状态估计】基于卡尔曼滤波器的传感器直流电机驱动研究(Matlab代码、Simulink实现)
【状态估计】基于卡尔曼滤波器的传感器直流电机驱动研究(Matlab代码、Simulink实现)
|
9月前
|
传感器 算法 计算机视觉
【状态估计】基于卡尔曼滤波器的传感器直流电机驱动研究(Matlab代码、Simulink
【状态估计】基于卡尔曼滤波器的传感器直流电机驱动研究(Matlab代码、Simulink
|
9月前
|
机器学习/深度学习 存储 数据采集
m基于强化学习的永磁同步电机位置控制器simulink仿真,对比传统的PI控制器和模糊PI控制器
m基于强化学习的永磁同步电机位置控制器simulink仿真,对比传统的PI控制器和模糊PI控制器
257 0
|
10月前
|
机器学习/深度学习 传感器 算法
基于Matlab/Simulink 和飞行模拟器进行飞行控制联合仿真
基于Matlab/Simulink 和飞行模拟器进行飞行控制联合仿真
|
10月前
|
监控 算法 自动驾驶
m基于内外环PD控制算法的四旋翼无人机飞行控制simulink仿真
m基于内外环PD控制算法的四旋翼无人机飞行控制simulink仿真
159 0
|
10月前
|
算法 机器人
m基于MPC模型预测控制算法的永磁直线同步电机控制系统simulink仿真,MPC分别使用工具箱和S函数进行设计
m基于MPC模型预测控制算法的永磁直线同步电机控制系统simulink仿真,MPC分别使用工具箱和S函数进行设计
314 0
|
10月前
|
算法 SoC
m基于PID控制器的电动车充放电系统的simulink建模与仿真
m基于PID控制器的电动车充放电系统的simulink建模与仿真
147 0