恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
从工程经验角度分析直流无刷电机FOC控制(二)FOC的Clark和Park以及常用方程详细推导
首页
资讯中心
/
从工程经验角度分析直流无刷电机FOC控制(二)FOC的Clark和Park以及常用方程详细推导
从工程经验角度分析直流无刷电机FOC控制(二)FOC的Clark和Park以及常用方程详细推导
发布时间:2026/9/29 5:43:49
一、FOC框架图FOC的讲解网上能搜到很多我大致说一下其实FOC就是磁场定向控制矢量控制定向让电机的电流永远“对准”转子磁场方向来推它跑因为转子在旋转它的磁场方向一直变。如果你想一直推着它跑你就必须时刻知道它的磁场方向在哪里根据它的位置对电流做旋转变换让电流永远对着正确方向发力定向 电流方向跟着转子磁场转就像你去高档一点的酒店推一个旋转门门转子会转你不能固定往某个方向用力你必须 始终在门的切线方向推否则推不动、甚至扯后腿所以 FOC 就是“智能推门”自动保证你的力始终在正确方向就能很轻松的推开门然后进来。二、Clark变换和Park变换详细推导看FOC框架从右往左侧看最右侧那个圆圈的PMSM就是电机也叫永磁同步电机其实直流无刷电机BLDC就是永磁同步电机的一种很多人在开始就没搞清因为网上说的是PMSM的反电动势是正弦波BLDC是梯形波所以很多人就以为它俩的控制方式不一样就说PMSM用FOC控制BLDC就用方波控制其实不是这样。FOC控制的是“磁场矢量”不是反电动势波形。BLDC就算反电动势是梯形波它的磁场仍然是“旋转磁场”仍然可以用 FOC 控制。FOC控制的不是反电动势反电动势你也控制不了它是电机设计决定的固有特性就是你电机设计出来就是这个反电动势FOC控制的是iq/id磁链和转矩分量。即使反电动势不是正弦的只要你给正弦电流转子的磁场依然可以被很好地控制。2.1 反电动势波形实测那么反电动势波形到底长啥样怎么测由于BLDC电机的Y型*型连接可以把三个定子线圈U、V、W想象成是三根直的导线其中每一个线圈的一端是分别引出电机给到外面分别叫做U相、V相、W相。而每一个线圈的另一端则三个相是接在一起形成一个公共点也叫中性点类似于下图测量反电动势需要用示波器说白了就是测电机转动以后的感应电压反电动势的波形测量必须是示波器探头测某相电压和参考点之间的电压但是我们看上面电机的示意图只有三个相线引出来电机根本没有参考点那你测U相只能把示波器探头的钩子夹到电机的U相线上那示波器探头还有个需要夹参考点的夹子比如这个夹子在测比如单片机的供电电压时候是需要夹GND的你夹哪你找三根示波器探头都是只分别夹U相线、V相线、W相线三个探头都没有夹参考点。如果你不夹你测出来的波形就是漂移的反电动势也就是U相、V相、W相是相对的关系没有绝对电位。所以你没有参考点电机没有引出中性点示波器看到的是电压位置漂移波形上下抖动相与相之间不对称波形不能用于极对数判断、波形分析。所以必须要有参考点那聪明的人们就想出来在电机外面重新构造一个虚拟的中性点就是把电机外三个相线U相、V相、W相分别外接一个10K的电阻然后把电阻的另一端接在一起。上图中的红黄绿三根线分别是电机的U相线、V相线、W相线用3根示波器探头的钩子分别勾住每一个示波器探头的GND夹子夹住三个电阻接在一起的公共参考点。其实反电动势是可以根据电机参数大致估算出来的以我手里的电机为例参数如下反电动势与相电流、相电感、控制角度都有关但在额定点附近反电动势大致所以注意这个是线电压的有效值根据电学知识峰值是有效值的倍。既峰峰值是峰值的2倍:这是理论计算结果那么实际用示波器测量的反电动势波形是什么样的呢请看下图。因为前面理论计算反电动势的峰值约为17.8V所以将示波器接三个电压探头的通道垂直通道分别调整到20V/DIV在电机断电情况下用绳子缠绕在电机轴上然后用手快速拉绳子使电机转动就会产生上面的反电动势波形从示波器界面看直流有效值为9.5V高值也就是峰值为15V峰峰值为30.6V与我们计算的差不多因为是用手拉的绳子所以转速可能达不到额定转速3000rpm所以反电动势略低这是正常的。除了用手拉还可以使用另一个电机对拖但是这种需要做工装比较麻烦。然后把这三个波形放到同一个水平线上可以看到三个波形是一个比一个滞后120度的这正好符合三相定子线圈互成120度的特点。2.1 Clark变换三相定子静止坐标系变为二维正交静止坐标系然后顺着PMSM往上看出来、、ic在图里忘了画将就看吧给到了Clark这个、、就是通过采样电阻得到的那为啥电机就能出来电流呢采样电阻又是啥根据初中物理知识欧姆定律电机一通电定子线圈里本身就会产生的各种电压和电流因为电流通过电阻会产生电压降放一个已知值的电阻测电阻两端的电压不就能算出来电流的大小了嘛所以把这个电阻就叫采样电阻FOC控制里有单电阻采样、双电阻采样和三电阻采样这个区别我们后面再讲。那可能又有人疑惑了既然能产生电压我直接控制电压不就行了干嘛还要通过电阻去计算电流那是因为电机的电磁转矩公式里只有电流没有电压所以必须要获取到电流通过电流去控制电机的转矩。然后Clark又是啥玩意首先定子三相电流是互相成120°的不是 90° 90° 的正交方向所以没法表示一个磁场矢量的方向和大小。需要一个二维平面X、Y上的矢量。但 ABC 三相不是二维也不是正交的。为啥非要用正交的因为正交 X/Y 坐标系 → 任何矢量都能分解成两个互不干扰的分量。正交后才可以做以下三件事分解矢量旋转矢量控制矢量的方向和大小如果坐标系不是正交的分量之间会相互影响控一个方向会改变另外一个方向要控制dq两个方向的变换矩阵不能简化控制器会乱套那么Clark的作用就来了它能够将三相坐标系变成两相正交的坐标系也就是Clarke 把定子三相ABC → αβ就是把三相投影到一个正交平面。针对α-β坐标系中α轴有针对α-β坐标系中β轴有整理成矩阵形式线性代数的基本知识就是上面的步骤都很简单但是我们会发现往往最终论文或者资料上Clark变换的体现形式都不是上面这样子而是会乘上一个系数如等幅值变换系数或者等功率变换系数。以等幅值变换为例a相电流输入1A电流的当电流输入时候。根据基尔霍夫定律设定为-1则根据上面的式子有和分别为、列成矩阵形式后如下所示将-1参数带入到直接投影式子中得到尽管矢量a与α轴重合但是由于b,c相电流投影的存在导致在a相输入1A电流反应在α轴上的电流并不是等赋值的1A而是。因此为了让式子等幅值1A反应在α轴上的电流也是1A我们就得乘上系数所以为了保持变换前后幅值不变就需要乘以的倒数也就是。其实Clark变换不仅仅是电流电压、磁链甚至反电动势都是存在的只不过就是把电流符号换成对应的电压U磁链φ反电动势E但是系数和矩阵都是和电流一样的。这两个坐标系都是静止的都是固定在定子上的都不随转子旋转。所以都是“定子参考系”。2.2 park变换静止坐标系里的磁场向量Iα, Iβ变为磁链为d轴、扭矩为q轴的旋转坐标系还是以电流为例从Clark那个框出来的是Iα和Iβ,可以看到它出来是分成了两个部分一部分给到了Park一部分给到了转子位置估算器我们先说Park因为电机的磁链永磁体是在转的如果你想始终让 q 轴指向“最大扭矩方向”你就必须把 αβ静止坐标旋转θ角 → 得到dq同步旋转也就是 Park 变换从Park变换出来的就是Id和Iq。你可以这样理解αβ 是地图静止的地球坐标系dq 是跟着车头方向旋转的“车身坐标系”在地图上开车会很复杂但在你自己的车头方向坐标里前进就是“正方向”右转就是“90°”。这就是为什么dq控制更简单。那Id和Iq是啥呢它是park变换出来的以人骑驴为例想让驴能一直往前走那么Iq是前进的方向而Id是垂直于Iq的Iq越大驴走的越快。所以Iq是我们期望的力矩输出Id我们对它并不关心因为不影响驴走的快慢。可以看到park需要两个输入一个是电角度θe一个是Clark变换出来的Iα和Iβ那么θe是啥如果是无感控制那么θe是从转子位置估算器出来的如果是有感控制就是霍尔传感器或者编码器采集到的θe是转子永磁体相对于定子的电角度θe是围绕定子坐标系的“α 轴正方向”作为 0° 基准旋转的。它是从转子永磁体的N极出发指向S极的一个矢量。那么电角度θe又是啥角度就是角度怎么还有电角度因为电机一般都是多对极的也叫多极对数一个N极一个S极叫一对极比如我的是8极所以我的电机极对数就是4这样的话我的电机转一圈但是我的转子磁场已经转了4圈了每经过一个极对数就是相当于转了1圈经过4个NS极就是转了4圈。电角度(θe) 极对数(P) X 机械角度(θm)根据初中数学三角函数知识就可以得出以下结论所以就从αβ静止坐标系变成了dq旋转坐标系而之前的ABC三相坐标系和αβ静止坐标系都是固定在定子上的坐标系而现在这个dq旋转坐标系是根据转子转动的转子转到哪这个坐标系就跟着到哪。Clark出来的还有一部分Iα和Iβ给到了转子位置估算器这是无感FOC有的靠估算算法来计算出当前转子的位置角度从而启动电机主要有开环法、高频注入法、滑膜SMO锁相环PLL、反电动势零交叉、卡尔曼滤波等等这些是无感FOC的重点启动算法这个后续再说了解即可。如果是有感FOC那么这个转子位置估算框就可以删除了有感FOC的转子位置是靠霍尔传感器获取的霍尔传感器只能提供六个区间粗位置但是FOC需要连续的位置在一圈360度不只能只给这六个角度定位点0-60-120-180-240-300所以用插补算出区间内的连续角度然后这才是最终获取到的角度θ给到Park用于计算Id和Iq。三、常用电机方程推导3.1 三相定子电压方程上图为直流电机的一个简化模型模型主要包括电源、电感、电阻、反电动势根据高中物理知识法拉第电磁感应定律而磁通量ΦL为电感i为电流。所以电感L产生的电压就是所以定子三相电压平衡方程为而定子绕组总磁链对电机磁链整体求导反电动势感应在定子绕组上但其根源是转子永磁体或转子磁场相对于定子绕组运动导致磁链变化。其中所以三相定子电压平衡方程又可以表示为因为定子是三相的所以三个线圈都有自己的定子电压方程。其中、、分别是定子的三相电流。看上面多出了ψa、ψb、ψc这三个是定子每一相的磁链3.2 电磁转矩方程隐极电机上面的公式分为两部分第一项是绕组铜损不会产生机械功是纯浪费的。因此真正做机械功的部分是第二项。上面的公式中会发现对电角度θe也求导了因为θe不是一个常数永磁体的磁链不是常数是随电角度变化的所以这个电角度θe也是随着时间t变化的所以要求导。这个PPM需要和 Clarke 变换相结合前面clark变换我们得到了αβ和abc的电流关系矩阵形式为根据park变换所以从隐极电机电磁转矩方程可以发现这里跟转速和电压没有一点关系只跟电机极对数、永磁体磁链和q轴电流有关系而电机极对数在制造电机就固定了我们是改不了的。ψf 在电机制造好之后也是基本不变的ψf 在电机制造好之后是否不变不过也存在高温退磁导致变小的问题不过这种情况这个电机的特性已经变化了不能视为一个正常的电机了。所以我们只剩下iq这一个可以改变的了也就是想控制转矩只能改变iq的大小所以FOC最终不就是变成了只控制iq。所以FOC框图的左上角第一个比较点出来后就是速度环的PI控制器输入为速度误差输出为Iqref。注意这个Iqref输出是经过PI控制器计算后的Iq不是电机通过采样电阻采到后又经过Clark和Park变换后的实际Iq。那很多人可能有疑惑为啥进去的是速度出来的是电流这俩从物理意义和单位也不是一回事啊学过自动控制原理的都知道进去的是转速出来的应该是转速啊只是PI控制器去调节这个转速。3.3 DQ轴电压方程凸极电机1.推导PMSM的dq轴模型3.4 电磁转矩方程凸极电机Park变换