针对永磁电机(PMM)的d轴和q轴电流,考虑交叉耦合补偿,设计P1控制器并推导出相应的传递函数

电流控制回路:针对永磁电机(PMM)的d轴和q轴电流,考虑交叉耦合补偿,设计P1控制器并推导出相应的传递函数。

1. 永磁电机(PMM)的数学模型

在同步旋转坐标系( d − q d - q dq 坐标系)下,永磁同步电机(PMSM)的电压方程为:
[
\begin{cases}
u_d = R_si_d + L_d\frac{di_d}{dt}-\omega_eL_qi_q \
u_q = R_si_q + L_q\frac{di_q}{dt}+\omega_eL_di_d+\omega_e\psi_f
\end{cases}
]
其中, u d u_d ud u q u_q uq 分别是 d d d 轴和 q q q 轴电压; i d i_d id i q i_q iq 分别是 d d d 轴和 q q q 轴电流; R s R_s Rs 是定子电阻; L d L_d Ld L q L_q Lq 分别是 d d d 轴和 q q q 轴电感; ω e \omega_e ωe 是电角速度; ψ f \psi_f ψf 是永磁体磁链。

2. 交叉耦合补偿

为了消除 d d d 轴和 q q q 轴之间的交叉耦合影响,我们引入补偿项。令:
[
\begin{cases}
u_{d_comp} = \omega_eL_qi_q \
u_{q_comp} = -\omega_eL_di_d-\omega_e\psi_f
\end{cases}
]
经过补偿后,电压方程变为:
[
\begin{cases}
u_d - u_{d_comp}= R_si_d + L_d\frac{di_d}{dt} \
u_q - u_{q_comp}= R_si_q + L_q\frac{di_q}{dt}
\end{cases}
]

3. PI 控制器设计

PI 控制器的一般形式为:
[
G_{PI}(s)=K_p+\frac{K_i}{s}=\frac{K_ps + K_i}{s}
]
其中, K p K_p Kp 是比例系数, K i K_i Ki 是积分系数。

对于 d d d 轴电流控制回路,控制器的输出为 u d − u d _ c o m p u_d - u_{d\_comp} udud_comp,输入为 i d ∗ − i d i_d^* - i_d idid i d ∗ i_d^* id d d d 轴电流给定值)。则有:
[
u_d - u_{d_comp}=G_{PI}(s)(i_d^* - i_d)
]
u d − u d _ c o m p = R s i d + L d d i d d t u_d - u_{d\_comp}= R_si_d + L_d\frac{di_d}{dt} udud_comp=Rsid+Lddtdid 代入上式,在拉普拉斯域中可得:
[
(R_s + L_ds)I_d(s)=G_{PI}(s)(I_d^(s)-I_d(s))
]
整理可得 d d d 轴电流控制回路的传递函数:
[
\frac{I_d(s)}{I_d^
(s)}=\frac{G_{PI}(s)}{R_s + L_ds+G_{PI}(s)}=\frac{K_ps + K_i}{L_ds^2+(R_s + K_p)s + K_i}
]

对于 q q q 轴电流控制回路,控制器的输出为 u q − u q _ c o m p u_q - u_{q\_comp} uquq_comp,输入为 i q ∗ − i q i_q^* - i_q iqiq i q ∗ i_q^* iq q q q 轴电流给定值)。同理可得:
[
(R_s + L_qs)I_q(s)=G_{PI}(s)(I_q^(s)-I_q(s))
]
整理可得 q q q 轴电流控制回路的传递函数:
[
\frac{I_q(s)}{I_q^
(s)}=\frac{G_{PI}(s)}{R_s + L_qs+G_{PI}(s)}=\frac{K_ps + K_i}{L_qs^2+(R_s + K_p)s + K_i}
]

4. Python 代码示例(验证传递函数)

