无刷电机FOC控制(一)

1 篇文章 0 订阅
1 篇文章 0 订阅

含代码在主页自取

一、前言

无刷电机是一种典型的机电一体化产品,它以电子换向取代了传统有刷电机的机械换向,具有众多显著优势。

从结构上看,无刷电机主要由定子和转子组成。定子包含绕组等部件,转子通常由永磁体构成。无刷电机的工作原理是通过特定的电子控制器,按照一定的顺序切换定子绕组中的电流,从而产生旋转磁场,驱动转子旋转。

与有刷电机相比,无刷电机具有更高的效率、更长的使用寿命、更低的噪声和更小的电磁干扰。在众多领域得到了广泛应用,如航空航天模型、电动车、工业自动化设备、医疗器械等。在航模领域,无刷电机以其高功率密度、精准的调速性能和可靠的运行,成为了航模爱好者的首选动力源。

无刷电机的发展得益于电子技术的不断进步,随着控制技术的日益成熟,无刷电机的性能还在不断提升,为各个行业的发展提供了强大的动力支持。

52e493d5133c448a8e9b9b52954c6754.jpeg

宏观上区分,我们也可以直接把电机分为定子部分和转子部分。

  • 定子就是有线圈绕组,固定不动的部分;
  • 转子就是电机旋转的部分,用于输出电机的转动和扭矩。

而进一步的,无刷电机可以分为内转子和外转子两种。

  • 内转子无刷电机就是转子在内部;
  • 外转子无刷电机就是转子在外面,我们常见的无刷电机。比如航模无刷电机,就是外转子无刷电机。

FOC 的基本原理是通过对电机的定子电流进行解耦控制,将其分解为产生磁场的励磁电流和产生转矩的转矩电流。然后,分别对这两个电流进行独立控制,以实现对电机的精确控制。

具体来说,FOC 通过测量电机的三相电流和转子位置信息,利用坐标变换将三相电流转换为旋转坐标系下的直轴电流(Id)和交轴电流(Iq)。其中,直轴电流用于控制电机的磁场强度,交轴电流用于控制电机的转矩。通过调节直轴电流和交轴电流的大小,可以实现对电机的转速、转矩和位置的精确控制。

二、硬件电路部分

无刷电机与有刷电机的主要区别在于无刷电机没有电刷。有刷电机可通过机械结构实现电流换向,而无刷电机需借助如 MOS 管这样的器件进行电子换向。MOS 管本质上是一种开关,可像水龙头控制水流通断一样控制电流通断。

fa6fa708b5584bdca3dded012c88df86.png

就像上面这张图, 通过控制不同MOS管的通断组合, 电机线圈电流大小和方向就能够被改变。图中的Q0-Q5就是MOS管的代号,而右边的这个带有三个线圈的就是星形无刷电机的连结方式。 

那么怎么让这个电机转动起来呢?

ca6ed640d18c4ad78151ee79357262a7.png

很简单,如上图所示,我们只需要接下来把Q1管和Q4管打开, 那么继续根据有右手螺旋定则,此时磁场的方向进一步发生改变,转子磁极发生进一步旋转。因此,只需要交替的开关不同的MOS管,就可以实现电机磁极的交替运动,这就是无刷电机旋转运动的原理。 

56c93f7e7b4542abac2238c9c0b0e214.png

瞧,上面的这张图详尽地总结了转子磁铁在旋转一周的过程中各个相的通电状况。只需交替地开启和关闭这些不同相的 MOS 管,便能让电机顺畅地转动起来。当 MOS 管的开关速度加快时,转子的转动也会随之加速;而当 MOS 管的开关速度减慢时,转子的转动速度亦会放缓。

 

由此,我们可以归纳出这样一条规律:对电机的控制,本质上就是对 MOS 管开关规律的掌控。而 MOS 管的开关规律需要借助单片机程序来进行控制,正因如此,我们的 FOC 控制算法便应运而生。FOC 控制恰似一种对电机运动模型的精心抽象与简化,进而能够有规律地控制各个 MOS 管的开关与通断过程。

 

三、FOC软件控制原理 

我们已然明晰了电机控制的硬件过程,即通过交替地开关各个相的 MOS 管,从而实现电机的转动。

那么,我们可以依据期望的电机运行状态,借助一个电机运行模型,来实现交替开关各个 MOS 管的算法。此算法便是 FOC 算法,它还有一个名称叫做磁场定向控制算法。而克拉克变换与帕克变换,则是磁场定向控制算法的两大核心所在。

1、克拉克变换

在电机控制中,为了实现对电机的精确控制,需要将电机的三相静止坐标系(a-b-c 坐标系)中的变量转换到两相静止坐标系(α-β 坐标系)或两相旋转坐标系(d-q 坐标系)中进行处理。克拉克变换的主要目的就是将三相静止坐标系中的电流、电压等变量转换到两相静止坐标系中,以便进行后续的控制算法处理。

a6381e8600bd42cb9df051126186e0ff.png

 

克拉克变换的公式如下:

03db6b86403e406d9115efbfad87a818.png

基于等赋值变换,我们就能够得到α、β相位与eq?i_%7Ba%7D%2Ci_%7Bb%7D%2Ci_%7Bc%7D的关系,已知等赋值变换式:

a646c19f88b54a59b8818f775804c57f.png

最后综合,可以得到了列出​电流eq?i_%7Ba%7D%2Ci_%7Bb%7D%2Ci_%7Bc%7Deq?I_%7B%5Calpha%20%7D%2CI_%7B%5Cbeta%20%7D电流的关键关系式,总结如下:

601b6fa7a50641019cf8ead412bc1b85.png

