滑模控制与电机角度滑模观测器解析

FOC-滑膜控制器SMC/滑膜观测器SMO 三相PMSM是一个非线性、强耦合的多变量控制系统,对于外界的扰动或者电机自身的参数发生变化时,传统的PI控制并不能满足实际的要求。因此可以引入滑模控制SMC,它对扰动和参数不敏感,响应速度也够快。简单来说就是,滑膜观测器就是通过采样与坐标变换得到的Ualpha,Ubeta,Ialpha,Ibeta四个参数值,获取。SMO叫滑膜观测器(Sliding Mode Observer),用于获取转子位置信息与转速信息。2、作为滑膜观测器SMO,获取电机角度与转速信息。之间的误差来设计滑膜观测器,并通过该误差。 阅读详情
AI摘要

本文系统解析滑模控制原理及其在电机调速中的应用,重点阐述基于反电动势的滑模观测器(SMO)设计方法。内容涵盖滑模面构造、非线性控制律推导、α/β轴电压与电流微分建模,并通过滑模观测器实时估计反电动势,最终利用反正切算法解算转子电角度,实现无传感器永磁同步电机(PMSM)位置观测。全文聚焦控制理论与嵌入式实时实现的结合。

目录

一、滑模控制

1.1 滑模控制器概述

1.2 滑模控制举例

1.2.1 滑模控制调速案例引入

1.2.2 定义误差

1.2.3 设计滑模面函数  

1.2.4 控制律

1.2.5 离散化后代码演示

1.3 滑模切换面和滑模运动过程图解

1.3.1 滑模切换面

1.3.2 滑模运动过程

1.4 与 PID 控制的区别

1.4.1 线性控制与非线性控制

二、滑模观测器基本概念

2.1 什么是观测器

2.2 滑膜观测器基本概念

三、应用观测电机角度的滑模观测器

3.1 反电动势与角度的关系

3.2 静态电压方程

3.2.1 A、B、C 三相电压方程

3.2.1 α、β 轴电压方程

3.2.2 α、β 轴电压方程改成写电流微分形式

3.3 反电动势的滑模观测器

3.3.1 构造反电动势的滑模观测面 

3.3.2 构造反电动势的控制律

3.3.3 电流微分公式 (电流预估模型)

3.3.3 代码演示

3.4 通过 α 和 β 轴反电动势计算角度


一、滑模控制

1.1 滑模控制器概述

滑模控制是一种非线性控制方法。它的核心思想是:在状态空间中设计一个滑模面 (sliding surface),比如:

s(x)=0

  • s(x) = 状态的某种组合 (比如速度误差、电流误差)

如果 s(x) 是速度误差函数,所谓滑模面也就是速度误差等于 0 的情况。通过控制律让系统快速到达这个面,以速度误差举例,就是让其误差快速到达 0。一旦到达滑模面,系统就沿着这个面移动,最终达到收敛状态。