import control
import matplotlib.pyplot as plt
import numpy as np# 电机参数
R_s = 1  # 定子电阻
L_d = 0.1  # d 轴电感
L_q = 0.1  # q 轴电感
K_p = 10  # 比例系数
K_i = 100  # 积分系数# d 轴传递函数
num_d = [K_p, K_i]
den_d = [L_d, R_s + K_p, K_i]
sys_d = control.TransferFunction(num_d, den_d)# q 轴传递函数
num_q = [K_p, K_i]
den_q = [L_q, R_s + K_p, K_i]
sys_q = control.TransferFunction(num_q, den_q)# 绘制阶跃响应
t = np.linspace(0, 1, 1000)
t_d, y_d = control.step_response(sys_d, t)
t_q, y_q = control.step_response(sys_q, t)plt.figure(figsize=(12, 6))
plt.subplot(1, 2, 1)
plt.plot(t_d, y_d)
plt.title('d 轴电流控制回路阶跃响应')
plt.xlabel('时间 (s)')
plt.ylabel('电流')plt.subplot(1, 2, 2)
plt.plot(t_q, y_q)
plt.title('q 轴电流控制回路阶跃响应')
plt.xlabel('时间 (s)')
plt.ylabel('电流')plt.tight_layout()
plt.show()

这个代码示例使用 Python 的 control 库来创建 d d d 轴和 q q q 轴电流控制回路的传递函数,并绘制它们的阶跃响应。你可以根据实际的电机参数调整代码中的参数值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS多机通信(四)——Ubuntu 网卡 Mesh 模式配置指南

引言 使用Ad-hoc加路由协议和直接Mesh模式配置网卡实现的网络结构是一样的,主要是看应用选择, Ad-Hoc模式 B.A.T.M.A.N. / OLSR 优点:灵活性高,适合移动性强或需要优化的复杂网络。 缺点:配置复杂,需手动…

chap1:统计学习方法概论

第1章 统计学习方法概论 文章目录 第1章 统计学习方法概论前言章节目录导读 实现统计学习方法的步骤统计学习分类基本分类监督学习无监督学习强化学习 按模型分类概率模型与非概率模型 按算法分类按技巧分类贝叶斯学习核方法 统计学习方法三要素模型模型是什么? 策略损失函数与…

爬虫案例-爬取某站视频

文章目录 1、下载FFmpeg2、爬取代码3、效果图 1、下载FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 点击下载: ffmpeg 安装并配置 FFmpeg 步骤: 1.下载 FFmpeg: 2.访问 FFmpeg 官网。 3.选择 Wi…

车载以太网网络测试-22【传输层-DOIP协议-5】

目录 1 摘要2 DoIP时间参数2.1 ISO 13400定义的时间参数2.2 参数示例 3 DoIP节点内部状态机4 UDSonIP概述5 总结 1 摘要 本文继续对DOIP协议进行介绍,主要是DOIP相关的时间参数、时间参数定义以及流程示例。推荐大家对上文专题进行回顾,有利于系统性学习…

(论文总结)思维链激发LLM推理能力

研究背景&动机 背景:扩大模型规模已被证实具有提升模型性能和模型效率的功效,但是LLM对于完成推理、算术任务仍有较大不足。 动机:从之前的应用和研究中得知,可以用生成自然语言解释、使用神经符号等形式语言的方法来提高大模型的算术推理能力&…

前后端开发概述:架构、技术栈与未来趋势

一、前后端开发的基本概念 1.1 什么是前后端开发? 前后端开发是 Web 开发的两个核心部分,各自承担不同的职责: 前端(Frontend) 负责网页的用户界面(UI)和用户体验(UX)…

anythingLLM结合searXNG实现联网搜索

1、docker-compose 部署searXNG GitHub - searxng/searxng-docker: The docker-compose files for setting up a SearXNG instance with docker. cd /usr/local git clone https://github.com/searxng/searxng-docker.git cd searxng-docker 2、修改 .env文件 # By default…

人形机器人科普

人形机器人(Humanoid Robot)是一种模仿人类外形和行为的机器人,通常具有头部、躯干、双臂和双腿等结构。它们的设计目标是与人类环境无缝交互,执行复杂的任务,甚至在某些领域替代人类工作。 1. 人形机器人的定义与特点…

【CICD】Ansible知识库

