Simulink 自动代码生成电机控制:非线性磁链观测器

目录

电机方程

电压方程

磁链方程

定义状态变量和输出变量

非线性观测器方程

电角度的计算--锁相环

锁相环调参

电机方程

电压方程

Simulink 自动代码生成电机控制:非线性磁链观测器_第1张图片

磁链方程

Simulink 自动代码生成电机控制:非线性磁链观测器_第2张图片

定义状态变量和输出变量

Simulink 自动代码生成电机控制:非线性磁链观测器_第3张图片

非线性观测器方程

在对反电势进行积分获得磁链的过程中,最担心的就是直流偏置或积分漂移,常用高通滤波器、自适应补偿等方式来抑制这种负面因素。非线性模块的思路就是把估算的磁链的幅值与实际磁链幅值的差,作为估算的磁链分量的补偿项。

为了构造非线性观测器,定义:

取估计状态变量的式子为矢量函数:

Simulink 自动代码生成电机控制:非线性磁链观测器_第4张图片

 根据以上公式,搭建观测器模型

Simulink 自动代码生成电机控制:非线性磁链观测器_第5张图片

电角度的计算--锁相环

前面给出了通过非线性观测器对磁链的观测求出\alpha \beta轴磁链并通过反正切计算出当前的电机角度。在实际工程中,观测器估算的磁链中存在噪声和高频抖振,基于反正切函数的转子位置估计方法将这种抖振直接引入到反正切函数的除法运算中,导致这种高频抖振误差被放大,进而造成较大的角度估计误差。这里采用锁相环来提取转子位置信息。

这里引入和差公式:

Simulink 自动代码生成电机控制:非线性磁链观测器_第6张图片

 Simulink 自动代码生成电机控制:非线性磁链观测器_第7张图片

                                                                图4.1.1 PLL控制框图 

如上图,把角度差作为PI控制器的误差输入,当角度估算趋近真实角度误差就不断趋近0,最终锁定实际电角度,为减小MCU的计算量没有在输入端除以\varphi f,而是通过调节PI控制的参数。PI控制闭环锁相得到角速度进而积分得到角度。需要注意的是此时的角度是一直累加的,需要mod 2pi把它限制在(0-2pi)范围。 

锁相环调参

Simulink 自动代码生成电机控制:非线性磁链观测器_第8张图片

Simulink 自动代码生成电机控制:非线性磁链观测器_第9张图片

Simulink 自动代码生成电机控制:非线性磁链观测器_第10张图片

 Simulink 自动代码生成电机控制:非线性磁链观测器_第11张图片

前半部分加了开环启动过程,磁链观测器如果参数调好的话不需要单独加开环过程可以直接闭环启动,收敛速度快。 

Simulink 自动代码生成电机控制:非线性磁链观测器_第12张图片

 不加开环直接启动和低速运行(simulink代码生成):

磁链观测器运行

 总结

磁链观测器有很好的低速效果,工程实践比较有意义。这里介绍了非线性磁链观测器的实现原理和方法,锁相环调参的方法。涉及了自动控制中的观测器和控制器相关的知识点。

你可能感兴趣的:(算法,人工智能)