电机控制杂记1__浅谈FOC

       想写点儿旧东西作为自己一点点工作经验的记录,另外也照顾自己越来越差的记忆力。资深的大哥们看到不对之处口下留情,不对地方烦请及时指出,小弟先谢谢了。另外,文章涉及到的图片有的从网上百度来以便读者理解,若冒犯到了原创,请及时私信我,侵删~

       老师傅们,记录的同时也当发表自己的动态了~ (不及格的话请及时鞭策,严厉的小教鞭还是要轻点儿拍)

1、电机控制前简单预热

       大家都知道,电机的种类繁多,但分类又有相似,按不同的方式分类出来的名字听起来稍有差异,有按照工作电源划分的(直流电动机、交流电动机),有按照结构和工作原理来分类的(直流电动机、异步电动机、同步电动机),还有按照用途来分类的(驱动用电动机、控制用电动机)。

       其中按照结构和工作原理分类的同步电动机为我们重点研究对象。为什么呢?因为永磁同步电机是工业和汽车行业用的最多的电机,所以这篇才以此为切入点(汽车行业其中有的用的是异步机(例如:特斯拉),感兴趣的资料了解)。那为什么叫同步电机呢?因为下面图1.3提的那些电磁效应会带动转子转动,而转子转动的频率和UVW三相交流电的频率相同,所以叫同步电机(synchronous motor)。

图1.0 按结构和工作原理电机分类

       同步电机又可划分为永磁同步电机、磁阻同步电机和磁滞同步电机。永磁同步电机(PMSM)又可分为:表贴式永磁同步电动机(SPMSM)、内置式永磁同步电动机(IPMSM),如图:

图1.1 永磁同步电机内部图

       图中电机的外围是定子绕组,中间为转子。借用知友一段话来介绍:“定子主要指定子绕组和定子铁芯两部分。定子绕组目前有分布式和集中式两种结构。分布式绕组与异步电动机的定子多相交流绕组相似,一般希望分布在定子槽中的定子绕组产生的理想磁通势为正弦波,然而实际绕组不会产生理想的正弦波。定义每极每相绕组槽数: 

q = Z/(2 * np * m)

Z:为定子槽数

np:为电动机极对数

m:为电动机定子绕组相数。

永磁同步电机的转子主要包括永磁体、转子铁芯、转轴、轴承等。传统的电网供电异步启动永磁同步电动机的转子会安装有笼型绕组,现代变频调速用永磁同步电动机通常不会安装有笼型绕组,现代变频调速用永磁同步电动机通常不会安装转子绕组。”

        这里值得一提的是和PMSM相似的BLDC。很多初学者会把这两种电机搞混淆,这两者一般会从控制、结构、应用上来区分差异,这里不再过多赘述。只提它和PMSM显著的区别在于反电动势(Back EMF)的波形,BLDC的反电动势波形呈梯形状,而PMSM的反电动势呈正弦波状,如下图:

图1.2 BLDC和PMSM反电动势波形

       说到要讨论的永磁同步电机之后脑子里应该浮现一个基本公式,这个公式也充分说明了同步电机为什么称之为同步(对BLDC不一定适用,因为对于常见的开环控制BLDC,转速与负载曲线是有斜率的,转速是会随着负载而降低的。而PMSM的转速只与电机极对数和基波频率有关,与负载大小无直接关系)。 公式有:

    n=60*f/p    

    n:  电机的转速(单位:rpm)

    f:电源频率/基波频率/三相正弦交流电的频率(单位:HZ)

    p:极对数(不是极数)

       实际上有很多初学者上来就接触的同步电机,直接把有刷电机忽略掉了,有刷电机控制原理算是个过渡了,最起来对PWM(脉冲宽度调制)有了一定的认识,就是把离散电压开关量来模拟连续的电压值。既然已经走到这里了,那.....

       扯远了.....,回归到永磁同步电机上来。

       延伸到下章FOC原理前,再稍微提一下左右手定则,附张图回忆一下"左力右电",如图:

