FOC矢量控制系统

1.电机控制原理及其技术背景

1.1三相同步电机电磁转距

如下图是三相隐极同步电机结构图。电机学理论表明,空间对称分布的三相绕组通入三相对称交流电后便能产生旋转磁场。若在如图通入A,B,C三相对称正弦电流,就会在气隙中产生正弦分布且幅值恒定的旋转磁场, 称为圆形旋转磁场, 其在电机气隙内形成了 N 极和 S 极。于是形成定子磁场轴向s,转子磁场轴向r。

在这里插入图片描述

如下图是三相隐极同步电机等效模型。此时将转子励磁(永磁同步电机则由永磁体励磁)磁场轴线定义为 d 轴, q 轴超前 d 轴 90°电角度, dq 轴系与转子一道旋转。 A 轴为 A相绕组的轴线, 将 A 轴作为空间参考轴, dq 轴系的空间位置由电角度 θr来确定。定子旋转磁场的轴线为 s 轴, 其在 dq 轴系中的空间相位为 β。 设想,在 s 轴上安置一个单轴线圈 s(可设想为铁心中旋转线圈 s),与 s 轴一道旋转,通入正向电流 is 后,产生的正弦分布磁场即为定子旋转磁场。

电磁转矩的公式为:
T e = − i s i f L m s i n β T_e = - i_si_fL_msin\beta Te=isifLmsinβ
  电角度为90°,电磁转矩最大。
在这里插入图片描述

由此引出foc的控制策略。规定转子方向为d轴方向,(通过获取编码器位置即可获得d轴角度,可规定A轴方向为0°)q轴为超前d轴90°方向。对输入定子绕组的三相电流进行坐标变换,将三相电流转化为d、q轴方向的电流,那么我们只要对d,q轴电流进行控制即可对电磁转矩进行控制,一般我们控制d轴电流为0(有些场合需要电机高速运转,可能需要弱磁处理),那么只需要对q轴流进行精准控制即可获得精准的电磁转矩控制效果,当然这里先不考虑电机参数变化所带来的影响,实际情况三环参数与电机参数是密切相关的。

2.FOC整体框图

如下图也是最为经典,被引用了无数次的FOC控制的框图。如图依次从左往右,从上向下介绍。最左边速度环运算,经过PID运算,速度环输出作为电流环q轴PID运算的参考输入,再经过坐标变换,SVPWM模块输出三相电压控制电机。下面依次介绍各模块的实现。
在这里插入图片描述

这里先贴出最核心的电流环代码

