永磁同步电机谐波抑制算法(7)——基于自适应陷波(adaptive notch filter,ANF)的精确谐波电流抑制策略

1.前言

1.1经典谐波抑制策略存在的问题

在之前的谐波抑制专题中,主要介绍了两种谐波抑制策略——基于多同步旋转坐标系的谐波抑制策略以及基于比例积分谐振PIR调节器的谐波抑制策略,同时还介绍了这两种策略的改进办法,进而使得这两种策略在比较高的转速下也可以实现较好的谐波抑制效果。

https://zhuanlan.zhihu.com/p/691055387icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/691055387

https://zhuanlan.zhihu.com/p/699288152icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/699288152

这两种谐波抑制策略我都做过仿真以及实验了,结合一些论文,可以发现这两种谐波抑制策略是有以下这些问题的:

  1. 基于多同步旋转坐标系的谐波抑制策略需要用到低通滤波器来提取谐波,这导致谐波坐标系下的PI调节器非常难设计。低通滤波器的截止频率,会影响PI调节器谐波抑制效果及其稳定性。所以这两者的调参,是比较费时的事情。
  2. 基于比例积分谐振PIR调节器的谐波抑制策略,调参很方便。理论上R调节器在谐波频率处,可以实现无限大的增益,进而有效抑制谐波。但是实际系统是离散的,在离散系统中,R调节器的增益就不是无限大的了,因此谐波抑制效果是有限的,并不能零静差抑制谐波。

1.2基于自适应陷波的精确谐波电流抑制策略的介绍

参考文献:

基于自适应陷波的精确谐波电流抑制策略用在电机领域应该是非常少的。这篇TIE应该是第一篇吧?这篇是用来做谐波抑制。下面还有一篇TPE是用来做谐波注入的,非常新的文章,刚出炉(24.06.03接收的)。

基于自适应陷波的精确谐波电流抑制策略的谐波电流抑制效果非常好,而且这种方法刚开始用,知道的人还很少。这篇甚至应该归纳到我的《先进电机拓扑及控制算法》专栏里面的

以下内容截取上面这篇TIE:

“自适应噪声抵消技术的原理最早是在[17]中提出的,由于其良好的动态响应能力和抗扰能力,自适应陷波滤波(adaptive notch filter,ANF)在信号处理中得到了广泛的应用。文献[18]将ANF用于提高并联型有源电力滤波器系统中谐波检测的动态响应能力。此外,还对ANF进行了修改,以检测变化频率的谐波的频率、相位和幅度[19]。提出了一种新型的带ANF的速度控制器来抑制旋转伺服系统的机械振动[20]。在没有任何反馈信号的情况下,只利用速度误差来观测和抑制谐波,从而简化了系统结构。然而,在电机系统中,特别是在磁阻电机系统中,应用ANF抑制谐波电流的研究还很少。”

2.基于自适应陷波的精确谐波电流抑制策略的公式

基于LMS(最小均方)的ANF结构如图7所示,LMS算法的递推公式可表示为:

这个ANF的公式,就是一个谐波提取的算法。不同于基于多同步旋转坐标系的谐波抑制策略,自适应陷波ANF的谐波提取没有用到低通滤波器。这个ANF的公式给我感觉,更像是一种反馈矫正预测的方法。这里值得注意的是u(ANF的步长),论文中没有具体解释。实际上这个u是需要自己去调节器的,我仿真中选的u=0.005

这里我以q轴电流为例子(我的q轴电流中存在大量六次谐波,所以我用ANF来估计q轴电流的六次谐波幅值),看看u=0.005/0.001/0.015情况下,自适应陷波ANF提取谐波的效果。蓝色代表ANF输出的q轴电流,红色代表实际的q轴电流。

u=0.015情况下,ANF预测的电流与实际电流的对比
u=0.005情况下,ANF预测的电流与实际电流的对
u=0.001情况下,ANF预测的电流与实际电流的对比

从这里可以发现,其实这个自适应陷波ANF的谐波提取不适用于电流变化过快的情况。所以我后面的仿真其实是在电机进入稳态之后,才开始执行自适应陷波ANF。

在u=0.005情况下,ANF预测的电流与实际电流的对比(放大图)如下。可以看到,ANF预测的电流与实际电流基本一致(这一点用于表明,ANF提取到的六次谐波电流幅值是准确的)

