控制学习_正弦波无刷直流力矩电机建模、控制带宽讨论与选择

news2024/11/18 16:51:41

无刷电机通过电子换向器实现定子的磁场旋转,去电刷后使用寿命大幅提升,是现在更流行的选择。三相无刷电机则是无刷电机中比较流行的一款。三相无刷电机的驱动方式有多种,最简单的被称为梯形波驱动、方波驱动或正弦波驱动。而正弦波驱动技术可以最大程度地减小扭矩波动以及噪音和振动,因此得到广泛的应用。本文则是重点关注正弦波无刷直流力矩电机。

1 控制建模

正弦波无刷直流力矩电机,一般采用磁场定向控制的方法,来完成电流环的控制,如下图所示
在这里插入图片描述
(上图来源于论文《光电跟踪系统的精密跟踪定位控制技术研究》)

正弦波无刷直流力矩电机的控制系统是一个强耦合的系统,系统是通过Clark变换和Park变换来将对电机三相电压的控制,解耦成了 q q q轴和 d d d轴电流的控制。 在磁场定向控制中要令 i d = 0 i_d = 0 id=0。 而 i q i_q iq与电机的输出力矩 T e T_e Te之间是线性的关系。 所谓的电流环,就是对 i q i_q iq i d i_d id做闭环控制。而本文只关注电流环闭环后的系统。如果想学习磁场定向控制,我认为看此文足矣→深入浅出FOC算法

在论文《光电跟踪系统的精密跟踪定位控制技术研究》的提到了 i q i_q iq和输出力矩 T e T_e Te之间的关系为:
T e = 3 2 ⋅ p ⋅ i q ⋅ [ ψ f + ( L d − L q ) ⋅ i d ] \begin{align} & {{T}_{e}}=\frac{3}{2}\cdot p\cdot {{i}_{q}}\cdot \left[ {{\psi }_{f}}+\left( {{L}_{d}}-{{L}_{q}} \right)\cdot {{i}_{d}} \right] \\ \end{align} Te=23piq[ψf+(LdLq)id]
i d = 0 i_d=0 id=0时,式(1)简化为
T e = 3 2 p ψ f ⋅ i q = K ′ t ⋅ i q K ′ t = 3 2 p ψ f \begin{align} & {{T}_{e}}=\frac{3}{2}p{{\psi }_{f}}\cdot {{i}_{q}}={{{{K}'}}_{t}}\cdot {{i}_{q}} \\ & {{{{K}'}}_{t}}=\frac{3}{2}p{{\psi }_{f}} \\ \end{align} Te=23pψfiq=KtiqKt=23pψf

