负载转矩观测 永磁同步电机FOC 1.采用一种简单新颖的负载转矩观测器,相比传统的龙伯格等方法观测器设计巧妙,参数调节容易,观测负载转矩快速准确;赠送龙伯格负载转矩观测器用于对比分析。 2.将观测到的负载转矩用作前馈补偿,可提高系统抗负载扰动能力; 提供算法对应的参考文献和仿真模型

在永磁同步电机(PMSM)的领域中,磁场定向控制(FOC)技术已然成为主流。而负载转矩的准确观测对于提升PMSM控制系统的性能至关重要。今天,咱们就来聊聊一种简单新颖的负载转矩观测器,并且和传统的龙伯格负载转矩观测器对比分析下。

一、简单新颖的负载转矩观测器

这个观测器设计得相当巧妙,参数调节也不复杂,在观测负载转矩时能够又快又准。它的基本原理是基于电机的动态模型,通过对电机电流、转速等可测量信号进行处理,推算出负载转矩。

假设我们已经建立了PMSM在dq坐标系下的数学模型:

\[

\begin{cases}

u{dq} = R{s}i{dq} + p\psi{dq} \pm \omega{e}\psi{qd}\\

\psi{dq} = L{dq}i{dq} + \psi{f}

\end{cases}

\]

这里 \( u{dq} \) 是dq轴电压,\( R{s} \) 是定子电阻,\( i{dq} \) 是dq轴电流,\( p \) 是微分算子,\( \psi{dq} \) 是dq轴磁链,\( \omega{e} \) 是电角速度,\( L{dq} \) 是dq轴电感,\( \psi_{f} \) 是永磁体磁链。

基于这个模型,通过一些数学推导(这里省略复杂的推导过程啦),我们可以得到负载转矩 \( T_{L} \) 的观测表达式:

\[ T{L} = \frac{3}{2}p{n}(\psi{f}i{q} - L{d}i{d}i{q}) - J\frac{d\omega{r}}{dt} - B\omega_{r} \]

其中 \( p{n} \) 是电机极对数,\( J \) 是转动惯量,\( B \) 是粘滞摩擦系数,\( \omega{r} \) 是机械角速度。

下面简单写一段代码示例(以Python为例,假设我们已经获得了相关测量值):

# 假设已经获取到以下参数值
p_n = 2  # 极对数
psi_f = 0.1  # 永磁体磁链
L_d = 0.001  # d轴电感
J = 0.01  # 转动惯量
B = 0.001  # 粘滞摩擦系数
i_q = 5  # q轴电流
i_d = 0  # d轴电流
omega_r = 100  # 机械角速度
d_omega_r = 0.1  # 机械角速度变化率

T_L = 1.5 * p_n * (psi_f * i_q - L_d * i_d * i_q) - J * d_omega_r - B * omega_r
print("观测到的负载转矩 T_L:", T_L)

在这段代码里,我们按照前面得到的负载转矩观测表达式,将已知的参数值代入,就计算出了负载转矩。

二、龙伯格负载转矩观测器

龙伯格观测器是一种经典的状态观测器。它通过构造一个观测器模型,使观测器的输出尽可能逼近系统的真实状态。对于负载转矩观测,其基本思路是在电机模型基础上加入观测器增益矩阵。

龙伯格观测器的状态方程可以表示为:

\[ \dot{\hat{\mathbf{x}}} = \mathbf{A}\hat{\mathbf{x}} + \mathbf{B}u + \mathbf{K}(\mathbf{y} - \hat{\mathbf{y}}) \]

这里 \( \hat{\mathbf{x}} \) 是状态变量的估计值,\( \mathbf{A} \)、\( \mathbf{B} \) 是系统矩阵,\( u \) 是输入,\( \mathbf{K} \) 是观测器增益矩阵,\( \mathbf{y} \) 是系统输出,\( \hat{\mathbf{y}} \) 是输出估计值。

对应到负载转矩观测,需要将负载转矩作为一个状态变量融入到上述方程中,然后通过调节增益矩阵 \( \mathbf{K} \) 来使观测值收敛到真实值。不过龙伯格观测器的参数调节相对复杂,需要对系统有较深入的理解。

下面也给一段简单的龙伯格观测器的Python代码示例框架(仅示意,实际完整实现需要更多细节):

import numpy as np

# 假设系统矩阵和输入矩阵已经确定
A = np.array([[...], [...], [...]])
B = np.array([[...], [...], [...]])
# 输出矩阵C假设为单位矩阵
C = np.eye(3)

# 观测器增益矩阵K假设已经计算得到
K = np.array([[...], [...], [...]])

# 初始状态估计值
x_hat = np.array([[0], [0], [0]])

# 假设获取到的输入u和输出y
u = np.array([[...], [...], [...]])
y = np.array([[...], [0], [0]])

for _ in range(100):
    x_hat_dot = A.dot(x_hat) + B.dot(u) + K.dot(y - C.dot(x_hat))
    x_hat = x_hat + x_hat_dot * 0.01  # 简单的离散化近似
    # 假设负载转矩是第一个状态变量
    T_L_hat = x_hat[0]
    print("龙伯格观测到的负载转矩 T_L_hat:", T_L_hat)

在这段代码中,我们根据龙伯格观测器的基本原理,对状态变量进行更新,从而得到负载转矩的观测值。但实际应用中,系统矩阵、增益矩阵等的确定需要更多的理论计算和调试。

三、负载转矩用作前馈补偿提高抗负载扰动能力

将观测到的负载转矩用作前馈补偿,这是提升系统抗负载扰动能力的关键。原理很简单,当系统检测到负载转矩变化时,通过前馈通道将这个变化量提前引入到控制系统中,让系统提前做出响应。

比如在速度环控制中,我们可以在传统的PI控制器输出基础上加上负载转矩前馈补偿项:

\[ u{q - new} = u{q - PI} + \frac{T{L - est}}{\frac{3}{2}p{n}\psi_{f}} \]

这里 \( u{q - new} \) 是加入前馈补偿后的q轴电压指令,\( u{q - PI} \) 是PI控制器输出的q轴电压,\( T_{L - est} \) 是观测到的负载转矩。

通过这样的前馈补偿,当负载转矩突然变化时,系统能够更快地调整输出,减少转速波动,从而提高系统的抗负载扰动能力。

四、参考文献与仿真模型

参考文献

[1] 《永磁同步电机直接转矩控制系统的研究》 - 详细介绍了永磁同步电机的多种控制策略以及转矩观测相关内容,对理解本文的负载转矩观测有很好的参考价值。

[2] 《基于龙伯格观测器的永磁同步电机无传感器控制》 - 专门针对龙伯格观测器在永磁同步电机中的应用进行了阐述,对于深入研究龙伯格负载转矩观测器很有帮助。

仿真模型

仿真模型可以使用MATLAB/Simulink来搭建。在Simulink中,可以很方便地建立PMSM的数学模型模块,然后分别搭建上述两种负载转矩观测器模块以及前馈补偿模块。通过设置不同的负载转矩变化工况,观察系统的响应,比如转速、电流等波形,来验证两种观测器的性能以及前馈补偿的效果。

总之,这种简单新颖的负载转矩观测器在设计和参数调节上有着独特的优势,结合前馈补偿能有效提升PMSM系统的性能,希望本文能为大家在相关领域的研究和实践提供一些思路。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