/*******************************************************************************
* Function Name  : 
* Description    : 电流环
* Input          : float  q轴电流设定值
* Output         : 
*******************************************************************************/
void Current_Loop(float Current_q)
{
   
	Current_Components Current_AlphaBeta;
	Current_Components Current_dq;
	Voltate_Components Voltate_dq;
	Voltate_Components Voltate_AlphaBeta;
	float radian ;
	//获取三相反馈电流
	Current_UVW = Get_Current_UVW();
    //获取转子位置
	radian = (float)(7 * (ReadRadian() - 0.5819));
	//CLARK变换
	Current_AlphaBeta = Clark(Current_UVW);
	//Park变换
	Current_dq = Park(Current_AlphaBeta, (float)(radian);
    //d轴Pid运算
	Voltate_dq.qV_Component1 = PID_Regulator(Set_Current_d, Current_dq.qI_Component1, &Current_PID_Struct);
	//q轴pid运算
	Voltate_dq.qV_Component2 = PID_Regulator(Current_q, Current_dq.qI_Component2, &Current_PID_Struct);
	//反park变换
	Voltate_AlphaBeta = Re_Park(Voltate_dq,radian);
	//SVPWM
	SVPWM(Voltate_AlphaBeta);
}

2.1 SVPWM实现

本文所实现的方法来自《现代永磁同步电机控制原理及MATLAB仿真》。

如下图也是最最经典的三相电压逆变电路,通过6个开关管的组合即可得到如下的空间电压矢量图。将一个圆形电压空间划分成6个部分。由于开关管组合只有8种状态,但要实现完整的圆形电压。那么就要用到平均值等效原理。即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定值电压矢量相等。比如需要得到扇区1内的电压矢量,则将U4和U6给予一定时间加权,便能获得扇区1内任一点的电压矢量。这便是SVPWM算法的合成原理

在这里插入图片描述

在这里插入图片描述

这里贴上SVPWM的实现代码

/*******************************************************************************
* Function Name  : 
* Description    : SVPWM,按照《现代永磁同步电机控制原理及其MATLAB仿》编写。载波频率10k
*        
* Input          : 
* Output         : 
*******************************************************************************/
#define SQRT3DIV2     (float) (0.8660)		// √3/2
#define NEGSQRT3DIV2  (float)(-0.8660)		//-√3/2
#define DIV2          (float) (0.5000)		//  1/2
#define DIV3_2        (float) (1.5000)		//  3/2
#define SQRT3         (float) (1.7320)		//   √3
#define Udc           (float) 	 (12)	    //母线电压
	
#define Ts            (int16_t)(4200)		//载波周期;
#define T_SQRT3       7274
#define T             4200
#define SECTOR_1	(u32)1
#define SECTOR_2	(u32)2
#define SECTOR_3	(u32)3
#define SECTOR_4	(u32)4
#define SECTOR_5	(u32)5
#define SECTOR_6	(u32)6

void SVPWM(Voltate_Components Voltate_AlphaBeta)
{
   
	Voltate_Components Voltate_ABC;
	uint8_t A,B,C;
	uint8_t N;
	int16_t X,Y,Z;
	uint16_t hTimePhA,hTimePhB,hTimePhC;
	Voltate_ABC.qV_Component1 = Voltate_AlphaBeta.qV_Component2;															//A
	Voltate_ABC.qV_Component2 = SQRT3DIV2 * Voltate_AlphaBeta.qV_Component1 - DIV2 * Voltate_AlphaBeta.qV_Component2;		//B
	Voltate_ABC.qV_Compo
  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
永磁同步电动机简介 因此永磁同步电机矢量控制系统引起了国内外学者的 近些年,人们对它的研究也越来越感兴趣,在医疗器械、化工、轻纺、 电动自行车等领 永磁同步电机系统的结构 产生与电源频率同步的旋转磁场。转子是用永磁材料做成的永磁体,它在定 坐标变换 坐标变换 从数学角度看,就是将方程中原来的一组变量,用一组新的变量 线性变换是指这种新旧变量之间存在线性关系。电动机中用到的坐标变 一种是固定在定子上的它相对我们是静 α,β 坐标系,它的方向和定子三相绕组的位置相对固定,它的方向 A 相的产生磁势的方向,另一种是固定在转子上的旋转坐标系, d,q坐标,其中 d 轴跟单磁极的 N 极方向相同,即和磁力线 q 轴超前 d 轴 90 度下图所示。 我们获取的是定子绕组上的三相电流,所以我们还需要做的 α,β坐标系中和 d,q 坐标 α,β坐标系和 A,B,C 三相之间的变换(以电流为例)。 α轴β轴 A 轴 B 轴和 C 轴上的投影。 ABCO3ANi3BNi3CNi2Ni2Ni 需要在它 /dq(Park )和其逆变换如下: 而矢量控 因此我们有必要讨论一下永磁同步电机在 ,q坐标系下的数学模型。 id = 0,所以: q 轴电流成正比,只要对电流进行控制就达到了控制转矩 TL,J 分别为电机的阻转矩和转动系统的转动惯量。 . 矢量控制原理介绍 (FOC),其基本思路是:通过坐标变换实现模拟直 ,其实现步骤如下: ,将三相静止坐标变换成二相 也就是 Clarke 变换,将三相的电流先转变到静止坐标系,再通过旋 Park 变换,Park 变换中定 2 个直流分量 id、iq(其中 id 为励磁 ,iq 为转矩电流分量)。 通过控制器对其速度电流环进行控制,控制 id 就相当于控制磁通,而控 iq 就相当于控制转矩。Iq 调节参考量是由速度控制器给出,经过电流环调 d,q 轴上的电压分量即 ud 和 uq。. ud 和 uq 通过 Park 逆变换。 SVPWM 空间矢量合成方法实现矢量控制量输出,达到矢量控制的 . SVPWM产生原理 是空间电压矢量 PWM 波产生,它具有电压利用率高、低谐波成 开关次数少和功率管功耗小等特点。同时,SVPWM 还能很好的结合矢量控制矢量控制得实现提供很好的途径,以最大限度的发挥设备的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值