ADRC双环自抗扰控制永磁同步电机矢量控制伺服系统Matlab仿真探索
ADRC双环自抗扰控制永磁同步电机矢量控制伺服系统Matlab仿真模型 1.模型简介 模型为基于双环自抗扰控制ADRC的永磁同步电机伺服控制仿真采用Matlab R2018a/Simulink搭建。 其中位置环和转速环合并成一环采用二阶自抗扰控制器电流环采用一阶自抗扰控制器因此称为双环自抗扰伺服控制。 模型内主要包含DC直流电压源、三相逆变器、永磁同步电机、采样模块、SVPWM、Clark、Park、Ipark、非线性跟踪微分器NLTD、采用二阶自抗扰控制器的位置速度环、采用一阶自抗扰控制器的电流环等模块其中SVPWM、Clark、Park、Ipark、非线性跟踪微分器、自抗扰控制器模块采用Matlab funtion编写其与C语言编程较为接近容易进行实物移植。 模型均采用离散化仿真其效果更接近实际数字控制系统。 2.算法简介 通常永磁同步电机伺服系统由位置环、转速环和电流环构成本仿真中将位置环和转速环合并成一环采用二阶自抗扰控制器电流环采用一阶自抗扰控制器因此称为双环自抗扰伺服控制。 位置速度环中首先位置给定通过非线性跟踪微分器安排过渡过程得出新的平滑的位置给定和其一阶微分即速度给定然后输入到二阶自抗扰控制器中位置环和速度环做成一个环路能够有效地简化系统环路调试过程。 在电流环中自抗扰控制器将电压耦合项视为扰动观测并补偿能够实现电流环解耦。 自抗扰控制器的快速性和抗扰性能较好其待整定参数少且物理意义明确比较容易调整。 3.仿真效果 ① 非线性跟踪微分器响应波形如下图1所示。 ② 位置响应波形0.5s时突加额定负载如下图2所示。 ③ 估计位置与实际位置波形如下图3所示。 ④ 转速波形如下图4所示。 ⑤ 估计转速与实际转速波形如下图5所示。 ⑥ Iq电流响应波形如下图6所示。 ⑦ 估计Iq和实际Iq波形如下图7所示。 ⑧ Id电流响应波形如下图8所示。 ⑨ 估计Id和实际Id波形如下图⑨所示。 4. 可提供模型内相关算法的参考文献避免大量阅读文献浪费时间最近在研究永磁同步电机PMSM的控制策略发现基于双环自抗扰控制ADRC的伺服控制仿真模型挺有意思今天就来和大家分享一下。一、模型简介这个模型是用Matlab R2018a/Simulink搭建的专门针对基于双环自抗扰控制的永磁同步电机伺服控制进行仿真。这里的双环指的是把位置环和转速环合并成了一环采用二阶自抗扰控制器而电流环采用一阶自抗扰控制器这就是双环自抗扰伺服控制的由来。整个模型包含了好多关键模块像DC直流电压源、三相逆变器、永磁同步电机这些基础的不说采样模块、SVPWM空间矢量脉宽调制、Clark、Park、Ipark 这些信号处理和变换模块也是必不可少。还有非线性跟踪微分器NLTD以及不同阶数的自抗扰控制器模块。这里值得一提的是SVPWM、Clark、Park、Ipark、非线性跟踪微分器、自抗扰控制器模块都是用Matlab function编写的为啥要用这个呢因为它和C语言编程很接近之后要是想做实物移植就会轻松很多。而且整个模型采用离散化仿真这样模拟出来的效果和实际的数字控制系统就更接近啦。咱们来看一段简单的Matlab function示例比如SVPWM模块代码简化示意function [Sabc] SVPWM(Valpha, Vbeta, Vdc) % 计算扇区 theta atan2(Vbeta, Valpha); sector floor((theta pi/3) / (pi/3)) 1; % 计算占空比 % 这里省略具体复杂计算过程 %... % 根据占空比生成三相开关信号 Sabc [Sa; Sb; Sc]; end这段代码里输入的是静止坐标系下的电压分量Valpha和Vbeta以及直流母线电压Vdc通过计算电压矢量所在扇区进而得到三相逆变器的开关信号最终实现对永磁同步电机的有效控制。二、算法简介一般来说永磁同步电机伺服系统由位置环、转速环和电流环构成。但在这个仿真里做了个巧妙的整合把位置环和转速环合成一环用二阶自抗扰控制器电流环用一阶自抗扰控制器。ADRC双环自抗扰控制永磁同步电机矢量控制伺服系统Matlab仿真模型 1.模型简介 模型为基于双环自抗扰控制ADRC的永磁同步电机伺服控制仿真采用Matlab R2018a/Simulink搭建。 其中位置环和转速环合并成一环采用二阶自抗扰控制器电流环采用一阶自抗扰控制器因此称为双环自抗扰伺服控制。 模型内主要包含DC直流电压源、三相逆变器、永磁同步电机、采样模块、SVPWM、Clark、Park、Ipark、非线性跟踪微分器NLTD、采用二阶自抗扰控制器的位置速度环、采用一阶自抗扰控制器的电流环等模块其中SVPWM、Clark、Park、Ipark、非线性跟踪微分器、自抗扰控制器模块采用Matlab funtion编写其与C语言编程较为接近容易进行实物移植。 模型均采用离散化仿真其效果更接近实际数字控制系统。 2.算法简介 通常永磁同步电机伺服系统由位置环、转速环和电流环构成本仿真中将位置环和转速环合并成一环采用二阶自抗扰控制器电流环采用一阶自抗扰控制器因此称为双环自抗扰伺服控制。 位置速度环中首先位置给定通过非线性跟踪微分器安排过渡过程得出新的平滑的位置给定和其一阶微分即速度给定然后输入到二阶自抗扰控制器中位置环和速度环做成一个环路能够有效地简化系统环路调试过程。 在电流环中自抗扰控制器将电压耦合项视为扰动观测并补偿能够实现电流环解耦。 自抗扰控制器的快速性和抗扰性能较好其待整定参数少且物理意义明确比较容易调整。 3.仿真效果 ① 非线性跟踪微分器响应波形如下图1所示。 ② 位置响应波形0.5s时突加额定负载如下图2所示。 ③ 估计位置与实际位置波形如下图3所示。 ④ 转速波形如下图4所示。 ⑤ 估计转速与实际转速波形如下图5所示。 ⑥ Iq电流响应波形如下图6所示。 ⑦ 估计Iq和实际Iq波形如下图7所示。 ⑧ Id电流响应波形如下图8所示。 ⑨ 估计Id和实际Id波形如下图⑨所示。 4. 可提供模型内相关算法的参考文献避免大量阅读文献浪费时间在位置速度环里给定的位置信号先通过非线性跟踪微分器这玩意儿能给我们安排一个过渡过程输出一个新的平滑的位置给定值同时还能给出它的一阶微分也就是速度给定值。这两个值再输入到二阶自抗扰控制器里。把位置环和速度环整合到一个环路系统环路调试过程一下子就简化了不少。咱们看看非线性跟踪微分器的代码简化示意function [x1, x2] NLTD(r, h0, x1, x2) d r * h0; a0 h0 * x2; y x1 - r a0; a1 sqrt(y * y 8 * d * abs(y)); a2 a0 sign(y) * (a1 - abs(y)) / 2; a (a0 y 0) * a2 (a0 y 0) * a0; x1 x1 h0 * x2; x2 x2 h0 * (-r0 * sign(a) * (abs(a) d) - r0 * a / d * (abs(a) d)); end在这段代码里输入的r是输入信号h0是步长x1和x2是状态变量。通过一系列运算实现对输入信号的跟踪和微分得到平滑的输出信号。电流环这边自抗扰控制器把电压耦合项当作扰动来观测并补偿这样就能实现电流环解耦。而且自抗扰控制器有不少优点它快速性和抗扰性能都很好需要整定的参数也不多每个参数物理意义还很明确调整起来比较容易上手。三、仿真效果仿真结果给出了一系列波形能让我们直观地看到系统运行情况。像非线性跟踪微分器响应波形、位置响应波形0.5s时突加额定负载、估计位置与实际位置波形、转速波形、估计转速与实际转速波形、Iq电流响应波形、估计Iq和实际Iq波形、Id电流响应波形、估计Id和实际Id波形等等。这些波形对于分析系统性能比如系统的响应速度、抗干扰能力、稳态精度等都提供了非常重要的依据。四、参考文献助力要是大家对模型内相关算法感兴趣想深入研究我可以提供参考文献这样就不用自己费劲巴拉地去海量文献里找啦能节省不少时间。总之这个ADRC双环自抗扰控制永磁同步电机矢量控制伺服系统Matlab仿真模型无论是从模型搭建还是算法实现都有不少值得琢磨的地方对于深入理解永磁同步电机控制策略很有帮助。希望这篇分享能给同样在研究相关领域的小伙伴们一些启发。