换种通俗的例子:给系统设计一条轨道 (滑模面),不管它一开始在哪,控制器都会强行把它推到轨道上,并且保证它沿轨道滑到终点。

    1.2 滑模控制举例

    1.2.1 滑模控制调速案例引入

    我们考虑一个直流电机调速的场景,用滑模控制给直流电机调速。

    其流程是

    • 定义误差 (目标速度减去当前速度) 
    • 将误差输入滑模面 (将误差求积分,但是滑模函数的目标值 = 0)
    • 滑模面输入控制律,控制律输出调速电压。
    • 捕捉当前速度,计算误差。

    1.2.2 定义误差

    error=\omega ^{*}-\omega

    • \omega ^{*} = 目标速度
    • \omega = 实际速度

    1.2.3 设计滑模面函数  s(x)

    s = error + \lambda \int error \, dt

    • \lambda = 积分权重

    其滑模函数 s(x) = 0,也就是相当于我们的理想情况下应该是 0 误差的。

    1.2.4 控制律

    u=u_{eq}-K\cdot sgn(s)

    • u= 实际施加到系统上的控制输入 (在这里是电压)
    • u_{eq}  = 等效控制电压 (在这里可以是通过电机的 KV 计算的电压)
    • K = 滑模增益系数
    • sgn(s) = 符号函数,内的 s 就是我们的滑模面函数

    其中 sgn(s) 函数定义如下:

    \operatorname{sgn}(x) = \begin{cases} +1, & x > 0 \\ 0, & x = 0 \\ -1, & x < 0 \end{cases}

    其中这个等效控制电压 u_{eq} 相当于是在理想情况,无外部干扰的对应关系。比如使用电机的 KV 值直接算出来的速度。但是通常来说电机不仅会带载,还会发热,这些都会影响到 KV 值的参数。其控制律就是利用这个值和误差累加做差得到的。我们的等效控制值越准,整个系统的性能就越好。

    1.2.5 离散化后代码演示

    下面代码是滑模控制器控制电机速度的代码:

    // 参数
    float lambda = 50.0f;    // λ 系数
    float Ts = 0.001f;       // 采样周期 (1 kHz)
    float K = 2.0f;          // 切换增益
    float Kv = 1000.0f;      // 电机常数 [rpm/V],需要根据电机实际参数修改
    
    // 变量
    float e;                 // 误差
    float e_int = 0.0f;      // 误差积分
    float s;                 // 滑模面
    float u;                 // 控制输入(电压命令)
    
    // 滑模控制函数
    float sliding_mode_control(float ref_speed, float meas_speed)
    {
        // 计算误差
        e = ref_speed - meas_speed;
    
        // 误差积分 (离散积分)
        e_int += e * Ts;
    
        // 滑模面公式 s = e + λ ∫ e dt
        s = e + lambda * e_int;
    
        // 等效控制:补偿反电动势 (简单模型)
        // Kv [rpm/V] -> 转速除以 Kv 得到所需电压
        float u_eq = meas_speed / Kv;
    
        // 切换控制项
        float u_sw = -K * (s > 0 ? 1.0f : -1.0f);
    
        // 总控制律
        u = u_eq + u_sw;
    
        return u;  // 输出电机电压命令
    }

    1.3 滑模切换面和滑模运动过程图解

    1.3.1 滑模切换面

    切换面上三种点的特征

    这张图是滑模控制 (Sliding Mode Control,SMC) 里面常见的切换面 (Switching Surface) 上三种典型点的特性示意图。

    含义如下:

    • 横线 (s = 0):表示切换面 (switching surface)。
    • s>0、s<0:表示系统状态在切换面两侧的区域。
    • A、B、C 三个点:表示系统轨迹与切换面相交或接触时可能的三种情况。

    A 点 (穿越点):

    • 系统状态从 s<0 一侧穿到 s>0 一侧。说明滑模控制律设计得不好,轨迹没有被吸引到切换面,而是直接穿过去。不会形成滑模运动。

    B 点 (驻留点 / 临界点):

    • 系统状态到达切换面时,切换面的法向速度分量为 0。表示轨迹在切换面上既不进入也不离开,可能停在边界上。稍微扰动就会跑到一边去,不稳定。

    C 点 (到达点 / 吸引点):

    • 系统状态到达切换面,并被两侧的控制力推向切换面。说明系统设计合理,轨迹最终会被“吸附”在切换面上,形成稳定的滑模运动 (Sliding motion)。这是滑模控制希望达到的状态。

    1.3.2 滑模运动过程

    滑动模态运动过程示例

    这个图也是 滑模控制(Sliding Mode Control, SMC) 的典型示意图,展示的是系统状态轨迹在切换面上的运动情况。

    滑模面的横纵分别是误差和和归零的导数,也就是误差和误差变化率。误差越大,变化率就越大,在滑模面这种理想情况下是呈线性关系的,但是我们控制的线回归零点却是曲线,一定要梳理好这张图的关系!!!

    坐标轴:

    • 横轴 (位置/误差)
    • 纵轴​ (速度/误差导数)

    直线 s=0 :

    •  切换面,也叫滑模面。它是设计出来的,使得当轨迹被吸引到这条线上后,系统误差可以稳定收敛。

    曲折的轨迹:

    • 系统状态 (x_{1},x_{2}) 由初始点开始,受控制律作用逐渐靠近并贴合在切换面 s=0 上。

    \dot{x} 箭头方向:

    • 表示在切换面上系统状态沿着轨迹向原点 (平衡点) 运动。

    Reaching Phase(到达阶段)

    • 系统状态最开始不在滑模面上。控制律会驱动它逐渐靠近滑模面。

    Sliding Mode(滑动阶段)

    • 状态一旦进入滑模面(黑线)附近,就被“粘住”,沿着黑线往原点移动。这就是滑模。

    Chattering(抖振)

    • 由于控制输入的开关特性,系统不会严格落在黑线上,而是会在黑线附近高频抖动。这就是图上画的锯齿波。

    Equilibrium Point(平衡点)

    • 当状态最终滑到原点时,意味着误差 e=0,\dot{e}=0。这就是目标状态 (比如速度完全跟随指令)。

    1.4 与 PID 控制的区别

    我们可见,PID 控制和非常相似,都有累加积分误差然后输出。

    其最大的区别是滑模控制是非线性控制,而 PID 线性控制。其次的区别是,滑模控制的控制律依赖等效控制这个变量,而 PID 在任何地方也不依赖等效控制。

    1.4.1 线性控制与非线性控制

    对于 PID 和滑模控制来说,线性和非线性的区别是对于输出的区别:

    u(t) = K_p e(t) + K_i \int_0^t e(\tau) \, d\tau + K_d \frac{de(t)}{dt}

    其中比例项、积分项、微分项均有线性依赖关系。

    我们再看滑模控制的控制律:

    u=u_{eq}-K\cdot sgn(s)

    其在 sgn(s) 函数的作用下产生跳变:当 s>0  输出 -K,当 s<0 输出 +K 所以这里的 sgn(s) 是典型非线性函数。

    二、滑模观测器基本概念

    2.1 什么是观测器

    观测器观测的是传感器无法测量的变量。顾名思义是为了观测某个变量,但是这个变量我又没有传感器可以直接测量,比如经典的一个例子:

    火箭发动机的温度,温度非常高,不可能有传感器直接测量的,那么这时候就要用观测器,我虽然不能直接测火箭发动机温度,但是我可以测量火箭表面温度,然后通过热传导公式计算出发动机温度。

    假设火箭温度关系满足下列公式:

    T_{surface}=m\cdot u+n\cdot T_{engine}

    • T_{surface} = 火箭表面温度
    • u = 燃料量
    • m = 不定系数
    • n = 不定系数
    • T_{engine} = 发动机温度

    其中 u 是燃料量,m、n 是不确定系数。

    实际测得的表面温度 T_{surface} 与模型计算得到的温度 T_{engine} 一般不相等。为此,我们设计一个状态观测器,使  T_{engine} 逐渐逼近 T_{surface}​,并在这个过程中动态修正系数 m、n 从而实时估计发动机温度。

    2.2 滑膜观测器基本概念

    滑模观测器 (Sliding Mode Observer,SMO)是一种用于系统状态估计的非线性观测器,尤其常用于电机控制 (如无传感器控制的永磁同步电机 PMSM) 来估计难以直接测量的量,比如转子位置、速度或反电动势。

    滑模观测器是一类基于滑模控制思想的观测器,滑模观测器也包括滑模控制最核心的滑模面和控制律思想。

    三、应用观测电机角度的滑模观测器

    3.1 反电动势与角度的关系

    由于电机三相角度相差为 120° ,A 相的反电动势,相位差为0°;B 相则是120°;C 相是240°

    也就是三项反电动势公式为:

    V_{BEMF_A} = \omega \times k_{e}\times sin(\theta + 0 )

    V_{BEMF_B} = \omega \times k_{e}\times sin(\theta + 120 )

    V_{BEMF_C} = \omega \times k_{e}\times sin(\theta + 240 )

    下图则是三项反电动势和角度的关系。可见,我们只要能准确的获得当前电机的反电动势,即可计算器的当前角度。

    3.2 静态电压方程

    3.2.1 A、B、C 三相电压方程

    这是一个三相无刷电机(或者同步电机)的 等效电路模型,是相电路(单相绕组)建模之后,再按三相星形(Y 形)连接表示出来的。

    我们将 A 相单独列出来,如下图:

    可见,对电压有阻碍作用的有:

    • R_{m} = 相电阻(绕组电阻)
    • L_{m} = 相电感(绕组电感)
    • V_{BEMF}:反电动势源,用来表示转子旋转时感应出来的电压。

    整理公式可得:

    \left\{\begin{matrix} U_a = R_m i_a + L_m \frac{di_a}{dt} + e_a \\ U_b = R_m i_b + L_m \frac{di_b}{dt} + e_b \\ U_c = R_m i_c + L_m \frac{di_c}{dt} + e_c \end{matrix}\right.

    • U_{abc} = 三相绕组的端电压 (A、B、C)。这是逆变器通过 PWM 作用在定子绕组上的电压
    • i_{abc} = 三相绕组的电流 (A、B、C)
    • R_{m} = 定子相电阻 (每一相绕组的电阻)
    • L_{m} = 定子相电感 (假设三相对称,电感相同,不考虑互感时的简化模型)
    • \frac{di_{abc}}{dt} = 三相电流对时间的导数,对应绕组电感电压降。
    • e_{abc} = 三相反电动势 (Back-EMF),由转子磁场切割定子绕组磁链产生。它们与转速、转子位置及磁链相关。

    3.2.1 α、β 轴电压方程

    在 α、β 轴的电压方程和三项电压方程一样:

    \left\{\begin{matrix} U_\alpha = R_m i_\alpha + L_m \frac{d i_\alpha}{dt} + e_\alpha \\ U_\beta = R_m i_\beta + L_m \frac{d i_\beta }{dt} + e_\beta \end{matrix}\right.

    • U_{\alpha \beta } = 三相绕组的端电压 (α、β)。这是逆变器通过 PWM 作用在定子绕组上的电压
    • i_{\alpha \beta} = 三相绕组的电流 (α、β)
    • R_{m} = 定子相电阻 (每一相绕组的电阻)
    • L_{m} = 定子相电感 (假设三相对称,电感相同,不考虑互感时的简化模型)
    • \frac{di_{\alpha \beta}}{dt} = 三相电流对时间的导数,对应绕组电感电压降。
    • e_{\alpha \beta} = 三相反电动势 (Back-EMF),由转子磁场切割定子绕组磁链产生。它们与转速、转子位置及磁链相关。

    将其变形的可得:

    • u_{\alpha \beta } = 定子在 \alpha \beta 静止坐标系下的电压分量
    • i_{\alpha \beta } =  定子在 \alpha \beta 静止坐标系下的电流分量
    • i_{dq} = 定子电流在 dq 旋转坐标系下的分量 (d 轴、q 轴)
    • L_{dq} = dq 轴电感 (分别是沿磁链方向的电感和垂直于磁链方向的电感)
    • R_{s} = 定子电阻
    • \psi _{f} = 由永磁体产生的磁链 (主磁链)
    • \theta = 转子电角度 (电角位置,dq 坐标旋转角度)
    • \omega _{e} = 电角速度

    我们来一步一步分析这个公式:

    定子电阻压降:

    R_{s} \begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix}

    • R_{s} = 定子电阻
    • i_{\alpha \beta } =  定子在 \alpha \beta 静止坐标系下的电流分量

    电感和交叉耦合项:

    加号前是电感的压降;加号后是由于电机是转子坐标变化,d、q 轴电感不相等时 (凸极电机),会出现耦合效应:

    \begin{bmatrix} L_{d} & 0 \\ 0 & L_{d} \end{bmatrix} \frac{d}{dt} \begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix} + \begin{bmatrix} 0 & \omega_{e}(L_{d}-L_{q}) \\ -\omega_{e}(L_{d}-L_{q}) & 0 \end{bmatrix} \begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix}

    • L_{dq} = d、q 轴电感 (分别是沿磁链方向的电感和垂直于磁链方向的电感)
    • i_{\alpha \beta } =  定子在  α、β 轴静止坐标系下的电流分量
    • \omega _{e} = 电角速度

    如果是 d、q 相等的表贴式电机则只有加号前的部分:

    \begin{bmatrix} L_{d} & 0 \\ 0 & L_{d} \end{bmatrix} \frac{d}{dt} \begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix}

    • L_{dq} = d、q 轴电感 (分别是沿磁链方向的电感和垂直于磁链方向的电感)
    • i_{\alpha \beta } =  定子在 α、β 轴静止坐标系下的电流分量

    转子磁链相关项:

    由永磁体产生的反电动势导致的压降,这个我们在下面的公式直接写成  E_{\alpha \beta }

    \Big[ (L_{d}-L_{q})\big(\omega_{e} i_{d} - \tfrac{d}{dt} i_{q}\big) + \psi_{f}\omega_{e} \Big]\begin{bmatrix} -\sin\theta_{e} \\ \cos\theta_{e} \end{bmatrix}=\begin{bmatrix} E_{\alpha } \\ E_{\beta } \end{bmatrix}

    • L_{dq} = dq 轴电感 (分别是沿磁链方向的电感和垂直于磁链方向的电感)
    • \omega _{e} = 电角速度
    • i_{dq} = 定子电流在 dq 旋转坐标系下的分量 (d 轴、q 轴)
    • \psi _{f} = 由永磁体产生的磁链 (主磁链)
    • \theta = 转子电角度 (电角位置,d、q 坐标旋转角度)
    • E_{\alpha \beta } =  α、β 轴的反电动势

    3.2.2 α、β 轴电压方程改成写电流微分形式

    \frac{d}{dt}\begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix}= \begin{bmatrix} -\tfrac{R_s}{L_d} & -\tfrac{\omega_e (L_d - L_q)}{L_d} \\ \tfrac{\omega_e (L_d - L_q)}{L_d} & -\tfrac{R_s}{L_d} \end{bmatrix} \begin{bmatrix} i_{\alpha} \\ i_{\beta} \end{bmatrix} +\frac{1}{L_d} \begin{bmatrix} u_{\alpha} \\ u_{\beta} \end{bmatrix} -\frac{1}{L_d} \begin{bmatrix} E_{\alpha} \\ E_{\beta} \end{bmatrix}

    • u_{\alpha \beta } = 定子在  α、β 轴 静止坐标系下的电压分量
    • i_{\alpha \beta } =  定子在  α、β 轴静止坐标系下的电流分量
    • i_{dq} = 定子电流在 d、q 旋转坐标系下的分量 (d 轴、q 轴)
    • L_{dq} = d、q 轴电感 (分别是沿磁链方向的电感和垂直于磁链方向的电感)
    • R_{s} = 定子电阻
    • \psi _{f} = 由永磁体产生的磁链 (主磁链)
    • \theta = 转子电角度 (电角位置,d、q 坐标旋转角度)
    • \omega _{e} = 电角速度
    • E_{\alpha \beta } =  α、β 轴的反电动势

    3.3 反电动势的滑模观测器

    反电动势的滑模观测器核心思想是,根据电流和预估电流的误差预估一个反电动势 v_{\alpha \beta },然后带入电流微分公式,得到预估电流。循环这个过程,我们便得到了 α、β 轴的反电动势。

    3.3.1 构造反电动势的滑模观测面 s(x)

    s=\left[\begin{array}{l} s_{1} \\ s_{2} \end{array}\right]=\left[\begin{array}{l} \tilde{i}_{\alpha} \\ \tilde{i}_{\beta} \end{array}\right]=\left[\begin{array}{l} \hat{i}_{\alpha}-i_{\alpha} \\ \hat{i}_{\beta}-i_{\beta} \end{array}\right]

    • \tilde{i}_{\alpha\beta } = 电流估计误差
    • \hat{i}_{\alpha\beta } = 电流估计值

    此时,在 s(x) = 0 意味着我们观测的反电动势是正确的。

    3.3.2 构造反电动势的控制律

    \left[ \begin{array}{l} v_{\alpha} \\ v_{\beta} \end{array} \right] = \left[ \begin{array}{l} h \cdot \operatorname{sign}\left(\hat{i}_{\alpha}-i_{\alpha}\right) \\ h \cdot \operatorname{sign}\left(\hat{i}_{\beta}-i_{\beta}\right) \end{array} \right]

    其中 sgn(s) 函数定义如下:

    \operatorname{sign}(x) = \begin{cases} +1, & x > 0 \\ 0, & x = 0 \\ -1, & x < 0 \end{cases}

    此时我们便得到了预估的 α 和 β 轴的反电动势。

    其效果是这样的,那条 45° 直线是滑模面。横轴是误差,纵轴是误差的导数。

    在理想的情况下,也就是滑模面,也就是误差和误差回正导数正线性比例。

    3.3.3 电流微分公式 (电流预估模型)

    \frac{d}{d t} \begin{bmatrix} \hat{i}_{\alpha} \\ \hat{i}_{\beta} \end{bmatrix} = \begin{bmatrix} -\frac{R_{s}}{L_{d}} & -\frac{\omega_{e}(L_{d}-L_{q})}{L_{d}} \\ \frac{\omega_{e}(L_{d}-L_{q})}{L_{d}} & -\frac{R_{s}}{L_{d}} \end{bmatrix} \begin{bmatrix} \hat{i}_{\alpha} \\ \hat{i}_{\beta} \end{bmatrix} + \frac{1}{L_{d}} \begin{bmatrix} u_{\alpha} \\ u_{\beta} \end{bmatrix} - \frac{1}{L_{d}} \begin{bmatrix} v_{\alpha} \\ v_{\beta} \end{bmatrix} \quad

    • \hat{i}_{\alpha\beta } = 电流估计值
    • v_{\alpha \beta } = 估计的反电动势
    • u_{\alpha \beta } = 定子在  α、β 轴 静止坐标系下的电压分量
    • i_{dq} = 定子电流在 d、q 旋转坐标系下的分量 (d 轴、q 轴)
    • L_{dq} = d、q 轴电感 (分别是沿磁链方向的电感和垂直于磁链方向的电感)
    • R_{s} = 定子电阻
    • \psi _{f} = 由永磁体产生的磁链 (主磁链)
    • \theta = 转子电角度 (电角位置,d、q 坐标旋转角度)
    • \omega _{e} = 电角速度

    3.3.3 代码演示

    void SMO_position_estimate(void) {
    
        // Clarke 变换:三相电流 -> αβ
        float Ialpha = CS_M0.current_a;
        float Ibeta  = _1_SQRT3 * CS_M0.current_a + _2_SQRT3 * CS_M0.current_b;
    
        // 根据电流微分方程构造电流预测模型
        // 核心思想是输入预估的反电动势反推出来电流
        //其中 SMO_Ualpha 和 SMO_Ubeta 是逆变器控制的电压 Ealpha 和 Ebeta 是滑模观测器估计的反电动势
        Est_Ialpha = a_coeff * Est_Ialpha + b_coeff * (SMO_Ualpha - Ealpha);
        Est_Ibeta  = a_coeff * Est_Ibeta  + b_coeff * (SMO_Ubeta  - Ebeta);
    
        // 电流误差 观测误差与实际误差 也就是滑模面函数
        float Ialpha_Err = Est_Ialpha - Ialpha;
        float Ibeta_Err  = Est_Ibeta  - Ibeta;
    
        // 构造控制律
        Ealpha = h * sat(Ialpha_Err, 0.5f);
        Ebeta  = h * sat(Ibeta_Err,  0.5f);
    
        // 低通滤波
        Ealpha_flt = 0.1f * Ealpha_flt + 0.9f * Ealpha;
        Ebeta_flt  = 0.1f * Ebeta_flt  + 0.9f * Ebeta;
    
        // 反电动势求角度 使用 atan2 函数计算电角度
        SMO_Est_theta = -atan2f(Ealpha_flt, Ebeta_flt);
    }
    

    set 函数定义:

    float sat(float err, float limits) {
      if (err > limits) return 1;
      else if (err < -limits) return -1;
      else
        return err / limits;
    }
    

    3.4 通过 α 和 β 轴反电动势计算角度

    因为 α 轴和 β 轴呈 90°,所以使用反正切角度即可推算出电角度。

    也就是:

    \theta =\arctan (\frac{E_{\alpha }}{E_{\beta }})

    • \theta = 转子电角度 (电角位置,d、q 坐标旋转角度)
    • E_{\alpha \beta } =  α、β 轴的反电动势

    对应上面代码的:

    // 反电动势求角度 使用 atan2 函数计算电角度
        SMO_Est_theta = -atan2f(Ealpha_flt, Ebeta_flt);

    滑模控制理论(SMC) 滑膜控制的核心是建立一个滑模面,将被控系统拉倒滑模面上来,使系统沿着滑模面运动,滑膜控制的优势在于无视外部扰动和不确定性参数,采取一种比较暴力的方式来达到控制目的,但是这种暴力也带来了一些问题,就是正负信号的高频切换,一般的硬件是无法进行信号的高频切换的,所以需要一些其他的方式避免这个问题,还有就是型号的高频切换会导致输出的信号出现震荡,导致系统在所选取的滑模面之间来回震荡,这种震荡是无法消除的,这也是滑膜控制的一个问题。,注意,这里和前文不同,这里的控制目标不在是0了。 阅读详情

    相关推荐

    永磁同步电机FOC控制无感滑模观测器

    当我们使用FOC控制电机时,需要获得转子位置和角速度信息,一般我们会利用添加硬件(传感器)的方式去获取电机的转子角度和速度信息(有感控制),但在没有传感器或者一些项目不方便添加硬件的时候,就需要我们利用可直接测量的信息(如三相电流等),去估算当前的转子角度和电机速度,SMO滑模观测器就是用于是根据系统的外部变量(输入变量和输出变量)的实测值得出状态变量估计值的一类动态系统,通过测量实际系统的输入输出,可以得到给定系统内部状态的估计值。

    Tartaronis的博客 3431

    【电机控制】PMSM无感FOC控制(七)滑模观测器的应用

    滑膜变结构控制系统要求系统在任意状态能够在一定时间内到达滑动平面, 能够在滑动平面稳定运行,这个意义上包含两个问题:滑动平面S(x)选择和 控制函数U(x)的设计。本章结合PMSM无感控制应用详细讲解了滑动平面S(x)选择和 控制函数U(x)的设计。

    liuxiaofeng的博客 2万+

    三相永磁同步电机无感滑模观测控制TI源代码解析

    日期:20200211 作者:LJL 参考文档:DMC MATH (文档地址:C:\ti\controlSUITE\libs\app_libs\motor_control\math_blocks\v4.1~Docs) 参考源码:smopos.h,smopos_const.h (代码地址:C:\ti\controlSUITE\libs\app_libs\motor_control\math_bloc...

    lijialin_bit的博客 1万+

    滑膜观测器

    滑模观测器是一种强大且实用的状态观测工具,特别适合应用于电机控制领域,具有鲁棒性强和收敛速度快的优点。然而,由于可能存在的抖振问题,在设计和应用中需要采取适当的措施进行处理。

    Wxx_Combo的博客 7570

    滑模观测器与滑模控制器在无感FOC中的应用解析

    滑模变结构控制是一种对系统参数变化不敏感的鲁棒控制策略,在电机控制领域被广泛应用。无感FOC(磁场定向控制)无需物理传感器,通过观测器从电流电压中估算转子位置和速度,其中滑模观测器因其对反电动势的强观测能力和工程易用性成为主流方案。滑模控制器则能有效应对电机参数漂移和负载突变,提升电流环和速度环的动态性能。这种组合在风机、水泵、无人机电调等中高速运行场景中具有显著的成本和可靠性优势。文章围绕滑模观测器与滑模控制器的原理、参数设计、仿真到STM32实现的完整链路展开,并结合常见问题给出工程调参建议,帮助从业者

    weixin_33925615的博客 342

    无感FOC滑模控制与观测器实战:从原理到STM32实现

    无感FOC控制中,如何在没有编码器的情况下准确获取转子位置是核心难点。滑模控制(SMC)与滑模观测器(SMO)凭借对电机参数不敏感、抗负载扰动强、计算量小等优势,成为替代传统PI+编码器的实用工程方案。本文从反电动势法原理切入,讲解SMO如何通过电流观测器与PLL提取转子角度,并介绍SMC在电流环和速度环中的设计方法、抖振抑制技巧,以及从Simulink仿真到STM32实机调试的完整参数整定流程与常见避坑指南,适合正在从事无感FOC开发的工程师参考。

    weixin_29166013的博客 312

    PMSM控制进阶:从PI参数整定到滑模与无感FOC全解析

    永磁同步电机(PMSM)的矢量控制(FOC)是伺服驱动、变频家电与机器人关节控制的核心基础。从三相静止坐标到dq旋转坐标的克拉克/帕克变换,把交流耦合量变成直流分量,为电流环PI设计提供了简洁被控对象。在此基础上,PI参数带宽整定解决“转得稳”,滑模控制通过滑模面与切换项提升负载突变时的鲁棒性,解决“转得准”。进一步引入滑模观测器与锁相环,从反电动势中估计转子位置,配合I/f开环启动实现无位置传感器FOC,从而省去编码器、降低系统成本。本文沿这一链路梳理坐标变换、电流环/速度环整定、积分抗饱和、离散化、滑模

    weixin_29194817的博客 204

    高频注入与滑模观测器在电机控制中的关键技术解析

    高频注入法和滑模观测器是现代无传感器电机控制中的两大核心技术。高频注入通过向电机注入特定频率的信号,利用响应信号提取转子位置信息,其核心在于载波信号的参数设计和位置信息的精确提取。滑模观测器则凭借其强鲁棒性,在电机参数变化和外部干扰下仍能保持稳定性能,关键在于滑模面的设计和抖振抑制方法的应用。这两种技术在工业伺服系统、电动汽车驱动等领域有广泛应用,能够显著提升系统的动态响应和抗干扰能力。本文结合Simulink仿真实践,深入探讨了载波信号生成、位置信息提取、滑模面设计等关键技术细节,并提供了参数选择、死区补

    weixin_30915951的博客 374

    永磁同步电机无速度传感器控制(一)——滑模观测器(一)【位置估计原理】

    很早就准备开始无速度这个系列了,但因为时间不够充裕,这个想法一直都没有落地。从今天开始吧

    sy243772901的博客 3万+

    PMSM无感FOC控制:滑模观测器原理、实现与调试全解析

    在电机控制与嵌入式系统开发中,状态观测器作为一种关键的软件算法,扮演着“虚拟传感器”的角色。其核心原理是基于系统的数学模型和部分可测信号,通过预测与校正的闭环机制,实时估算出无法直接测量或测量不准的内部状态。这项技术的核心价值在于增强系统鲁棒性、提升控制精度并降低硬件成本,是实现高性能无传感器控制的基础。在永磁同步电机的磁场定向控制等应用场景中,面对参数变化和负载扰动,观测器的性能至关重要。其中,滑模观测器因其强鲁棒性和对参数变化不敏感的特性,成为工程实践中的热门选择。本文将以滑模观测器为例,深入剖析其数学

    weixin_30675247的博客 440

    异步电机无感矢量控制滑模观测器Simulink仿真全解析

    无传感器矢量控制是异步电机驱动中的核心技术,其难点在于转子磁链角度与转速的在线辨识。滑模观测器(SMO)基于变结构控制原理,通过强迫定子电流误差收敛,将反电动势从电压方程中提取出来,进而估算转子磁链角度与转速,具有对参数摄动鲁棒性强、结构简单、易在工程中落地的特点。本文从异步电机数学模型出发,详细拆解SMO的算法原理、Simulink模型搭建、关键参数计算(切换增益、滤波截止频率)以及转速估算与转差补偿方法,并针对仿真调试中的常见问题给出排查策略。适合电机控制初学者及从事变频器无感控制开发的工程师参考。

    weixin_29189377的博客 277

    电机控制系列模块解析(第六篇)—— 观测器

    紧接着,说明一下以上各个方法的优缺点:1、滑模控制器和观测器是一种误差趋近手段,不同的滑模面函数决定了其误差收敛的不同过程,滑模增益的自适应和滑模方程阶数的增加是滑模两个主要发展方向;2、模型参考自适应归为自适应控制领域,可根据稳定性分析选择不同的自适应律;3、智能算法对硬件要求较高,而其稳定性难以证明,且需要一定训练和先验知识。4、工程上反电势观测器和磁链观测器作为主流基波观测器,有较多细节需深入研究,诸如角度估计、转速估计、参数鲁棒性、偏差校正增益、低通滤波器参数等等。

    初心不忘产学研的博客 1万+

    永磁同步电机滑模控制与观测技术实战源码解析

    矢量控制(Vector Control)又称磁场定向控制(FOC),其核心思想是通过坐标变换,将交流电机的控制转化为类似直流电机的形式。具体流程如下:电流采样:获取三相定子电流$ i_a, i_b, i_c $Clark变换:将三相电流转换为两相静止坐标系下的电流$ i_\alpha, i_\beta $Park变换:根据转子角度$ \theta $,将电流转换为旋转dq坐标系下的$ i_d, i_q $PI控制器。

    weixin_42605397的博客 1206

    电机驱动开发学习24. 无感FOC与滑模_PLL观测器

    无感FOC与滑模-PLL观测器技术解析 核心问题:无感FOC通过电机电气参数反推转子位置和转速,解决硬件传感器带来的成本高、可靠性差等问题。 技术架构: 滑模观测器(SMO):利用定子电压电流提取反电动势矢量$\hat e_{\alpha\beta}$,通过电流残差估计转子状态。 PLL锁相环:将SMO输出的反电动势转化为平滑的转子电角度$\hat{\theta}$和转速$\hat{\omega}$,避免直接计算带来的噪声。 工程实现: 启动流程采用I/F强制开环拖动至可观测区,再切换至霍尔辅助FOC,滑模

    猿来这样-谢厂节的博客 613

    永磁同步电机无感FOC滑模观测器(SMO)原理与实战解析

    电机控制中位置传感器的局限性催生了无位置传感器控制技术,其核心是通过电机电压电流重构转子位置。反电动势作为转子位置信息的载体,需要在各种干扰下被准确估计。滑模观测器(SMO)凭借其对参数摄动和外部扰动的强鲁棒性,成为永磁同步电机(PMSM)无感FOC中应用最广泛的方案之一。从SMO的数学模型出发,介绍基于Clark变换的反电动势观测原理、饱和函数抑制抖振方法、低通滤波与相位补偿技巧,并结合电压极限圆和电流极限圆分析SMO的边界工作约束,给出启动强拖、切换逻辑、参数调节等实战经验,为工程实现提供参考。

    weixin_33801856的博客 422

    永磁电机滑模观测器SMO源码与工程实现全解析

    滑模观测器(SMO)是一种基于滑模变结构控制的鲁棒状态观测方法,通过构造电流观测器并利用开关函数迫使观测偏差收敛至滑模面,从而提取反电动势信息实现转子位置与转速估算。其核心原理在于滑模控制律的设计与抖振抑制,技术价值体现在对电机参数变化不敏感、算力开销低且易于嵌入式实现。在无感FOC的永磁同步电机控制中,SMO广泛应用于风机、泵类等中高速运行场景,用以替代机械编码器。本文结合可运行的C语言源码与详细推导文档,系统拆解从电流观测、反电动势滤波到角度补偿的完整链路,并给出参数整定与开环对拍验证的工程实践方法,帮

    weixin_29172963的博客 275

    永磁同步电机无感控制:滑模观测器实战解析

    电机控制领域中,无位置传感器算法是实现高效驱动系统的关键技术。其核心原理是通过电流、电压等可测信号重构转子位置信息,克服传统编码器带来的成本与可靠性问题。滑模观测器凭借其强鲁棒性成为解决参数敏感问题的有效方案,通过非线性控制策略自动补偿电机参数变化,显著提升系统稳定性。该技术特别适用于工业伺服、电动汽车等存在参数扰动与工况变化的场景。实测数据显示,在Rs/Ls参数偏差20%时仍能保持0.1rad以内的角度误差,且采用树莓派等通用硬件即可实现50μs控制周期。结合高频注入法可扩展低速运行范围,通过滞环处理有效

    weixin_34319374的博客 404

    永磁电机滑模观测器SMO源码解析与工程实践指南

    滑模观测器(SMO)是一种基于滑模变结构控制的鲁棒状态观测方法,通过强迫系统状态沿预设滑模面运动,实现对不可测状态量的渐近跟踪。其核心原理是利用符号函数或饱和函数构造滑模控制量,使观测电流逼近真实电流,进而从滑模量中提取反电动势信息,再结合反正切或锁相环解算转子位置与转速。SMO在永磁同步电机无感FOC控制中具有重要技术价值,因其对参数摄动和外部扰动不敏感,且实现轻量,适合嵌入式平台部署。典型应用场景包括低速段位置估算、无编码器驱动及成本敏感型电机控制系统。本文围绕SMO算法源码,从电流观测器离散化、反电动

    weixin_32239523的博客 171
    上一篇: 电机的磁链常数、反电动势系数、转矩系数和 KV 值都是什么?
    下一篇: 死区补偿的平均电压补偿和线性补偿法
    崔佳宇_
    崔佳宇_ 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
    博客等级 码龄10年 1万+粉丝 173原创
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    个

    红包个数最小为10个

    元

    红包金额最低5元

    当前余额3.43元 前往充值 >
    需支付:10.00元
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付元
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值