可以明显看出,在上述式子中,我们消除了变量eq?i_%7Bc%7D。这是因为基于基尔霍夫电流定律的存在,我们无需知晓所有三相电流。实际上,仅需知道两相电流,便能够求解得到另外一相的电流。

 

2、克拉克逆变换

 

三矢量经过克拉克变换后被转换至二维坐标平面。那么,是否存在一种方法能够将二维坐标进行升维原来的eq?i_%7Ba%7D%2Ci_%7Bb%7D%2Ci_%7Bc%7D?这一过程便被称为克拉克逆变换。

由上我们了解了eq?i_%7Ba%7D%2Ci_%7Bb%7D%2Ci_%7Bc%7Deq?I_%7B%5Calpha%20%7D%2CI_%7B%5Cbeta%20%7D电流的关键关系式:

601b6fa7a50641019cf8ead412bc1b85.png

 由此关系式,可将eq?i_%7Bb%7D关系式算出:

eq?i_%7Bb%7D%3D%5Cfrac%7B%5Csqrt%7B3%7DI_%7B%5Cbeta%20%7D-I_%7B%5Calpha%20%7D%7D%7B2%7D

 

最后,还是根据基尔霍夫电流定律:eq?i_%7Ba%7D+i_%7Bb%7D+i_%7Bc%7D%3D0,可得到eq?i_%7Bc%7D关系式:

eq?i_%7Bc%7D%3D%5Cfrac%7B-I_%7B%5Calpha%20%7D-%5Csqrt%7B3%7DI_%7B%5Cbeta%20%7D%7D%7B2%7D

 

则克拉克逆变换三式皆得,总结如下:

eq?i_%7Ba%7D%3DI_%7B%5Calpha%20%7D

eq?i_%7Bb%7D%3D%5Cfrac%7B%5Csqrt%7B3%7DI_%7B%5Cbeta%20%7D-I_%7B%5Calpha%20%7D%7D%7B2%7D

eq?i_%7Bc%7D%3D%5Cfrac%7B-I_%7B%5Calpha%20%7D-%5Csqrt%7B3%7DI_%7B%5Cbeta%20%7D%7D%7B2%7D

通过克拉克变换对三相电流波形的降维,克拉克逆变换对二维坐标升维,我们就可以以简单的二维坐标形式描述三相电机运转时的电流情况。

 

3、帕克逆变换

然而,在此处我们发现,降维后虽然少了一个变量,但只要电机转动,这个变量eq?I_%7B%5Calpha%20%7D%2CI_%7B%5Cbeta%20%7D就依然在持续变化。那么,有没有办法能够用一个定值来描述无刷电机的旋转呢?换言之,能否对这个电机系统进行进一步的降维,使得我们甚至无需考虑不断变化的这个变量eq?I_%7B%5Calpha%20%7D%2CI_%7B%5Cbeta%20%7D,而仅需一个定值就能描述整个电机系统的转动状态呢?答案是肯定的!帕克变换正是为了实现这件事!

aee4926a60054a39bdb214715b8b2cfe.png

帕克变换在此过程中的主要目的是将电机在三相静止坐标系(a-b-c 坐标系)中的变量转换到两相旋转坐标系(d-q 坐标系)中。在这个新的坐标系下,电机的数学模型得以极大简化,从而使控制策略的设计和实现更加容易。具体而言,通过帕克变换,原本复杂的交流变量被转换为直流量,这就为采用成熟的直流控制方法来控制交流电机奠定了基础。帕克变换就是能够帮助我们求得各种旋转情况下的eq?I_%7B%5Calpha%20%7D%2CI_%7B%5Cbeta%20%7D

帕克变换的公式如下:

02c8afd5758a49e787ae9c5dcd9f2625.png

其中,、是经过克拉克变换后得到的两相静止坐标系中的电流分量,、是两相旋转坐标系中的直轴和交轴电流分量,是转子的电角度。 

因此,在知道电角度的前提下,我们就可以用eq?I_%7Bq%7D​,eq?I_%7Bd%7D坐标系上的定值来描述电机的旋转。

根据矩阵乘法,取逆,我们可进行帕克逆变换,也就是知道eq?I_%7Bq%7D​,eq?I_%7Bd%7D​值和电角度的前提下,反求eq?I_%7B%5Calpha%20%7D%2CI_%7B%5Cbeta%20%7D,式子如下:

580a3daaf0c84b1cbc25e14b504132f9.png

由此得出结果:

a5696b738c2d4adcaaab79ef4d0e4394.png

 

在实际的 FOC 应用中,电角度是通过编码器实时求出的,所以是已知量eq?I_%7Bq%7D​和eq?I_%7Bd%7D可以合成一个矢量,由于电角度(旋转)的存在,这个合成矢量可以被看作是一个不断旋转的矢量。在通过eq?I_%7Bq%7D​和eq?I_%7Bd%7D以及电角度求出eq?I_%7B%5Calpha%20%7D%2CI_%7B%5Cbeta%20%7D之后,我们便可以借助前面提及的克拉克逆变换来求得eq?i_%7Ba%7D%2Ci_%7Bb%7D%2Ci_%7Bc%7D的波形,而这正是 FOC 的基本过程。

 

四、总结

fde6a8a2baee4f40b5df44de7a43307f.png

 

其中,帕克变换可以对用户输入eq?I_%7Bq%7D进行变换,依据电角度算出相关量eq?I_%7B%5Calpha%20%7D%2CI_%7B%5Cbeta%20%7D。接着,通过克拉克逆变换能够求出三相电流eq?i_%7Ba%7D%2Ci_%7Bb%7D%2Ci_%7Bc%7D。最后,这三个量能够作为控制指令输入到电机控制器硬件中,以实现对电机的控制。

后续更新FOC速度控制代码撰写和控制框架流程。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值