图1.3 左右手电磁应用定则

       通电导体在磁场中受力的作用。这个磁场是定子通过铁心缠绕线圈通以电流产生的,一般会在线圈加一个电动势,这样就会产生磁场。转子就是所谓的通电导体,在我们施加的磁场中便会产生力的作用。回顾相关内容可以更好的帮助我们理解电动为什么会转动,无非就是磁铁被电磁铁吸引(永磁同步电机)。哈哈哈,就是这回事儿,电机运动的基本原理是基于法拉第所提出来的,所以是不是直接联系到高中的物理课堂?

       对于铺垫相关的先说这么多,这里只是说了个极为笼统的概念,并引出电机控制需要掌握的一些基本知识,重点在下面。

2、永磁同步电机FOC控制 

 2.1、FOC原理

       最初FOC(field-oriented control -磁场定向控制)控制理论是由上世纪70年代德国西门子的工程师提出,从名字就可以直接看出控制的目标就是电机的电磁场方向。

       FOC也称为矢量变频,因处理时通常会将三相输出电流及电压以矢量来表示,因此也被称为矢量控制(vector control),不管叫什么,总之它可以通过变频来控制三相电机,能通过调整控制器的输出频率/电压/角度来控制电机的输出,由此得到良好的转矩响应和精确的速度控制。所以这么多人才对它爱不释手。

       上面也有介绍电机的刨面图,可以把定子所产生的磁场虚拟成一个绕转子高速旋转磁铁。定子上的磁势(电流乘以匝数)可分解为d/q轴磁势,d轴磁势与转子磁势同轴,不能产生切向的力矩,但会影响永磁同步电机转子永磁体所产生的磁场;q轴与转子磁势相差90度,因而产生切向的力矩。将三相静止ABC坐标系下的相关变量转换到d/q轴旋转坐标系下进行数学运算,控制器改变d轴和q轴的电压达到控制Id(d轴电流)和Iq(q轴电流)的目的,此过程转子磁链旋转矢量与dq坐标系下的d轴重合,q轴正交,dq坐标轴同转子磁链同步旋转起来。目前说的只是一堆枯燥的理论,具体到怎么做才能让电机按照自己的预期转起来呢?往下看。

2.2、FOC框图介绍

图2.0  FOC电流环基本框架

       从图上可以看出Foc属于闭环控制策略, 其基本流向为:首先从PMSM侧进行三相电流采样,基尔霍夫电流定律可以省掉一路采样(看到框图上采的也只是两相电流,采集三相更有益于做过流相关的保护),目前电流采样的方式五花八门,有用电阻采样的(单电阻、双电阻、三电阻),有用电流传感器模块的,有的甚至会用到MOS内阻采样...

       电流采到后将 iA、iB、iC经过“Clark Tr‘模块Clark 变换得到Iα、Iβ 。再将Iα、Iβ经过”Park Tr“模块Park变换得到Id和Iq。此时和设定值Id_ref,Iq_ref 分别做差作为”PI“模块的输入,得到Vd(Ud),Vq(Uq)。再往后就经过“Inv.park Tr”模块park逆变换得到Vα(Uα),Vβ(Uβ)。再用Uα,Uβ经过Clark逆变换(一般和SVPWM包含在一起,所以图中只有SVPWM模块),在经过SVPWM调制后输出开关MOS/IGBT的开关占空比来驱动电机。而”rotor position estimation“模块是什么呢?这个模块获取转子位置的观测器,不难发现在框图中park和反park都用到了一个θ角,无传感器的电机只能通过观测器(基于磁链的、基于反电动势的、卡尔曼...)来计算这个θ角。

       转子的实时位置θ确定有两种情况:有位置传感器、无位置传感器。对于有传感器,由于电机的传感器(多数为编码器)能反馈电机转子的位置信息θ,因此在控制中可以不使用获取转子位置的观测器算法,控制起来相对无传感器简单,但是对带传感器的电机应用来说,会对控制性能要求高一些。对于无传感器,由于电机不带传感器,所以在控制中需要通过采集电机相电流,使用位置估算算法来计算转子位置θ来做速度闭环/位置闭环。这部分并不算电流环部分,图2.0会将w速度信号作为反馈和速度设定spdref做差进入速度PI模块,其输出值就是Iq_ref,这就成了双闭环,如下图:(太懒不想自己画框图,将就着看先)

