锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

小猫爪:PMSM之FOC控制11-基于SMO实现FOC无传感器双闭环

时间:2022-12-05 00:30:00 02ts传感器

小猫爪:PMSM之FOC控制11-基于SMO实现FOC双闭环无传感器

  • 1 前言
  • 2 仿真搭建
    • 2.1 观测器
    • 2.2 反正切
    • 2.3 仿真结果
  • 3 移植验证
  • END

1 前言

??在前面的文章中,已经SMO所有的架构都建成了,接下来是使用Matlab将其实现。

2 仿真搭建

2.1 观测器

??首先列出以前构建的模拟器模型如下:
在这里插入图片描述
??其中 A = [ ? R L s 0 0 ? R L s ] A=[\begin{matrix} -\frac{R}{L_s} & 0 \\ 0 & -\frac{R}{L_s} \\ \end{matrix}] A=[?LsR00?LsR],将其拆成两个式子为:

  将其离散化得:

  其中 A = e x p ( − R / L s T s ) , B = ( 1 − A ) / R A=exp(-R/L_sT_s), B=(1-A)/R A=exp(R/LsTs),B=(1A)/R T s T_s Ts为采样周期。注:别问怎么算出来的,问就是不知道

  离散化后的SMO的本质其实是这样的:

  将其搭建成仿真后其中 i α i_\alpha iα部分如下:

2.2 反正切

   E α E_\alpha Eα E β E_\beta Eβ得到后就可以使用反正切求得 θ \theta θ了,但是这里存在一个问题,之前就说过 E α E_\alpha Eα E β E_\beta Eβ其实就是 z α z_\alpha zα z β z_\beta zβ进行滤波得到得,所以会存在一个相位延迟,而这个延迟会很大程度上影响估算 θ \theta θ的准确性,所以需要在反正切的结果上加上一个角度补偿来弥补这个相位延迟,即:

  其中 ω c \omega_c ωc为低通
滤波器截至频率。为了获取转速信息,则可以对上式的 θ \theta θ进行微分,或者如果表贴士PMSM,则可以使用如下式子计算:

  根据上面的描述,最后搭建的反正切模型如下:

2.3 仿真结果

  foc_control如下:

  让电机系统处于有传感器的双闭环状态下,然后使用SMO观测在旁边观测,最后对比一下电机转子的真实 θ \theta θ和SMO估算出来 θ \theta θ,如下:

  可以发现估算出来的 θ \theta θ与电机真实 θ \theta θ非常接近,这代表算法成功了。

3 移植验证

  将算法移植到MCU中,首先让电机运行在电流闭环下,然后用SMO预测电机角度,如下:

  可以看到估算出的 θ \theta θ非常不好,这里只要有两个原因,第一就是现在还没有实现速度闭环,所以目前的电流很不稳定,再加上现在的电流也和目前电机的速度不匹配,预估的结果非常不好。接下来我们就要加上速度环,实现双闭环,再看看SMO的表现。

  下图则是加入速度环的SMO的波形,此时FOC的 θ \theta θ已经是由SMO估算出来的。

  再来看看调速性能:

  至此,使用SMO已经可以让电机转起来了。

  下面贴上我的测试代码:

END

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章