01--全局

首先看看搭建完成后的模型

 根据PMSM的转矩方程,转矩主要跟q轴电流有关,如果是面装式PMSM,那么Lsd=Lsq,转矩只跟q轴电流相关,如果是插入式PMSM的话,Lsd!=Lsq,但是此时我们可以令d轴电流为0来控制扭矩,这样更方便控制,模型就是基于这一原理进行搭建。

可以看到在转速闭环控制中,请求转速为850转,如下图

 扭矩请求非常平滑,所以转速起来后不会有明显的波动。

02--选择Simulink库自带的PMSM模型

首先在simulink库中选择直流电源DC Voltage Source,参数我们设置311V,选择Universal Bridge和PMSM电机,参数按如下设置。

 

 

 这个设置并不唯一,往往是根据你的电机硬件参数(如电感,极对数,电阻,磁链等等)进行匹配,我这里就按这么设置。

这里的m输出是一个bus信号,根据设置的相数(3相或5相)的不同,输出也不同,我们这里选择3相。然后做一个定子信息的子系统,把我们需要的信号拉出来。

 

Stator_info内部:

 

 信号依次为三相的采集电流Ia,Ib,Ic,转子的转速、转子角度、转矩,以及d轴q轴电流电压。

03--Clark变换

 根据采集的三相电流进行Clark变换,由三相变2相,内部模型如下:

理论依据,网上很多,我随便找一个贴下:

三相电压或电流矢量合成,以电流为例,设Ia、Ib、Ic为三相平衡正弦电流,幅值为Im,则可以表示为:

 

 根据欧拉公式:

 

由上式可知,三相合成矢量是一个角速度为w的旋转矢量,且幅值是合成前相幅值的1.5倍;即两相坐标系下相幅值是三相坐标系下相幅值的1.5倍 

三相变换两相公式,即Clark变换(若为等幅值变换,k=2/3):

 04--Park变换

由三相变两相坐标系,虽然结构更简单了,但是电流还是都是动态变化的,不好控制,为了跟直流一样的控制,我们引入Park变换,选择同步坐标系dq轴,这样的坐标系对于转子来说相对静止,那么电流的控制就跟直流一样好控了。内部模型如下:

 两相静止坐标系变换两相旋转坐标系公式,即Park变换:

 05--求dq轴电压

在这里我们在求电压过程中,依然是根据PMSM中最重要的公式,电压方程

在这里我们进行简化,引入转速环和电流环,转速差及电流差用PI进行调节。 

 转速环:

 参数设置:

 电流环:

 参数设置:

 

 PI调节器内部:

 06--反Park变换

电压由dq轴到αβ的过程:

 下图中Pn是极对数

 07--SVPWM

该节内容的理论可以参考之前发布的SVPWM控制策略需求https://blog.csdn.net/BlueBachke/article/details/129834965

 

 0701--扇区计算

 0702--作用时间的3个值XYZ

 0703--相邻扇区的作用时长(非0矢量)

 0704--三相桥臂的作用时长

0705--占空比输出

 

 

 

 08--模型设置和调试

 求解器设置

 数据设置,

 如果扭矩按如下设置,初始值为0,在0.2s时突变为10N,波形如下:

转速

采集电流

 可以看到在0.2s处时,转速有个波动,电流从0N到10N时的表现等都是是因为扭矩请求不够平滑,突变造成的冲击,如果把扭矩请求改为平滑请求,如下设置:

 再进行仿真可得

 转速

电流

 

 转矩及位置

 此时的过渡非常平顺。

最后,附上该模型马鞍皮

 如需要该模型,可在下载中进行下载,若有不对之处,欢迎各位批评指正!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