图2.1 FOC双环基本框架

       从控制器硬件的角度上来说,以上这些说到SPWM模块前都只是弱电,这些弱电就这样打开or关闭MOS/IGBT管,MOS/IGBT管再往后就是控制器的额定电压了。经过SPWM/Spwm调制模块后,才能变着法的让电机在同一时间段的三相线各自承受着不同占空比的母线电压。

       之后文章的叙述会拿IGBT统一代替MOS/IGBT。其实两者从概念、功率、应用特点、制造工艺上有的一说,单应用的层面上说最大的区别在使用功率,IGBT可以提供更大的功率、电流、电压,但频率不会很给力,虽然目前可达百KHZ,但是和MOS比起来还是不够看,MOS可以达到几百KHZ、MHZ,甚至几十MHZ,不过MOS缺点也很明显,其导通电阻大,高压大电流功耗很大。相关的介绍网上有很多,这里不再多做赘述。

      下面先说绕不开的变换(clark/park变换)、PID、调制(SVPWM/SPWM),至于转子位置模块,还有基本框图未涉及到的弱磁、自抗扰ADRC、前馈解耦、转矩补偿、电流补偿、谐波注入/抑制/补偿(NVH相关)参数整定等等本章节暂不涉及,后面再介绍。

2.3、Clark、park变换

       clark(静态坐标)、park(旋转坐标)变换实际上就是通过两种坐标变换把三相正弦电流转换到与电机同步转动的旋转坐标系下的交直轴电流,从而简化对电机转矩大小和方向的控制。

2.3.1、clark变换和逆变换:

      Clark 变换(应用于定子电流)将三相静态坐标系转化到两相静态坐标系α - β的坐标变换,三相定子电流此时满足基尔霍夫电流定律iA+iB+iC=0,并且 iA、iB、iC互差120°,将三相电流拖影到两相电流iα、iβ 上,is为合成的电流矢量。

图2.2  clark变换

公式为:

为了保证变换前后电压幅值不变,系数为2/3(如果采用功率不变作为约束条件时该系数为√(2/3),关于这个系数的推导之后再仔细说),可得到小小矩阵:

Clark逆变换是相反的,写成公式为:

2.3.2、park变换和逆变换

      Park 变换实现两相静态坐标系到两相旋转坐标系的转换,想要实现励磁电流(d轴)与转矩电流(q轴)的分离。

图2.3 park变换

       角度𝜃是旋转坐标系相对于静态坐标系旋转的角度,iα在d轴上的投影分量为iαcosθ,在q轴上的投影分量为iαsinθ;iβ在d轴上的投影分量 iβsinθ,在q轴上的投影分量为iβcosθ。

park变换公式为:

park逆变换公式为:

关于变换,只是简单把公式列举,有了上面2.3.1和2.3.2的这些变换,基本上这个框图已被攻克了一大半,剩下的只有PI和SVPWM。

2.3、PID模块

       PID(proportion integration differentiation)中的P指的是比例控制,I是积分控制,D是微分控制。有观点认为P代表了现在,I代表曾经,D代表未来。到目前为止PID已经被玩出了太多变形【位置式、增量式,这些又和有串联式、并联式联系到一起,之后单独拎出来说PID、PI参数整定、抗积分饱和、内模控制...】,网上有很多学者专家提出很多代替PID的做法、概念,虽然听起来牛逼哄哄,但大多数工程上还是PID来的简单粗暴+实用,所以PID很成熟且重要。