接下来我们就看看ANF提取到的六次谐波电流正交分量的幅值。这里解释以下,为什么需要提取六次谐波电流正交分量的幅值。我们已经知道谐波电流是六次谐波了,想要确定一个交流量,那我们还需要它的幅值和相位而如果我们知道一对正交分量的幅值的话,就可以把它们合成一个幅值和相位都已知的交流量

这个问题就类似于,我们知道了电机d-q电流的幅值,实际上就知道了电机A相电流的幅值和相位。

q轴六次谐波的正交分量的幅值

得到谐波电流正交分量的幅值之后,就按照Fig.10的结果去抑制谐波电流。如果大家不知道这是什么意思,可以多翻看上面两篇论文,多看两遍就明白了。

 这里再注意一个问题。两篇文章都用ANF去控制dq电流中的直流分量以及交流分量。但是,论文中的电机惯量都非常大,电流变化很慢很慢(如下图所示,电机升高700RPM,需要的时间超过了3s)

 

而我的仿真电机的电流变化太快,速度变化也很快(转速升高3000RPM,仅需要0.1s)。从上面的仿真中也可以看到,ANF并不适合电流变化太快的电机。所以我只是把这种策略用在dq电流中的交流分量中,dq电流中的直流分量还是用传统的PI来控制。

因为q轴电流的直流分量决定了电机的转矩,我还是用传统PI来保证q轴电流的快速响应能力,以保证我电机有足够快的转速响应速度。

3.基于自适应陷波的精确谐波电流抑制策略的仿真对比

为了充分验证基于自适应陷波的精确谐波电流抑制策略优越性,我这里采用改进多同步旋转坐标系和相位补偿PIR进行对比。

仿真参数:

Tpwm = 1e-4;%开关周期

Tsample = Tpwm/1;%电流采样周期

Tspeed = Tsample;%转速采样周期

Ts = 5e-7;%仿真步长

Pn = 4;%电机极对数

Ls = 8.5e-3;%定子电感,采用隐极的,Ld=Lq=Ls

Ld = Ls;

Lq = Ls;

Rs = 2;%定子电阻

flux = 0.0844;%永磁体磁链

B = 0.0005;

J = 0.0013;

%控制器中的电感、电阻参数(影响PI)

Ld1 = Ld*1;

Lq1 = Lq*1;

Rs1 = Rs;

%电流环PI带宽

fc = 500;

%谐波反电势参数

theta5 = 0;

theta7 = 0;

Flux5 = flux*0.01;

Flux7 = flux*0.01;

%0.01表示谐波磁链占比为基波磁链的1%

%1%的谐波磁链,会造成x%的谐波反电势(x代表谐波次数)

%比如五次谐波磁链1%,那么五次谐波反电势就是5%

Vdc = 400;%直流母线电压

iqmax = 20;%额定电流

因为,基于自适应陷波的精确谐波电流抑制策略和采用改进多同步旋转坐标系都需要一定时间提取谐波电流,所以这两种方法都在0.2s开始进行谐波电流抑制

所有的方法都用于抑制dq电流的六次谐波,即相电流的五七次谐波电流

基于自适应陷波的精确谐波电流抑制策略的定子三相电流、转矩、转速波形
基于改进多同步旋转坐标系谐波电流抑制策略的定子三相电流、转矩、转速波形
基于相位补偿PIR谐波电流抑制策略的定子三相电流、转矩、转速波形
基于自适应陷波的精确谐波电流抑制策略的相电流FFT分析
基于改进多同步旋转坐标系谐波电流抑制策略的相电流FFT分析
基于相位补偿PIR谐波电流抑制策略的相电流FFT分析
基于自适应陷波的精确谐波电流抑制策略的谐波抑制速度展示(0.2s开始抑制)
基于改进多同步旋转坐标系谐波电流抑制策略的谐波抑制速度展示(0.2s开始抑制)