一、主机清单配置 1. 配置文件路径 默认路径 /etc/ansible/hosts 这是 Ansible 的全局默认库存文件路径,但许多用户可能不会直接使用它。项目目录或自定义路径 用户通常会为不同项目创建独立的库存文件,例如: 当前目录下的 hosts、inventor…

ArkUI-List组件

列表是一个复杂的容器,当列表项达到一定数量,使得列表内容超出其范围的时候,就会自动变为可以滚动。列表适合用来展现同类数据类型。 List的基本使用方法 List组件的构建声明是这个样子的 List(value?: {space?:number | string, initial…

Ubuntu实时读取音乐软件的音频流

文章目录 一. 前言二. 开发环境三. 具体操作四. 实际效果 一. 前言 起因是这样的,我需要在Ubuntu中,实时读取正在播放音乐的音频流,然后对音频进行相关的处理。本来打算使用的PipewireHelvum的方式实现,好处是可以直接利用Helvum…

【yolo】YOLO训练参数输入之模型输入尺寸

模型输入尺寸是YOLO训练和推理过程中非常重要的参数之一。YOLO要求输入图像的尺寸是固定的,通常为正方形(如416416、640640等)。这个尺寸直接影响模型的性能和速度。以下是对模型输入尺寸的详细介绍: 1. 模型输入尺寸的作用 统一…

【TI MSPM0】Timer学习

一、计数器 加法计数器:每进入一个脉冲,就加一减法计算器:每进入一个脉冲,就减一 当计数器减到0,触发中断 1.最短计时时间 当时钟周期为1khz时,最短计时时间为1ms,最长计时时间为65535ms 当时…

从WebRTC到嵌入式:EasyRTC如何借助大模型提升音视频通信体验

随着人工智能技术的快速发展,WebRTC与大模型的结合正在为音视频通信领域带来革命性的变革。WebRTC作为一种开源实时通信技术,以其低延迟、跨平台兼容性和强大的音视频处理能力,成为智能硬件和物联网设备的重要技术支撑。 而EasyRTC作为基于W…

使用brower use AI 代理自动控制浏览器完成任务

第一步:终端运行命令下载 brower use pip install browser-use 第二步: 终端运行命令下载playwright playwright install 第三步:新建test.py代码,粘贴复制以下代码 import asyncio import osfrom dotenv import load_doten…

自由学习记录(45)

顶点片元着色器(important) 1.需要在Pass渲染通道中编写着色器逻辑 2.可以使用cG或HLSL两种shader语言去编写Shader逻辑 3.代码量较多,灵活性较强,性能消耗更可控,可以实现更多渲染细节 4.适用于光照处理较少&#xf…

Quartus + VScode 实现模块化流水灯

文章目录 一、通过VScode编写Verilog代码二、模块化编程三、代码示例 一、通过VScode编写Verilog代码 1、下载Vscode 2、下载相关插件 搜索Verilog就会弹出有如图所示的插件,下载并安装 3、创建Quartus项目 4、创建完成后点击Tools,选择Options 然后在…

tryhackme——The Lay of the Land

文章目录 一、网络基础设施1.1 内网1.2 DMZ区1.3 网络枚举(Network Enumeration) 二、域环境三、用户和组管理四、安全解决方案4.1 基于主机的安全解决方案4.1.1 防病毒软件4.1.2 Microsoft Windows Defender4.1.3 主机防火墙4.1.4 安全事件记录与监控4.…

STM32---FreeRTOS消息队列

一、简介 1、队列简介: 队列:是任务到任务,任务到中断、中断到任务数据交流的一种机制(消息传递)。 FreeRTOS基于队列,实现了多种功能,其中包括队列集、互斥信号量、计数型信号量、二值信号量…

2025年了,5G还有三个新变化

最近舆论开始讨论5G为什么不火了?5G是不是停滞发展了。 实际上,5G不仅在发展,还迎来了它的升级版5G-A。 在今年西班牙举行的世界移动通信大会上,5G-A就是焦点之一。 被誉为全球通信领域风向标的MWC,汇聚了华为、中兴通…