那么,接下来,来个公式压压惊:

      展开:

图2.4  PI公式

       根据图2.0在经过Park变换后正弦量变成了直流量,随时间变化直流反馈量Id/Iq和目标值Id_ref/Iq_ref做差得到err(t)。图2.4中的公式,积分和微分部分应该不用过多介绍,积分就是求err(t)在目标设定值这条线上下的面积和(一般目标线下为正,线上为负),微分就是基于err(t)斜率,比例一眼可以看出来,是直接乘以偏差,所以变成了中英文等式为:

 输出 = P * 偏差  +  I * 面积  + D * 斜率

 P虽然做为纠正偏差的主力,但同样的带来了稳态误差。

为什么会引入稳态误差?

       答:先看下公式:U(t_P) = P * err(t);理想上设定目标线是固定的,想只单独靠P项逼近目标线是有可能的,从公式上看误差越来越小,在P固定的情况下U(t_P) 也越来越小,理想上是不是肯定会约等于目标线?但老天爷就是给你开了个玩笑,在逼近的过程中误差值是在变动的,这个变动也能解释,控制器在控制电机时遇到的摩擦阻力、谐波震荡、各个损耗...也造成了这个波动,当你计算的U(t_P)小于/大于这个波动,或者等于这个波动,是不是永远都达不到这条线呢?这就是稳态误差的由来。 

I的作用为了消除稳态误差;

怎么消除稳态误差?

       答:还是先看下并联的PI公式:U(t_I) =P*err(t)+ I∗∫err(t);可以看出∫err(t)这部分一直在累加每次逼近目标线计算的偏差值,等于说你P计算达不到的地方I帮你补上,让输出更接近目标线。

D的存在是为了预防超出你的目标线,D的离散化就是D*(err(t) - err(t-1)),可以看出如果在控制中err当前和上次的差值越来越小,微分控制项得到的结果肯定为负值,也能明显减少在控制过程中的震荡。

       其中一直在提离散化这个玩意儿,这里也稍微做下解释,我理解的是这样的:所谓的数据离散化,就是把无限个的数据映射到有限的空间内,具体的微分/积分离散做法如下:

       1)用一阶差分代替一阶微分,就是简单的当前采样减去上次采样!

       2)用累加代替积分,没错,就是加加加。

       从上面看PID三者是可以基于P来组合的,一般可以PD、PI、P、PID这样选择性使用。对于微分项还是要慎用啊,而电机控制的电流环一般只使用PI项。因为微分项放大了反馈信号中的高频分量,如果取得系数不好会引起高频震荡。所以大部分都只采用PI(不影响稳态精度)或者双闭环PI。另外引用一下CSDN大兄弟”电机控制学者“的总结。

  • 问题:为什么在电机控制中大多数采用PI控制,而没有采用PID控制呢?

  • 答:在电机控制中,一般不会引入D项,是因为电机的绕组传递函数,只有一个真正的极点,本质上来说,它是一个R/L时间常数。因此,其具有90°的相移,就不需要任何像D项为系统提供的相位超前。因此,PI控制器就能很好地控制。并且我们知道微分项在系统稳定时产生一定的抖动。所以一般在传统的电机控制中,常常采用PI控制。

2.4、SVPWM/SPWM电压利用率

PWM(Pulse Width Modulation)

--------脉宽调制

SPWM(Sinusoidal PWM)

--------正弦脉冲宽度调制

SVPWM(Space Vector Pulse Width Modulation)

--------空间矢量脉冲宽度调制,简称矢量调制

经典的矢量扇区分布图如下:

