1 前言
先前在软件上仿真过逆变器,但是对电机控制方面并不熟悉。电力电子换流器中的逆变器,控制目的是将输出电压稳定成交流电,供各种各样的负载使用,控制变量是输出电压、输出电流,假如有PFC功能,则增加输入电压和输入电流。而BLDC或者PMSM电机控制中,逆变器的目的是控制电机旋转速度或者是电机的位置。因此控制变量是速度或者位置。但速度或位置传感器,有霍尔传感器或编码器。一般是安装到电机的转轴上。造价较高,体积较大。前人研究发现,可以只采样电机的电压、电流,通过计算估计得到电机的状态。把整个为电机控制的闭环控制策略统称为FOC控制。FOC的优势在于,可以获得电机的位置,并控制电流让电机的输出转矩最大化。
2 电机模型
αβ坐标系下电机模型:

Vs是输入电压,R是绕组的等效电阻,L是电机的等效电感,es是反电动势。

公式(1)
求解电流is:

公式(2)
在数字域中,上式可以表示为:

公式(3)
其中s=α,β。
求解相电流is(n+1):

公式(4)
其中s=α,β。
3 滑模观测器SMO
滑模观测器全称是Sliding Mode Observer(SMO)。在电机的应用场合中,SMO的作用是估计电机的感应电动势以及速度、位置。
以下两幅图是比较常见的,描述了滑模观测器总体结构。
3.1 相电流预测
3.2 感应电动势
感应电动势可以由z(n)经过LPF获得。一阶LPF的推导可见另外的博文。

对结果再次进行低通滤波:
3.3 输出校正因子电压z

sign(a)输出a的符号。另外k是可调参数。
3.4 位置预测
3.5 位置补偿
角速度和位置有以下的关系:

同时,

。因此需要自行对初始位置进行补偿。
最终的表达式是:
3.6 角速度预测
TODO