PMSM的FOC 矢量控制算法调试流程,新手上手流程

本文详细介绍了PMSM(永磁同步电机)矢量控制的调试步骤,包括验证逆变模块输出、测试电流采样电路、调试SVPWM模块、整定PID参数等内容。

先放一张矢量控制框图:

一、验证三相逆变模块的正确输出。不接电机,使用高级定时器输出6路互补PWM,改变占空比,测量三相逆变模块的U、V、W对地波形的占空比是否正常。

二、测试相电流采样电路的功能。

1、不接电机,连续采样相电流,此时采样值为相电流为0时的值,此时值应该比较稳定,变化不大,如果变化比较大,说明有问题。

2、接上电机,给U相设置占空比为5%,V、W占空比为0,此时可以用万用表测量取样电阻上的电压值,应该已经有值。再用adc采样相电流,计算相电流采样极性和大小是否正常。根据正电压产生正电流的电动机原则,U相电流应该是正的,V、W两相电流应该是负的,且V、W两相电流应基本相同。若正负号不对,需要进行调整。

三、测试变换程序的正确性。矢量控制的核心其实就在Clark与Park变换上,通过这两个变换实现了直轴与交轴的解耦。如果使用的是官方的库,可以不管本步骤。如果是自己写的,需要通过仿真测试等手段,确保程序的正确性。

四、调试SVPWM模块。通过SVPWM模块可以把FOC的控制结果转换为定时器6个通道的占空比,从而驱动三相逆变模块控制定子绕组产生旋转磁场,拖动转子旋转。为了验证SVPWM模块的功能,需要使用上图中的6、7即反park变换和SVPWM模块,产生开环的旋转磁场。

1、把FOC其他部分注释掉,只保留反park变换和svpwm函数。

2、反park变换的输入参数有3个:Vq、Vd、Angle,将Vq=0,Vd设置为一个较小的值,Angle=0,然后接电机上电,此时svpwm会有输出,电机有力,转子被锁定在当前电角度位置。如果没有力,说明Vd值太小了。同时可以查看CH1、CH2、CH3的波形和svpwm的标准波形做对比。比如,处于svpwm的扇区1,那么CH1、CH2、CH3上的波形关系如下:

你可以在仿真模式下,把CH1、CH2、CH3通道的比较值加入watch窗口,然后手动改变Vd的值。改变Vd的值,3个通道的比较值也会跟着改变。

3、将Angle由0开始,每次增加30°左右,此时电机会跟着旋转,且每次旋转的角度应该是相同的,记录下这个旋转方向,这就是此系统固有的正方向。此时还可以验证电机的极对数,若Angle重复增加N个周期后电机回到起始点(可用记号笔进行标注),电机的极对数即为N。

五、整定d轴、q轴PID参数。

1、把电流采样模块、clark变换、park变换、PID控制器加入。

2、此时系统的输入参数有3个:PID控制器的参考量IQREF、IDREF和Angle。设置Angle=0,IQREF=0,IDREF设置为一个较小值(可以与上面的Vd一样)。

3、d轴和q轴都有PID控制器,将两个PID的参数都设置为0。之后保持q轴的PID为0,然后整定d轴的参数(整定的过程中,可以给电机上电观察效果,目的是使电流采样值经过clark、park变换后的Iq、Id值接近于IQREF、IDREF)。d轴整定完后,把q轴的PID参数设置为相同即可。

六、使用编码器输出角度替代Angle值

改变Angle值,电机旋转起来。旋转状态的Iq、Id值与停止状态一样仍然是接近于IQREF、IDREF的。在程序让Angle自加,使用j-scope观察4个变量的变化:Angle值、编码器返回的角度值、A相电流采样值、B相电流采样值

        Angle值、编码器返回的角度值的波形如左边的两个图。两个波形应该都是幅值相同的三角波,如果编码器值的变化方向与Angle不同,那么编码器的输出角度值需要反向。他们两者的波形并不重合,在水平轴上存在偏差值。而这步的目的就是要让他们重合,这样就能用编码器输出值替代Angle值了。

        因为Angle值代表的是转子的真实电角度。因此要把编码器输出角度矫正为Angle值。如果是绝对式编码器,就要把编码器返回的角度值减去偏差,使之与Angle值的波形重合。如果是相对式编码器,就需要当电机启动阶段给定一个Angle值进行预定位时,把编码器的输出角度矫正为Angle值。

        右边的两个图是相电流的采样值。调试PI控制器参数时也可参考相电流曲线,若曲线发生畸变,不是图中那样的正弦波形,需要降低比例及积分作用。

        修改程序,使用编码器的输出角度值替代Angle值。绝对式编码器并不需要特殊的启动过程,因为矫正过后,一上电编码器的输出角度就是与转子的电角度是重合的。使用相对式编码器,在上电时,并不知道转子的位置,因为需要先设定Angle、IqRef为0,IdRef设置为合适值,此时电机转子会自动旋转到零点位置处,然后再把编码器的输出角度值矫正为0,完成编码器值与转子电角度的重合。

七、验证电流闭环

下面依次验证d轴与q轴。因为d轴用于影响转子的磁场,并不产生扭矩(d轴与转子磁场方向在一条直线上,d轴的作用是把转子固定在当前角度,不让转子动)。作用效果如下:

q轴产生的磁场方向垂直于转子磁场方向,于是产生扭矩,吸引着转子旋转。

        我们先来验证d轴,将IqRef设置为0,IdRef设置为一个合适的正值,此时电机是不会旋转的,用手转动电机也是可以转动的,只是不同于自由转动状态,此时旋转电机时会感到阻力较大,有一个力始终在维持电机处于当前位置。

        验证q轴时同理将IdRef设置为0,IqRef设置为一个合适的值即可。需要注意的是,因为启动电流明显大于稳态电流,如果IqRef的值设置得过小,电机无法旋转起来,而增大IqRef,使电机可以旋转起来后,电机会一直加速到最高转速。为保证安全,需要对输出电压占空比进行限幅。

        将IqRef设置为正值时电机应该正转,设置为负值时电机应该反转,且正反转速应该是相同的。此时还可以进一步观察转速采样结果,如果和实际情况符合的话就可以进行下一步了。

八、调试速度闭环

需要先验证转速测量的程序是否正常。然后就可以在电流环的外层添加速度环了。

        对于PMSM而言,除了在弱磁控制等情况下,IdRef一般是固定为0的。不过对于异步电机而言,因为要产生绕组电流,IdRef并不是零。IqRef连接至速度环PI控制器的输出上,一般会对IqRef的范围进行限幅,以保证电流在安全范围内。

        速度环的PID参数整定就不细说了。

 

参考:

http://gaomf.cn/2016/11/14/PMSM_Vector_Control/#

https://blog.youkuaiyun.com/u010671230/article/details/79478582

<think>我们首先需要理解用户的问题:电机的d轴和其他轴的应用。这涉及到电机控制理论中的直接转矩控制(DTC)或磁场定向控制(FOC)中的概念。在交流电机(如永磁同步电机PMSM或感应电机)中,通常将三相坐标系转换为两相旋转坐标系(d-q轴),其中d轴(直轴)通常与转子磁场方向对齐,q轴(交轴)则领先d轴90度。 根据要求,我们需要进行网络搜索来获取信息。搜索关键词可能包括: "电机 d轴 q轴 应用" "d轴 q轴 电机控制" "direct axis quadrature axis application" 通过搜索,我们可以整合以下信息: 1. d轴和q轴的定义: - d轴(直轴):与转子磁场方向一致,控制d轴电流主要用于调节电机的励磁磁场(对于永磁同步电机,永磁体产生固定磁场,d轴电流可用于弱磁控制)。 - q轴(交轴):与d轴垂直,控制q轴电流主要用于产生转矩。 2. 应用方面: a. 在永磁同步电机PMSM)控制中: - d轴电流控制:通过控制d轴电流可以实现弱磁扩速,即在高速运行时,通过施加负的d轴电流来削弱气隙磁场,从而使电机能够运行在基速以上。 - q轴电流控制:q轴电流与转矩成正比,控制q轴电流即可控制电机的转矩输出。 b. 在感应电机(IM)控制中: - d轴电流控制:用于控制磁链(励磁分量),保持磁链恒定。 - q轴电流控制:用于控制转矩(转矩分量)。 3. 其他轴:除了d轴和q轴,在电机控制中有时还会提到0轴(用于零序分量,在三相不平衡时出现,但在三相对称系统中为零)。 4. 在实际应用中,d-q轴控制(即矢量控制)可以实现对电机转矩和磁链的独立控制,类似于直流电机的控制,从而获得快速的动态响应。 我们将按照要求组织答案,避免使用步骤词汇,分成不同的应用点,每个点换行。 注意:在回答中不要集中引用,而是将引用内容自然融入答案中。 同时,最后必须添加相关问题部分。 由于是模拟搜索,我们基于已有的知识整合答案,但实际中会调用搜索工具。 </think>在电机控制领域,d轴(直轴)和q轴(交轴)是旋转坐标系中的关键概念,主要用于实现磁场定向控制(FOC)。通过Park变换将三相静止坐标系转换为两相旋转坐标系,实现对电机转矩和磁场的精确解耦控制。以下是d轴和其他轴的主要应用: **d轴的应用** - 磁场控制:d轴电流$I_d$直接控制电机磁场强度。在永磁同步电机PMSM)中,调节$I_d$可进行弱磁控制(施加负$I_d$削弱磁场),实现电机超基速运行 - 效率优化:特定工况下调节$I_d$可最小化铜损和铁损,例如在轻载时降低$I_d$减小铁耗 - 磁链观测:通过d轴电压方程$V_d = R_s I_d + L_d \frac{dI_d}{dt} - \omega L_q I_q$实现磁链闭环控制 **q轴的应用** - 转矩生成:q轴电流$I_q$与电磁转矩成正比$T_e = \frac{3}{2} p [\lambda_m I_q + (L_d - L_q)I_d I_q]$,控制$I_q$直接调节输出转矩 - 动态响应:作为转矩通道,q轴控制器提供快速转矩响应,满足伺服系统高动态需求 - MTPA控制:在凸极电机中协调$I_d$和$I_q$实现最大转矩电流比控制 **零轴(0轴)应用** - 故障检测:通过零序分量$V_0 = \frac{1}{3}(V_a + V_b + V_c)$监测三相不平衡或绕组故障 - 容错控制:在缺相运行时利用0轴分量重构控制算法 **控制实现示例(PMSM FOC)** ```c // Clarke变换 I_alpha = I_a; I_beta = (I_a + 2*I_b)/sqrt(3); // Park变换 I_d = I_alpha*cosθ + I_beta*sinθ; I_q = -I_alpha*sinθ + I_beta*cosθ; // 双闭环控制 V_d_ref = PID_Id(I_d_ref - I_d); V_q_ref = PID_Iq(I_q_ref - I_q); // 反Park变换 V_alpha = V_d_ref*cosθ - V_q_ref*sinθ; V_beta = V_d_ref*sinθ + V_q_ref*cosθ; ```
评论 16
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qlexcel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值