matlab将图片旋转的代码_基于Matlab的PMSM模型初探

f3517e4a615315c917b8624f0065a9b5.png

本文首发自微信公众号“汽车技术馆”!

随着新能源车辆的普及,电机的控制技术逐渐成为了热门的话题,尤其是目前在电机上普遍使用的永磁同步PMSM技术,其实不止是新能源的电机驱动使用了这样的技术,在其它的很多零部件上也有普遍的应用,比如基于PMSM电机设计的水泵,还有大家相对比较熟悉的滚筒洗衣机,都是使用了PMSM的电机设计方式。

早些时候接触的比较多的是纯代码形式的功能实现,即使用手写代码的方式实现单片机对永磁同步电机的控制,目前市场上应用很多的方案就是早前飞思卡尔的单片机的一种方案,有兴趣的朋友可以去了解一下,那个单片机是属于S12系列的,而且官方给出了很好的demo工程,也有很多的应用指导,辅助快速的入门,这里我们就不多说了,今天要说的主题是永磁同步PMSM的Matlab模型问题。

永磁同步PMSM的控制方式

关于永磁同步电机PMSM的概念我们就不说了,不明白的小伙伴可以自行百度啊,因为小编也不是特别熟悉那些机械的概念,怕给大家传达错误的信息。

目前在PMSM电机控制技术方面主要分为两个阵营,第一个阵营就是FOC-矢量控制技术,也是使用较为广泛的一种;第二种就是DSC-直接转矩控制,这一种相对来说算法上相对复杂,而且之前看到有文章说,这项技术被ABB公司申请了专利保护,如果使用还需要缴纳专利使用费用(具体情况不知道是不是这样的),所以现在使用这种技术的相对较少。

所以,小编今天分享的也是以FOC的控制方式建立Matlab的模型的思路。

PMSM的FOC控制算法

FOC主要是通过电流实现转矩,速度和位置的控制,通常来说电流是控制的最内环,往外依次是速度环和位置环,作为最内部的电流环,其整体的逻辑框图如下:

4699bd0a24d63e279a6b1febd0bf349a.png
图片来自网路

我们整体的来解释一下这个逻辑框图,PMSM代表的是实际的电机,通过电流采集功能采集电机三相的电流,不过通常只需要采集两相的电流即可,因为三相电流之和等于零,所以可以通过采集的两相电流计算得出第三相的电流即可。

获得三相电流之后,通过Clark变换,将三相坐标的电流转换为两相静止坐标的电流,这样做的目的是为了把复杂的问题简化,如何起到简化的作用呢?那就要从电机的物理特点说起了,永磁同步电机的转子是永磁体,可以产生的磁场是一个N极和一个S极,如果想使只作用于转子的效率最高就需要施加一个如下方向的扭矩

89d8119da40dd8a3702900acc8d1f5eb.png

那么如果想实现这样的目的,就只能简化定子电流所产生的磁场方向,让磁场的方向一个是和转子的磁极垂直的,一个和转子的磁极是平行的,这样只要控制平行的磁场尽可能的小,垂直的磁场尽可能的大,就可以实现这样的目的了,而且可以更好的提高效率。

因此,我们需要将三相的电流通过Clark变换变为两相的磁场,在Clark变换中只能变化为两相的静止坐标磁场,但是在电机的工作过程中电机的转子是转动的,所以需要把静止的坐标旋转起来,让其旋转速度和转子的旋转速度相同,这样才更方便的控制转矩和转子磁场的角度,所以在完成克拉克变换之后,需要再进行Park变换,在Park变换的过程中就需要考虑转子角度和速度的问题了,因此有了角度和速度计算的必要性,如果电机中包含有位置传感器是可以直接计算出转速和角度的,如果没有位置传感器的话则需要使用转速和角度估算模型,这个是一个比较复杂的算法,我们后边可以专门写一篇关于这个主题的文章。

经过Park变化之后,会得出D和Q两个方的电流,D方向就是和转子磁场方向平行的方向,Q方向就是和转子磁场方向垂直的方向,我们可以通过控制Q方向电流大小实现驱动扭矩大小的控制。在逻辑框图中可以看到,Park变化后的D和Q电流值和请求的D和Q的电流值经过PI运算之后,得出需要在D和Q轴施加的电压的大小,然后再经过反Park变化进而得出静态两相坐标的电压值,然后再经过反Clark变化得出三相电机的电压值,最后通过SVPWM技术,将电机的三相电压施加到电机上,进而形成了一个闭环的控制。

上面说到的是最内层的电流环,如果再加上一个速度还会使什么样的呢?

c95d4f6ecc7b165e248e5bc2bbe348fb.png

其实也就是多了一个速度的PI运算,最终还是要通过内侧的电流环来实现目的。

如何将控制逻辑转化为matlab模型

上面描述了一个宏观的概念,让大家对FOC的这种控制方式有个初步的了解,为了更好的理解可以在matlab中对这种控制逻辑进行模型搭建,然后进行仿真。

下面我们简单说一下搭建的模型

总体的模型就是包含我们刚才逻辑框图提到的几个部分,总体如下

e74a22df7d285579d7dd18386e543d85.png

可以从模型中找到一一对应的关系,所以需要弄清楚每一个模块具体的算法,不然的话模型中的逻辑不太容易实现。建立了模型之后,我们可以做一下仿真

我们设定目标转速2000,可以看到仿真的结果如下

bb3599e9d7c1ca43f2421b90d883a191.png

还有仿真过程中三相电流的曲线如下

846103799325a9d3f68a3e485e43786d.png

你可以记录你想记录的任何数据,很方便对PMSM的控制了解。

写在最后

本文没有对关于模型中每个模块的具体算法进行详细说明,因为涉及到很多的理论知识,所占的篇幅会比较长,在后续的文章中,小编会和大家逐步的分享!

关于模型的问题,大家有兴趣可以自己建一下,或者阅读微信公众号原文!

今天就写到这里了!文中有什么不妥或者不对的地方欢迎留言指正!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值