用于永磁同步电机驱动器的自适应SDRE非线性无传感器速度控制(Matlab&Simulink实现)

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码&Simulink仿真实现](#🌈4 Matlab代码&Simulink仿真实现)


💥1 概述

本文方法基于状态依赖的里卡蒂方程(SDRE)控制技术及其梯度型神经网络的实时计算方法,允许在线控制PMSM。

为了实现用于永磁同步电机驱动器的自适应 SDRE(State-Dependent Riccati Equation)非线性无传感器速度控制,按照以下步骤进行。

  1. 确定系统的动态模型:首先,获得永磁同步电机的动态模型。该模型通常由磁链方程、电流方程和机械方程等组成。根据电机的具体参数和特性,推导出系统的状态空间表达式。

  2. 设计自适应 SDRE 控制器:基于系统的状态空间表达式,采用自适应 SDRE 控制策略进行设计。自适应 SDRE 控制是一种基于 Riccati 方程调节器的非线性控制方法,它通过自适应参数来优化控制器的性能。具体设计步骤包括:设置控制器结构、定义控制误差目标和性能指标、计算状态反馈增益矩阵和 Riccati 方程解。

  3. 实现无传感器速度估计器:由于无传感器速度控制,需要通过估计器来获取电机转速的信息。可以采用滑模观测器或者其他速度估计器来实现,以获得无传感器的速度测量。

  4. 连接控制器和估计器:将自适应 SDRE 控制器和无传感器速度估计器与电机的动态模型相连接。确保控制器能够接收估计到的速度信号,并提供相应的控制输出。

  5. 仿真和调试:在 Simulink 环境中建立仿真模型,并进行仿真验证。通过逐步参数调整和性能评估,对控制系统进行调试和优化。

📚 2 运行结果

matlab程序:

clc

clear all

Rs=0.625

Ld=0.036

Lq=0.051

phi=0.545

J=7.5e-4

F=0.036

P=2

% a1=R/Ld

a2=P*Lq/Ld

a3=P*Ld/Lq

% a4=R/Lq

a5=P*phi/Lq

a6=3/2*P*phi/J

a7=F/J

B=[1 0;0 1;0 0]

Qc=[1 0 0;0 1 0;0 0 1]

R=[1 0;0 10]

x2dot=0

x3dot=0

gama=0.1

% syms a1 a2 a3 a4 a5 a6 a7 x1 x2 x3 R

% f=[-a1*R*x1+a2*x2*x3; -a3*x1*x3-a4*R*x2-a5*x3; a6*x2-a7*x3-1/J*Tl;0]

% jacobian(f,[x1 x2 x3 R ])

% E=4300170000*[1e-6 0 0 0 ;0 1e-6 0 0 ;0 0 1e-6 0 ;0 0 0 1e-6 ]

Rk=0.09*[1 0;0 1]

E=4300180000*[1e-6 0 0 0 0 ;0 1e-6 0 0 0 ;0 0 1e-6 0 0 ;0 0 0 1e-2 0; 0 0 0 0 1e-5]

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]刘伟波,邢佳丽,赵向禹等.双三相多相永磁同步电机驱动器混合直接转矩控制策略[J].科学技术与工程,2022,22(09):3564-3575.

[2]黄义红,张峻涛,刘丹. 机载永磁同步电机驱动器电流重构设计[C]//中国航空学会.第五届中国航空科学技术大会论文集.北京航空航天大学出版社(BEIHANG UNIVERSITY PRESS),2021:592-596.DOI:10.26914/c.cnkihy.2021.064916.

[3]凌峰. 无轴承异步电机非线性解耦控制与无传感器控制研究[D].江苏大学,2021.DOI:10.27170/d.cnki.gjsuu.2021.001911.

[4]江俊. 基于非线性估计理论的永磁同步电机无传感器控制方法的研究[D].江南大学,2006.

🌈4 Matlab代码&Simulink仿真实现

相关推荐
paopaokaka_luck3 分钟前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
奋飞安全10 分钟前
初试js反混淆
开发语言·javascript·ecmascript
guoruijun_2012_410 分钟前
fastadmin多个表crud连表操作步骤
android·java·开发语言
浪里个浪的102413 分钟前
【C语言】计算3x3矩阵每行的最大值并存入第四列
c语言·开发语言·矩阵
小喵要摸鱼15 分钟前
MATLAB 使用教程 —— 矩阵和数组
matlab·矩阵
金星娃儿15 分钟前
MATLAB基础知识笔记——(矩阵的运算)
笔记·matlab·矩阵
视觉小萌新20 分钟前
VScode+opencv——关于opencv多张图片拼接成一张图片的算法
vscode·opencv·算法
@东辰20 分钟前
【golang-技巧】-自定义k8s-operator-by kubebuilder
开发语言·golang·kubernetes
乐悠小码26 分钟前
数据结构------队列(Java语言描述)
java·开发语言·数据结构·链表·队列
史努比.28 分钟前
Pod控制器
java·开发语言