图2.5  空间电压矢量分布及扇区划分

       这里由于篇幅限制的原因,并不打算再过多讲解这一块,只探讨SPWM、SVPWM两者的电压利用率的区别,网上对此有更深研究的专家大神也给了太多生动有趣的讲解,至于SPWM经过三次谐波注入就是SVPWM(五段式、七段式)或者更多的玩法,实话实说,确实也没有专门往这方面深入研究,只会一两种推导,觉得也足够用了,也可能我见的只是小场面

不值一提。

下面放几个知友的回答链接:

https://zhuanlan.zhihu.com/p/414721065

https://zhuanlan.zhihu.com/p/303998608

https://zhuanlan.zhihu.com/p/593803492

先来计算下SPWM的电压利用率:

图2.6 三相电压源逆变器

        根据图2.6分析端电压Uwo,当控制器Q1占空比为100%时,端电压Uwo = Udc;当控制器Q1占空比为50%时,端电压Uwo = Udc/2;当控制器Q1占空比为0%时,端电压Uwo = 0V;

可得到三相端电压为相位互差120度的波形,表达式为:

图2.7 三相端电压表达式

根据端电压和相电压之间的关系,可得到下列公式:

图2.8 端电压和相电压关系

 等式两边分别相加可以得到(中心点N = n):Uwn + Uun +Uvn = 3*Uwo -3Uno

同一时刻三相相电压相加的和为0,因此:Uwn + Uun +Uvn = 3*Uwo -3Uno = 0;所以可得到:Uno = Udc/2;

进而得到相电压公式:

图2.9 三相相电压表达式

根据图片2.9上相电压幅值为Udc/2,线电压幅值为3/2Udc:

图2.10 相电压与线电压矢量关系

       对于SVPWM来说,SVPWM的算法中,线性调制的条件就是电压矢量不超过六边形的边界,而当目标参考电压矢量的末端运动轨迹是上图正六边形的内切圆时,达到SVPWM的线性调制上限,也就是线性调制区和过调制区的临界条件就是电压矢量的最大值为内切圆的半径(3/3)Udc,因此相电压基波幅值为(3/3)Udc。根据3*相电压 = 线电压,再推算线电压的幅值为(3/3)*3 = 1Udc;

        总结下来,SVPWM电压利用率为1,SPWM电压利用率为0.866,(√3*Udc/3)/ (Udc/2)=1.1547。所以才说SVPWM相对SPWM来说提高了百分之15.5的占空比。

SVPWM和SPWM电压利用率部分借知友文章:

https://zhuanlan.zhihu.com/p/494811884

       到此,FOC电流环基本已带过,本来没想搞那么长,脑子总是发散性扯东扯西,这些基础概念了解透彻再研究深一些的知识,这里面有不少借鉴知友、博友的东西,也不是我懒,主要是想着前面铺垫一下,后面写点儿不是那么基础的东西,另外我觉得我不一定写的比人家好。

       望理解。

--------------------------------------------------瞎说闹着玩的-------------------------------------------------------------

       如果你选择成为一名电控软件工程师,心里一定做好和电机殊死搏斗的准备,你所学到的高数(微积分、线性代数、复变函数、微分方程、计

算机数值分析),自动控制原理全部都要用上。什么经典控制、现代自动控制、信号系统也要涉及。再之后的电力电子、电机学、电机拖动.....哈哈哈,路漫漫其修远兮。

       有人肯定觉得我说的夸张,觉得自己让电机转起来挺容易的,但我说的是转好,两者概念千差万别。其实学习上可以从工程化入手,上面所说的数学啦啦啦的东东可以在实践中补充,但一定要对电机涉及到的磁链方程、电压方程、转矩方程、运动方程足够理解;后面就是利用Matlab来验证自己的算法(重视MATLAB的使用!!),工程上可以动手配置一下ADC、PWM、中断。。。开环跑一下,再慢慢闭环。