从上面的仿真来看:

  1. 在THD方面,基于自适应陷波的精确谐波电流抑制策略的具有最低的THD,THD为1.36%。
  2. 在五七次谐波电流方面,基于自适应陷波的精确谐波电流抑制策略和基于改进多同步旋转坐标系谐波电流抑制策略由于都采用了PI调节器,因此都实现了五七次谐波电流的无静差抑制。这两种方法的五次谐波电流都在0.1%以下。而基于相位补偿PIR谐波电流抑制策略还具有明显更高的七次谐波电流。
  3. 在谐波抑制速度方面,虽然基于自适应陷波的精确谐波电流抑制策略和基于改进多同步旋转坐标系谐波电流抑制策略的谐波抑制效果差距不大,但是基于自适应陷波的精确谐波电流抑制策略的谐波抑制速度明显更快,在0.4s之前就已经抑制了大部分谐波电流(对应的转矩脉动也就大幅减小了)。尽管基于改进多同步旋转坐标系谐波电流抑制策略可以增大低通滤波器的截止频率和增大PI调节器参数来加快谐波抑制速度,但是这也容易让系统失去稳定。

综上所述,个人认为,基于自适应陷波的精确谐波电流抑制策略具有相对更优异的性能。

 

 

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

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

相关文章

Go:基本变量与数据类型

目录 前言 前期准备 Hello World! 一、基本变量 1.1 声明变量 1.2 初始化变量 1.3 变量声明到初始化的过程 1.4 变量值交换 1.5 匿名变量 1.6 变量的作用域 二、数据类型 1.1 整型 1.2 浮点型 1.3 字符串 1.4 布尔类型 1.5 数据类型判断 1.6 数据类型转换 1.…

NewStarCTF 2023 week5--web

