探索永磁同步电机无传感器控制:脉振高频注入(HFI)之路
永磁同步电机无传感器控制 电机模型根据状态方程自己搭建的 脉振高频注入HFI
在电机控制领域,永磁同步电机(PMSM)因其高效、高功率密度等优点,被广泛应用于工业、汽车等众多领域。而无传感器控制技术更是为PMSM的应用增添了一抹亮色,它摒弃了传统的位置传感器,降低成本的同时提高了系统的可靠性和紧凑性。今天,咱就唠唠基于脉振高频注入(HFI)法的永磁同步电机无传感器控制,并且这其中电机模型还是咱依据状态方程亲手搭建的哦。
亲手搭建电机模型:基于状态方程
永磁同步电机的数学模型是控制算法的基石。从状态方程出发搭建模型,能够更深入理解电机内部各物理量的相互关系。一般来说,在静止坐标系下,永磁同步电机的电压方程可表示为:
\[
\begin{cases}
u{\alpha}=Rsi{\alpha}+\frac{d\psi{\alpha}}{dt}\\
u{\beta}=Rsi{\beta}+\frac{d\psi{\beta}}{dt}
\end{cases}
\]
其中,\(u{\alpha}\)、\(u{\beta}\) 是定子电压在 \(\alpha\)、\(\beta\) 轴的分量,\(Rs\) 是定子电阻,\(i{\alpha}\)、\(i{\beta}\) 是定子电流在 \(\alpha\)、\(\beta\) 轴的分量,\(\psi{\alpha}\)、\(\psi_{\beta}\) 是定子磁链在 \(\alpha\)、\(\beta\) 轴的分量。
磁链方程为:
\[
\begin{cases}
\psi{\alpha}=Lsi{\alpha}+\psif\cos\theta\\
\psi{\beta}=Lsi{\beta}-\psif\sin\theta
永磁同步电机无传感器控制 电机模型根据状态方程自己搭建的 脉振高频注入HFI
\end{cases}
\]
这里,\(Ls\) 是定子电感,\(\psif\) 是永磁体磁链,\(\theta\) 是转子位置角。
转矩方程为:
\[Te = \frac{3}{2}p[\psif(i{\alpha}\sin\theta - i{\beta}\cos\theta)+(Ld - Lq)i{\alpha}i{\beta}\sin2\theta]\]
其中 \(p\) 是电机极对数,\(Ld\)、\(Lq\) 分别是 \(d\)、\(q\) 轴电感。
基于这些方程,我们就可以通过代码来搭建电机模型啦。以Python为例:
import numpy as np
# 电机参数
Rs = 1.5
Ls = 0.025
Ld = 0.025
Lq = 0.025
psi_f = 0.175
p = 4
def pmsm_model(u_alpha, u_beta, i_alpha, i_beta, theta, omega, dt):
# 计算磁链
psi_alpha = Ls * i_alpha + psi_f * np.cos(theta)
psi_beta = Ls * i_beta - psi_f * np.sin(theta)
# 计算电流变化率
di_alpha_dt = (u_alpha - Rs * i_alpha - omega * psi_beta) / Ls
di_beta_dt = (u_beta - Rs * i_beta + omega * psi_alpha) / Ls
# 更新电流
i_alpha = i_alpha + di_alpha_dt * dt
i_beta = i_beta + di_beta_dt * dt
# 计算转矩
Te = 1.5 * p * (psi_f * (i_alpha * np.sin(theta) - i_beta * np.cos(theta)) +
(Ld - Lq) * i_alpha * i_beta * np.sin(2 * theta))
# 更新位置和速度
omega = omega + (Te - 0.01 * omega) / (0.01 * p) * dt # 简单的负载和转动惯量模型
theta = theta + omega * dt
return i_alpha, i_beta, theta, omega, Te
上述代码中,pmsm_model 函数根据输入的电压、电流、位置和速度等参数,按照前面提到的方程计算出更新后的电流、位置、速度和转矩。dt 表示时间步长,通过逐步迭代这个函数,就能模拟电机的运行过程。
脉振高频注入(HFI)法探秘
在无传感器控制中,脉振高频注入法是一种常用的针对凸极永磁同步电机的位置估算方法。其基本原理是向电机注入一个高频脉振电压信号,利用电机凸极性产生的高频电流响应来提取转子位置信息。
假设注入的高频脉振电压信号为:
\[u{h\alpha}=Uh\cos(\omega_ht)\]
\[u{h\beta}=Uh\sin(\omega_ht)\]
这里 \(Uh\) 是高频电压幅值,\(\omegah\) 是高频角频率。
注入高频信号后,定子电流中会包含与转子位置相关的高频分量。通过对电流信号进行解调、滤波等处理,就能得到转子位置信息。下面是一段简单的处理高频电流提取位置信息的代码示意(基于之前的电机模型,假设已经得到高频电流分量 \(i{h\alpha}\) 和 \(i{h\beta}\)):
def position_estimation(i_h_alpha, i_h_beta, omega_h, dt):
# 解调
s_alpha = i_h_alpha * np.cos(omega_h * dt)
s_beta = i_h_beta * np.sin(omega_h * dt)
# 低通滤波(简单示意,实际可用更复杂滤波器)
alpha_filtered = 0.99 * alpha_filtered + 0.01 * s_alpha
beta_filtered = 0.99 * beta_filtered + 0.01 * s_beta
# 计算位置信息
theta_est = np.arctan2(beta_filtered, alpha_filtered)
return theta_est
在这段代码中,首先对高频电流进行解调,将其与高频载波相乘。然后通过简单的一阶低通滤波器对解调后的信号进行滤波,去除高频噪声。最后利用反正切函数计算出估计的转子位置。
永磁同步电机无传感器控制结合亲手搭建的电机模型和脉振高频注入法,为电机控制领域带来了新的思路和应用可能。虽然这里只是简单的介绍和代码示例,但希望能为对这个领域感兴趣的小伙伴们打开一扇探索的大门。后续还有很多优化和深入研究的空间,比如更精确的电机模型、更高效的位置估算算法等等,咱们一起在这个充满挑战与乐趣的领域继续探索吧!

更多推荐


所有评论(0)