---------------------------------------------------------------------------------------------------------------------------------

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: instaspin_foc_kpki_ti是德州仪器(TI)公司为高性能电机控制而开发的一种技术。InstaSPIN是一种用于电机控制的自动化软件技术,能够快速准确地自适应电机参数和控制环路,从而实现高效的电机控制FOC(Field-Oriented Control)是一种电机控制方法,通过将电机的旋转磁场划分为直流分量和交流分量,使得电机的性能更加精确可控。KP-KI是一种比例-积分(Proportional-Integral)控制器,用于实现电机的速度和位置控制,确保电机系统的稳定性和响应性。 InstaSPIN-FOC-KPKI-TI将这些技术整合在一起,提供了一种快速可靠的解决方案,适用于各种类型的电机控制应用。这个解决方案包括了TI公司的控制器芯片和相关软件,集成了InstaSPIN自动化软件技术、FOC电机控制方法和KP-KI控制器。通过使用这种技术,工程师可以快速搭建电机控制系统,准确地控制电机的速度、位置和扭矩,并实现高性能和高效率的电机运行。 InstaSPIN-FOC-KPKI-TI技术的应用范围很广,可以用于各种类型的电机控制系统,包括工业驱动、家电、汽车和机器人等领域。它具有简单易用、快速调试和自适应能力等优点,可以帮助工程师们加快产品开发周期,提高电机系统的性能和效率。同时,德州仪器(TI)公司也提供专业的技术支持和培训,帮助客户充分利用InstaSPIN-FOC-KPKI-TI技术,实现电机控制的成功应用。 ### 回答2: instaspin_foc_kpki_ti是德州仪器(Texas Instruments)公司推出的一种电机控制软件和硬件解决方案。它主要用于实现无刷直流电机(BLDC)和永磁同步电机(PMSM)的高性能控制。该解决方案结合了硬件模块、软件算法和开发工具,提供了一种简化和加速电机控制设计的方法。 instaspin_foc_kpki_ti提供了多种驱动模式和算法,包括速度控制、位置控制和电流控制。它的主要特点是具有高度的可编程性和灵活性,可以根据具体的应用需求进行参数配置和调整。 该解决方案采用了电流、速度和位置的反馈控制,通过准确的电机模型和自适应算法来实现高效的控制。它能够实时监测电机的转速、电流和位置,并根据需要进行调整。 instaspin_foc_kpki_ti还提供了丰富的开发工具和资源,包括调试器、仿真器和开发环境。开发人员可以使用这些工具对电机控制系统进行调试和优化,从而提高系统的性能和效率。 通过使用instaspin_foc_kpki_ti,用户可以快速开发高性能的电机控制系统,提高产品的竞争力和市场份额。它广泛应用于工业自动化、汽车、电动工具和家电等领域,为用户带来了更好的效果和体验。 ### 回答3: Instaspin_foc_kpki_ti 是德州仪器(Texas Instruments)公司推出的一款以InstaSPIN-FOC控制算法为基础的电机控制解决方案。InstaSPIN-FOC是一种传感器less矢量控制技术,能够实时感测电机状况并进行闭环控制,提供高效的电机运行和精确的位置、速度控制。 Instaspin_foc_kpki_ti的主要优势在于其提供了快速和简化的开发过程。该解决方案具有预先优化的默认参数,使得用户只需简单设置少量参数即可进行电机控制。此外,该控制方案还提供了自适应校正和自动调谐功能,能够自动准确地校正电机参数并调整控制策略,从而实现最佳性能。 Instaspin_foc_kpki_ti还具备丰富的扩展性和灵活性。用户可以根据自己的需求选择合适的硬件平台,并使用TI的MotorWare软件套件来进行开发。此外,该解决方案还支持外部编码器和传感器的集成,以提供更精确的位置和速度反馈。 总体而言,Instaspin_foc_kpki_ti是一种先进的电机控制解决方案,能够为用户提供快速、简化的开发过程和高效精确的控制性能。无论是在工业应用中还是在消费类电子产品中,该技术都能够发挥重要作用,并为用户带来更好的使用体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值