目录 Unserialize Again 法一:(非预期) 法二: Final Yes Pickle pppython? 4-复盘 Unserialize Again f12告诉了我们cookie, 查看一下,可以发现 pairing.php <?php highlight_file(__FILE__); error_reporting(0); class story{private $useradmin;public $p…

Centos7 新增yum源

背景&#xff1a;原来的yum源&#xff0c;无法下载yum包了。新增一个阿里云的&#xff08;网易163的源失效了&#xff0c;无法使用&#xff09; Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archx86_64&repoos&infrastock error was …

three.js官方案例webgpu_reflection.html学习记录

目录 ​1 判断浏览器是否支持 2 THREE.DirectionalLight 2.1DirectionalLightShadow 3 Texture 3.1 .wrapS 3.2 .wrapT 3.3 .colorSpace 4 创建地面 5 WebGPURenderer 6 OrbitControls 控制器 7 屏幕后处理 import * as THREE from three;import { MeshPhongNodeMa…

简析“请求头”——可以用“头部字典”按需定制请求头

请求头是HTTP请求的重要部分&#xff0c;可以用“头部字典”按需定制请求头。 (笔记模板由python脚本于2024年07月12日 19:28:44创建&#xff0c;本篇笔记适合喜欢钻研web知识点的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free…

RSA算法(C++)

RSA加解密过程 RSA为非对称加密算法&#xff0c;由一对公钥和一对私钥构成&#xff0c;私钥加密公钥解密&#xff0c;公钥加密私钥解密 如下图,D为私密的&#xff0c;假设传输英文字母&#xff0c;我们给英文字母编号A1,B2,C3… RSA加解密过程 两对密钥产生方法如下 C Op…

【RHCE】基于密钥的身份验证(Win-Linux)

目的&#xff1a;要提⾼系统安全性&#xff0c;通过在 OpenSSH 服务器上禁⽤密码⾝份验证来强制进⾏基于密钥的⾝份验证。 1、一台虚拟机无需密码连接另一台虚拟机 .ssh目录 > 保存了ssh相关的key和一些记录文件 &#xff08;1&#xff09;生成密钥对 使⽤这个流程在本地…

U盘打不开的终极解决方案:原因剖析、恢复策略与预防之道

U盘困境&#xff1a;打不开的焦虑与应对 在数字化时代&#xff0c;U盘作为数据交换与存储的重要工具&#xff0c;几乎成为了每个人工作、学习和生活中的必需品。然而&#xff0c;当您满怀期待地将U盘插入电脑&#xff0c;却遭遇“无法识别”、“无法访问”等提示&#xff0c;U…

【人工智能】Transformers之Pipeline(一):音频分类(audio-classification)

​​​​​​​ 目录 一、引言 二、音频分类&#xff08;audio-classification&#xff09; 2.1 概述 2.2 技术原理 2.2.1 Wav2vec 2.0模型 2.2.1 HuBERT模型 2.3 pipeline参数 2.3.1 pipeline对象实例化参数 2.3.2 pipeline对象使用参数 2.4 pipeline实战 2.4.1 …

【Qt 基础】Qt Creator 的初步使用、创建项目的过程

文章目录 1. Qt SDK 中工具程序的介绍2. 创建第一个 Qt 项目的前置步骤 1. Qt SDK 中工具程序的介绍 下载之后会出现下面几个程序&#xff1a; Assistant 表示 Qt 自带的离线官方文档&#xff1b; Designer &#xff1a;Qt设计师&#xff0c;图形化的设计界面的工具&#xf…

C++程序进阶学习

目录 引言 C内存分区 一、内存分区模型 二、 程序运行前 三、程序执行后 C引用 引用的语法 作用 本质 优点 C封装 C对象特性 C对象模型和this指针 C友元 C运算符重载 C继承 C多态 C文件 引言 看过我博客的朋友可能都了解这篇文章内容了&#xff0c;这篇博…

超声波清洗机哪家好?家用超声波眼镜清洗机推荐

超声波清洗机现在已经成为了很多家庭的新宠&#xff0c;它能够帮助我们轻松解决日常生活中的清扫烦恼。但是&#xff0c;面对市面上品种繁多的清洗机产品&#xff0c;我们该如何选择一款适合自己的呢?毕竟不同的品牌和型号&#xff0c;在清洗效果、噪音水平、除菌能力等方面都…

RHCE-autofs自动挂载

要求 一、在主机上提供web&#xff0c;dns服务 服务端 IP&#xff1a;172.25.250.131/24 dns&#xff1a;172.25.250.131 [rootlocalhost ~]# cd /etc/httpd/conf.d[rootlocalhost conf.d]# vim vhost.conf [rootlocalhost conf.d]# mkdir /nfs/rhce -p[rootlocalhost conf…

雪深监测站的工作原理

TH-TS200雪深监测站是一种用于测量和记录雪层深度的设备&#xff0c;它在气象观测、交通管理、防灾减灾、水源管理等多个领域发挥着重要作用。雪深监测用来监测雪深的设备。它通过各种传感器和测量设备&#xff0c;如超声波测距仪、激光测距仪、压力传感器等&#xff0c;获取雪…

若依安装和初始化教程(傻瓜教程 一步一步走)

1、若依的安装&#xff1a; 1、找到若依官方网站并选择若依的前后端分离版本 2、点击克隆 然后选择http进行复制 3、打开idea 如果有打开的项目就先关闭项目&#xff0c;然后就会自动弹出下面第二张图片&#xff0c;接着按照流程走就可以 到此若依的下载就成功了 2、若依项目…

如何判断代码是否是在UPDATE TASK的Session中执行?

1. 背景 有时我们想控制ABAP代码在UPDATE TASK中的逻辑&#xff0c;例如某些逻辑执行&#xff0c;某些逻辑不执行。 那么&#xff0c;我们应该如何判断当前代码运行的环境呢&#xff1f;也即&#xff0c;怎么知道一段运行时代码是运行在当前的ABAP session中&#xff0c;还是…

IDEA设置代码提示忽略大小写

一、设置代码提示为忽略大小写 IDEA代码提示默认是区分大小写的&#xff0c;设置为提示忽略大小写&#xff1a; Setting——Editor——Code Completion 如图

智慧金融-数据可视化

智慧金融-数据可视化 导入所需的库 import numpy as np import numpy_financial as npf import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams[font.sans-serif][FangSong] mpl.rcParams[axes.unicode_minus]False单图曲线图 r 0.05 # 贷款的年利率 n 30…

字符串哈希详解,单hash,双hash,滚动哈希

一、字符串哈希 1.1 基本概念 字符串哈希 将不同的字符串映射成不同的整数。 思想&#xff1a;将字符串映射成一个 p进制数字。 我们定义如下哈希函数&#xff1a; h a s h ( s ) ∑ i 1 n s [ i ] p n − i ( m o d M ) 其中 s 为长度为 n 的字符串&#xff0c;下标从…

【考研408操作系统】最容易理解的知识体系-文件管理-面向人类管理

苏泽 “弃工从研”的路上很孤独&#xff0c;于是我记下了些许笔记相伴&#xff0c;希望能够帮助到大家 我将以全新的视角用两篇文章梳理完考研计算机当中关于“文件管理”这个部分的考点的所有内容 以下是我整理的知识点思维导图 目录 我将以全新的视角用两篇文章梳理完考研…