在控制学习_有刷直流力矩电机的建模、仿真、控制带宽的讨论、驱动方式与选择-CSDN博客文章中,我们谈到了,对于有刷直流力矩电机的等效物理框图和等效控制框图如下。
在这里插入图片描述
在这里插入图片描述
正弦波无刷直流力矩电机与有刷直流力矩电机的等效控制框图大部分是相似的,正弦波无刷直流力矩电机使用电流环闭环之后的力矩平衡方程如式(4)所示。
J d ω d t + B ω + T L = T e = K ′ t ⋅ i q \begin{align} J\frac{d\omega }{dt}+B\omega +{{T}_{L}}={{T}_{e}}={{{K}'}_{t}}\cdot {{i}_{q}} \end{align} Jdtdω+Bω+TL=Te=Ktiq
其中 J e {{J}_{e}} Je为负载的转动惯量, B B B为阻尼系数,一般较小。 T L {{T}_{L}} TL为不包含摩擦力矩的总负载转矩。
对式(4)进行拉普拉斯变换可得:
( J e s + B ) ω ( s ) + T L ( s ) = K ′ t ⋅ i q ( s ) ω ( s ) = K ′ t ( J e s + B ) i q ( s ) − 1 ( J e s + B ) T L ( s ) \begin{align} & \left( {{J}_{e}}s+B \right)\omega \left( s \right)+{{T}_{L}}\left( s \right)={{{{K}'}}_{t}}\cdot {{i}_{q}}\left( s \right) \\ & \omega \left( s \right)=\frac{{{{{K}'}}_{t}}}{\left( {{J}_{e}}s+B \right)}{{i}_{q}}\left( s \right)-\frac{1}{\left( {{J}_{e}}s+B \right)}{{T}_{L}}\left( s \right) \\ \end{align} (Jes+B)ω(s)+TL(s)=Ktiq(s)ω(s)=(Jes+B)Ktiq(s)(Jes+B)1TL(s)
根据线性系统的叠加性,将负载转矩 T L T_L TL视为扰动,电流 i q i_q iq和电机速度 ω \omega ω之间传函为:
ω ( s ) i q ( s ) = K ′ t ( J e s + B ) ≈ K ′ t J e s \begin{align} \frac{\omega \left( s \right)}{{{i}_{q}}\left( s \right)}=\frac{{{{{K}'}}_{t}}}{\left( {{J}_{e}}s+B \right)}\approx \frac{{{{{K}'}}_{t}}}{{{J}_{e}}s} \end{align} iq(s)ω(s)=(Jes+B)KtJesKt

根据上述公式的结论,可以绘制正弦波无刷直流力矩电机完成电流环闭环之后的等效控制框图如下:
在这里插入图片描述
正弦波无刷直流力矩电机的电流环的带宽一般比较高,所以简化的等效控制框筒中,用1000Hz的低通滤波器来代替电流环闭环。参考:对FOC电流环带宽的理解_foc带宽-CSDN博客

“电机的电流环带宽由电机的电气常数(电阻、电感)、电流采样频率、PWM频率、算法执行频率等决定。在硬件上,对于同一个电机(电气参数是一定的),采用固定的pwm频率(比如10Khz),那么电机的电流环带宽在经验上能达到1:10,即1Khz。在软件上,通常算法执行频率和电流采样频率,与PWM频率相等或者更低。所以软件能修改电流环带宽的地方主要是PI控制器,通过调整PI控制器的参数,来改变电流环带宽,但是要知道,电机的电流环带宽的上限,由硬件决定,软件上的作用是追逐这个上限值”

正弦波无刷直流力矩电机完成电流环闭环之后的速度开环对象可表示为:
G v ( s ) = ω ( s ) i q _ r e f ( s ) ≈ K ′ t J e s ⋅ ( 1 1000 ⋅ 2 ⋅ π s + 1 ) ≈ K ′ t J e s \begin{align} {{G}_{v}}\left( s \right)=\frac{\omega \left( s \right)}{{{i}_{q\_ref}}\left( s \right)}\approx \frac{{{{{K}'}}_{t}}}{{{J}_{e}}s\cdot \left( \frac{1}{1000\cdot 2\cdot \pi }s+1 \right)}\approx \frac{{{{{K}'}}_{t}}}{{{J}_{e}}s} \end{align} Gv(s)=iq_ref(s)ω(s)Jes(10002π1s+1)KtJesKt

根据式(8)可知,完成电流环闭环之后的正弦波无刷直流电机系统,其速度开环传递函数可近似的视为一个积分环节

2 控制带宽分析
假设给速度环设计一个控制器 C v ( s ) = k v {{C}_{v}}\left( s \right)={{k}_{v}} Cv(s)=kv,添加控制器之后的速度环开环传递函数为 C v ( s ) G v ( s ) = k v ⋅ K ′ t J e s {{C}_{v}}\left( s \right){{G}_{v}}\left( s \right)={{k}_{v}}\cdot \frac{{{{{K}'}}_{t}}}{{{J}_{e}}s} Cv(s)Gv(s)=kvJesKt
如果提高控制器参数 k v k_v kv↑,那么速度环闭环后的开环传递函数的穿越频率也会随之增加↑,进一步则会令速度环的闭环带宽就会提高↑。

根据此规律,若速度环控制器的增益无限提高,电机速度环带宽难道也可以无限提高?显然!这不可能。 因为电机输入的电流是有约束的,比如你速度环控制器输入给电流环的控制器的电流是10A,但是电机最大允许的 i q i_q iq电流是5A, 电流环控制器输入就要做需要做一个饱和约束,等效为增益下降。这个约束在控制系统中是一个非线性的环节,因此系统的闭环带宽,是无法得到数值上的结论,只有定性的分析。速度环闭环参考输入如果是小幅值,控制增益 k v k_v kv可以设计大些,保证最终 i q i_q iq电流也不超出电机的约束,这样就会令带宽也可以做高。 但如果速度环输入如果是大幅值,那么增益会受到约束等效为增益下降,即带宽则做不高。

那这个电流的约束是应该是多少呢? 通过与宇捷电机厂商沟通,如果采用FOC控制的话, iq电流的输入可以约束为连续堵转电流的1.224倍。 最终系统的等效速度闭环框图如下:
在这里插入图片描述

在控制程序中,一般会采用约束速度环参考输入的方式,这种做法是为了保护电机,不让电机电流超过约束值烧坏电机。

3 电机应该如何选择

那对于正弦无刷直流力矩电机,我们应该如何去选择呢?答案仍然是优先满足输出力矩要求,其次,在满足力矩要求的基础之上,选择连续堵转电流更大的电机(约束范围大,增益就能更大)。
关于输出力矩需求的计算,可参考上一篇文章最后一小节控制学习_有刷直流力矩电机的建模、仿真、控制带宽的讨论、驱动方式与选择-CSDN博客。本文就不在赘述了。

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

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

相关文章

Redis中的HyperLogLog以及HyperLogLog原理

大家在学习redis的过程中,除了String,list,hash,set,zset这五种基本的数据结构,一定还会接触到几种高级的数据结构,比如bitmap,geo, 还有今天我们要说的hyperloglog&…

【OJ】string类题目

个人主页 : zxctscl 如有转载请先通知 题目 1. 415字符串相加1.1 分析1.2 代码 2. 344反转字符串2.1 分析2.2 代码 3. HJ1字符串最后一个单词的长度3.1 分析3.2 代码 4. 387.字符串中的第一个唯一字符4.1 分析4.2 代码 5. 125验证回文串5.1 分析5.2 代码 1. 415字符…

ctf-web23

web23 substr substr:字符串截取;substr()函数可以用于字符串处理、数据清洗、数据挖掘等领域。 substr(abcdef,2,2)返回值cd PHP intval() 函数 ​编辑PHP 可用的函数 intval() 函数用于获取变量的整数值。 intval() 函数通过使用指定的进制 base 转换&…

2000-2021年各省外商直接投资水平面板数据(含原始数据+计算结果)(无缺失)

2000-2021年各省外商直接投资水平面板数据(含原始数据计算结果)(无缺失) 1、时间:2000-2021年 2、指标:外商直接投资额(万美元)、外商直接投资额(万元)、国…

mysql 更新时,旧值与新值相同会怎么做?

文章目录 1 问题描述2 验证2.1 验证猜想12.2 验证猜想2 3 结论4 mysql 为什么这么设计呢? 1 问题描述 创建一张表t,插入一行数据 mysql> CREATE TABLE t ( id int(11) NOT NULL primary key auto_increment, a int(11) DEFAULT NULL ) ENGINEInnoDB…

01——LenNet网络结构,图片识别

目录 1、model.py文件 (预训练的模型) 2、train.py文件(会产生训练好的.th文件) 3、predict.py文件(预测文件) 4、结果展示: 1、model.py文件 (预训练的模型) impor…

c语言的字符串函数详解

文章目录 前言一、strlen求字符串长度的函数二、字符串拷贝函数strcpy三、链接或追加字符串函数strcat四、字符串比较函数strcmp五、长度受限制字符函数六、找字符串2在字符串1中第一次出现的位置函数strstr七、字符串切割函数strtok(可以切割分隔符)八、…

基于springboot实现酒店客房管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现酒店客房管理平台系统演示 摘 要 随着人们的物质水平的提高,旅游业和酒店业发展的速度越来越快。近年来,市面上酒店的数量和规模都在不断增加,如何提高酒店的管理效率和服务质量成为了一个重要的问题。伴随着信息技术的发…

CSS中如何设置单行或多行内容超出后,显示省略号

1. 设置超出显示省略号 css设置超出显示省略号可分两种情况: 单行文本溢出显示省略号…多行文本溢出显示省略号… 但使用的核心代码是一样的:需要先使用 overflow:hidden;来把超出的部分隐藏,然后使用text-overflow:ellipsis;当文本超出时…

mybatis源码阅读系列(一)

源码下载 mybatis 初识mybatis MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的…

JDK8和JDK11在Ubuntu18上切换(解决nvvp启动报错)

本文主要介绍JDK8和JDK11在Ubuntu18上切换,以供读者能够理解该技术的定义、原理、应用。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:计算机杂记 🎀CSDN主页 发狂的小花 🌄人…

docker login 阿里云失败??

docker login 阿里云失败?? 首先参考 阿里云官方文档《Docker登录、推送和拉取失败常见问题》 看看是否是下面提到的情况: 我遇到的情况是超时: [rootk8snode1 software]# sudo docker login --usernametyleryun registry.cn-hangzhou.ali…

sqllab第十八关通关笔记

知识点: UA注入 不进行url解析,不能使用 %20 编码等操作出现在User-agent字段中一般为insert语句 insert 表名(字段1,字段2,。。。) values(数据1,数据2,。。。) 通过admin admin进行登录发现页面打印出了…

Oracle数据库:使用 bash脚本 + 定时任务 自动备份数据

Oracle数据库:使用 bash脚本 定时任务 自动备份数据 1、前言2、为什么需要自动化备份?3、编写备份脚本4、备份脚本授权5、添加定时任务6、重启 crond / 检查 crond 服务状态7、备份文件检查 💖The Begin💖点点关注,收…

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

Golang实现Redis分布式锁(Lua脚本可重入自动续期) 1 概念 应用场景 Golang自带的Lock锁单机版OK(存储在程序的内存中),分布式不行 分布式锁: 简单版:redis setnx》加锁设置过期时间需要保证原…

3.Redis命令

Redis命令 Redis 根据命令所操作对象的不同, 可以分为三大类: 对 Redis 进行基础性操作的命令,对 Key 的操作命令,对 Value 的操作命令。 1.1 Redis 首先通过 redis-cli 命令进入到 Redis 命令行客户端,然后再运行下…

横向移动 --> PTT(Kerberos)

好不容易到了周末,终于有时间来写自己的东西了,那么就来讲一下PTT吧 目录 1.PTT(Past The Ticket) 2.Golden Ticket 1.Krbtgt的NTLM hash 2.获取域的sid 3.查看要伪造的管理员 4.查看域控名字 5.查看并且清除票据 6.制造黄金票据 3.Sliver Ticke…

Python 基础语法:基本数据类型(字典)

为什么这个基本的数据类型被称作字典呢?这个是因为字典这种基本数据类型的一些行为和我们日常的查字典过程非常相似。 通过汉语字典查找汉字,首先需要确定这个汉字的首字母,然后再通过这个首字母找到我们所想要的汉字。这个过程其实就代表了…

【Algorithms 4】算法(第4版)学习笔记 18 - 4.4 最短路径

文章目录 前言参考目录学习笔记0:引入介绍1:APIs1.1:API:加权有向边1.2:Java 实现:加权有向边1.3:API:加权有向图1.4:Java 实现:加权有向图1.5:AP…

NVidia NX 中 ROS serial软件包的安装

自己装的ROS是noetic版本,受限于网络,直接用命令安装串口包不行。于是手动安装了一次。 1 下载源码 git clone https://github.com/wjwwood/serial.git 或者直接在浏览器里面输入 https://github.com/wjwwood/serial.git 2 解压 然后在serial&#xf…