声明:本文出自百度文库无刷无霍尔电机控制,因为该文为繁体,看起来特别别扭,特此翻译。
文库网址:
https://wenku.baidu.com/view/b99217dca0116c175f0e489c.html
无霍尔的BLDC控制方案与有霍尔BLDC的基本原理相似,都是用所谓“六步换向法”,根据转子当前的位置,按照一定的顺序给定子绕组通电使BLDC电机转动。所不同的是无霍尔BLDC不需要霍尔效应传感器,通过检测定子绕组的反电动势过零点来判断转子当前的位置。与有霍尔的方案相比,最明显的优点就是降低了成本、减小了体积。且电机引线从8根变为3根,使接线调试都大为简化。另外,霍尔传感器容易受温度和磁场等外界环境的影响,故障率较高。因此,无霍尔BLDC得到越来越多的应用,在很多场合正逐步取代有霍尔BLDC。 本文介绍三相BLDC电机的无霍尔控制理论。根据特定的应用场合,具体的实现方法会有所不同。
一个简单的BLDC的构造如图1所示。电机外层是定子,包含电机绕组。多数BLDC都有三个Y型连接的绕组,这些绕组中的每一个都是由许多线圈互连组成的。电机内部是转子,由围绕电机圆周的磁性相反的磁极组成。图1显示了仅带有两个磁极(南北磁极)的转子,在实际应用中,大多数电机的转子具有多对磁极。
BLDC电机驱动电路的基本模型如图2所示。通过开关管Q0~Q5来控制电机三相绕组的通电状态,开关管可以为IGBT或者功率MOS管。其中位于上方即与电源正端连接的开关管称为“上桥”,下方即与电源负端连接的开关管称为“下桥”。
例如,若Q1、Q4打开,其它开关管都关闭,则电流从电源正端经Q1、A相绕组、C相绕组、Q4流回电源负端。流过A、C相定子绕组的电流会产生一个磁场,由右手定则可知其方向与B相绕组平行。由于转子是永磁体,在磁场力的作用下会向著与定子磁场平行的方向旋转,即转到与B相绕组平行的位置,使转子的北磁极与定子磁场的南磁极对齐。 类似地,打开不同的上、下桥臂MOS管组合,就可控制电流的流向,产生不同方向的磁场,使永磁体转子转到指定的位置。要使BLDC电机按指定的方向连续转动,就必须按一定的顺序给定子绕组通电。从一种通电状态到另一种通电状态的切换称为“换相”,例如从AB通电变化到AC通电。换相使转子旋转到下一个位置。上下桥臂各3个开关管,共六种组合,因此每60°变化一次,经过六步换相就能使电机旋转一个电气周期。这就是所谓的“六步换相法”。 要使转子具有最大的转矩,理想的情况是使定子磁场与转子磁场方向垂直。但是实际上由于定子磁场方向每60°才变化一次,而转子在一直不停旋转,不可能时刻使它们保持90°的相位差。最优化的方法就是在每次换相时使定子磁场领先转子磁场方向120°电角度,这样在接下来转子旋转60°的过程中,定子磁场与转子磁场方向的夹角从120°变化到60°,转矩的利用率最高。 为了确定按照通电顺序哪一个绕组将得电,必须知道转子当前的位置。在有霍尔的BLDC中,转子的位置由定子中嵌入的霍尔效应传感器检测。无霍尔BLDC电机不借助位置传感器,而是利用电机本身的特征信号来取得与位置传感器类似的效果,其中应用最多的就是本文下一节要介绍的反电动势法。
BLDC电机转动时,永磁体转子的旋转在电机内部产生变化的磁场,根据电磁感应定律,每相绕组都会感应出反电动势(BEMF,Back Electromotive Force)。BLDC电机的BEMF波形随转子的位置和速度变化,整体上呈现为梯形。 图3给出了电机旋转一个电周期中电流和反电动势的波形,其中的实线代表电流,虚线代表反电动势,横坐标为电机旋转的电气角度,根据BLDC的“六步换向”控制理论,我们知道在任意时刻三相BLDC只有两相通电,另一相开路,三相两两通电,共有六种组合,以一定的顺序每60°变化一次,这样产生旋转的磁场,拉动永磁体转子随之转动。这里的60°指的是电气角度,一个电周期可能并不对应于一个完整的转子机械转动周期。完成一圈机械转动要重复的电周期数取决于转子的磁极对数。每对转子磁极需要完成一个电周期,因此,电周期数/转数等于转子磁极对数。
控制BLDC的关键就是确定换相的时刻。从图3中可以看出,在每两个换相点的中间都对应一个反电动势的极性改变的点,即反电动势从正变化为负或者从负变化为正的点,称为过零点。利用反电动势的这个特性,只要我们能够准确检测出反电动势的过零点,将其延迟30°,即为需要换相的时刻。
从图3中可以看出,每次的反电动势过零点都发生在不通电的那一相。例如图3中第一个60°内,A相电流为正,B相电流为负,C相电流为零,这说明电机AB相通电,电流从A相流入B相,C相为开路。反电动势的过零点正好出现在C相。而且由于C相不通电,没有电流,其相电压就与反电动势有直接的对应关系。因此只要在每个60°内检测不通电那一相的电压,即可检测反电动势。
由于BLDC电机的Y形连接,三相都接到公共的中性点,相电压无法直接测量。只能测量各相的端电压,即各相对地的电压,然后与中性点电压比较,当端电压从大于中性点电压变为小于中性点电压,或者从小于中性点电压变为大于中性点电压,即为过零点。原理图如图4(a)所示。
但是一般的BLDC电机都没有中性点的外接引线,因此无法直接测量中性点电压。解决这个问题最直接的办法就是重构一个“虚拟中性点”,通过将三相绕组分别通过阻值相等的电压连接到一个公共点而成,这个公共点就是虚拟中性点,如图4(b)所示。 重构虚拟中性点的方法有一定的实用性,但是也有很大的不足。由于BLDC电机是用PWM方式驱动,PWM在一个周期内先输出“ON”后,输出“OFF”;当PWM为“ON”时电机绕组通电,为“OFF”时关断。于是加在电机绕组两端的电压不断地在高电平和低电平之间切换,其中性点电压中包含了大量的开关噪声。若对中性点电压进行滤波,一方面增加了电路的复杂度,另一方面滤波电路会造成信号的相移,使检测到的过零点比实际发生的时刻后移,无法准确地指导换向。
实际上,如果我们只在PWM为“ON”区间进行反电动势的采样,则不用直接检测中性点电压,而可以用总端电压的一半来代替。推导过程如下。
图5PWMON区间的中性点电压
假设采用H-PWM-L-OM的调制方式(详见5.2节:PWM调制方式),即上桥臂采用PWM调制,下桥臂恒通,图5为PWM为“ON”时简化的BLDC电机等效电路,电机的每相都等效为一个电阻、电感和反电动势的串联。假设当前为AB通电,电流从A相流入B相,C相开路。V dc为直流母线电压,V a、V b、V c分别为A、B、C相的端电压,V n为中性点电压,e a、e b、e c分别为A、B、C相的反电动势。
对A相列电压回路方程:
Vn=Vdc−Vmos−ri−Ldidt−eaVn=Vdc−Vmos−ri−Ldidt−ea
(4.2.1)
对B相列电压回路方程:
(4.2.2)
其中Vmos为MOS管上的压降。以上两式相加得:
(4.2.3)
对于三相平衡的系统,若忽略三次谐波,有
(4.2.4)
将(5.2.4)代入(5.2.3)得
(4.2.5)
于是可得C相端电压为
(4.2.6)
由上式可以看出,不通电相的端电压由该相的反电动势迭加在Vdc/2上而形成,因此可以通过比较不通电相的端电压与 Vdc/2上的大小来检测反电动势过零点。用这种方法避免了开关噪声的影响,因此也无需增加滤波电路。
为了避免PWM刚由“OFF”变为“ON”时会出现的尖峰电压,一般在PWM进入“ON”状态后再延时一段时间再进行反电动势采样,如图6所示。这个功能用SH79F168的PWM的中心对齐模式可以很方便地实现。在中心对齐模式下,PWM的周期中断发生在“ON”状态的中间位置。于是我们可以把PWM设为中心对齐模式,然后在周期中断中进行反电动势采样。
但是这种方法有一个不足,就是PWM的占空比不能太小,否则PWM为“ON”的时间太短,来不及进行AD采样,从而无法准确判断过零点,使电机的换相发生错乱,无法正常运转。在电机进入闭环控制后,PWM占空比越小转速越低,因此这种方法不适用于要求实现极低转速的场合。现实中要求电机能进行极低速运转的场合不多,所以这种方法也能适用于大多数应用。
还有一个要注意的问题,就是刚换相后的一段时间内,若当前断开相绕组在换相前是接电源正端,则其端电压在刚换相的瞬间会迅速降落至电源负端电压,形成一个向下的尖峰;若当前断开相绕组在换相前是接电源负端,则其端电压在刚换相的瞬间会迅速升高到电源正端电压,形成一个向上的尖峰。这种现象在PWM占空比越大时越明显,持续时间越长,如图7所示。
产生这种现象的原因是,在刚换相的瞬间,由于电机绕组的电感效应,断开相绕组内的电流不会马上消失,根据电流的方向不同,会通过上桥臂或下桥臂的开关管的体二极管进行续流,持续一段时间才消失。电流越大,持续时间越长。以图5为例,若电机从图示中的AB通电切换到AC通电,B相绕组断开,上下桥臂的开关管都关闭。当时B相绕组中从中性点流入的电流不会马上消失,于是通过上桥臂的体二极管续流,与电源正端短路,于是会出现一个正的尖峰;类似地,若电机从图示状态切换到CB通电,A组上下桥臂的开关管都关闭,根据电流的方向,只能通过下桥臂体二极管续流,与电源负端短路,于是出现一个负的尖峰。电流越大,续流时间越长,尖峰越宽。
显然,在刚换相的PWM周期采样的话,很可能受到这个尖峰电压的影响,不能反映正确的反电动势。因此可以根据PWM占空比的大小,选择在刚换相的一到两个PWM周期内不进行采样,避开尖峰电压。
若要求能在极低速下电机也能运转,则可以采用在PWM OFF区间对反电动势采样的方法。
要理解下面的内容,首先要对开关管的结构有一个基本的认识。不论是IGBT还是功率MOS管,在其C极和E极(或者D极和S极)之间都有一个反向并联的二极管,称为体二极管,如图2中的开关管所示。
当驱动端的PWM由图5所示的ON状态切换到图8所示的OFF状态时,由于电机绕组的电感效应,绕组内的电流不会马上消失,于是经过下桥臂MOS管的体二极管续流形成回路,如图8所示。若忽略二极管的压降,
对A相列回路方程有:
(4.3.1)
对B相列回路方程:
(4.3.2)
对于三相平衡的系统,若忽略高次谐波,有 以上三式相加得
(4.3.3)
以上三式想加得:
(4.3.4)
于是得C相端电压为
(4.3.5)
因此,在PWM OFF区间对断开相绕组的端电压进行采样,所得电压值与反电动势的大小成比例,其过零点也直接反映了反电动势的过零点。 由于这种方法需要一定的PWM OFF区间进行采样,因此在PWM DUTY为100%时不能实施,即电机不能达到满速。另外,在PWM刚进入OFF状态时,由于下桥臂MOS管的体二极管的续流,断开相的电压会被钳在-0.7V,因此也要先延时一段时间再进行采样,这增大了软件实现的难度。 为了有充足的采样时间,一般在PWM占空比较大时在PWM ON区间采样,在PWM占空比很小时在PWM OFF区间采样。但是当PWM占空比很小时,电机转速较低,反电动势也会很小,因此检测的精度会受到限制。
只要能准确地检测反电动势的过零点,就能方便地进行闭环调速。
每一相的反电动势都有两种过零情况:从正变为负和从负变为正。三相共有六种过零情况,对应六种换相状态,且这种对应关系是固定不变的。于是我们可以首先将这个对应关系写入一个表中,程序中每检测到一个过零点,就通过查表来决定相应的IO输出,控制下一步哪两相通电;然后切换到当前的断开相继续检测反电动势过零点,如此循环,直至建立稳定的闭环。
理论上,过零点总是超前换相点30°电角度,如图3所示。因此在检测到过零点后,要先延迟30°电角度再换相。但是在闭环调速过程中,电机旋转一个电气周期的时间不是固定不变的,我们无法预测在检测到过零点后接下来的这30°电角度是多长时间。那麽在检测到过零点之后,怎样决定延时时间呢? 虽然我们无法预测接下来的30°电角度是多长,但是刚刚过去的这个换相周期即两个换相点之间60°电角度的长度是可以测量的。在每次换相时将timer清零,在下一次换相时读取的timer值就是这个换相周期的长度。于是我们可以采用近似的办法,用上一个换相周期,即60°电角度的时间减半,作为接下来的30°电角度延时时间。这种方法是可行的,因为电机的转速是渐变的,相邻两个换相周期的时间相差不会很大。
电机进入闭环后,只要通过调节PWM的占空比即可调节转速。电机各绕组的通电和判断都用PWM端口控制,PWM占空比大时,流过电机绕组的电流大,定子磁场就强,转速就高;反之PWM占空比小时,电机转速就低。
PWM调制方式有两种:全桥调制和半桥调制。在120°导通期间,对功率逆变桥的上桥和下桥都采用PWM方式驱动,即“全桥调制”;在120°导通期间,只对功率逆变桥的上桥(或者下桥)采用PWM方式驱动,下桥(或上桥)恒通,称为“半桥调制”。
全桥调制下MOS管的开关频率是半桥调制方式的两倍左右,损耗比较大,因而很少用到。半桥调制方式又有H-PWM-L-ON(在120°导通区间内(下同),上桥臂MOS管用PWM调制,下桥臂MOS管恒通)、H-ON-L-PWM(上桥臂MOS管恒通,下桥臂MOS管用PWM调制)、PWM-ON(前60°PWM,后60°恒通)、ON-PWM(前60°恒通,后60°PWM)等多种,各有其特点,可根据具体电路和应用场合选择特定的调制方式,本文不详述。其中最常用的是前两种,实现起来比较简单且能满足一般应用。
BLDC电机控制的最大难点并不是位置检测和换相,而是起动方式。由于电机绕组的反电动势与转速正相关,当转速很低时,BEMF也非常小以致很难准确检测。因此电机从零转速起动时,反电动势法常常不能适用。必须先借助其它方法将电机拉到一定速度,使BEMF达到能够被检测的水平,才能切换到反电动势法进行控制。
只有先确定了静止时转子的位置,才能决定起动时第一次应触发哪两个开关管,我们把确定转子初始位置的过程叫做定位。
最简单而常用的方法是给任意两相通电,并控制电机电流不致过大,通电一段时间后,转子就会转到与该通电状态对应的预知位置,完成转子的定位。以图9为例,若给AB两相通电,则定子磁势Fa的位置如图所示,此时若转子磁势Ff在图示位置,则转子将顺时针转过120°电角度,与定子磁场方向对齐。
为了避免这个问题,可以先给AC、BC通电,形成的磁场方向与Fa垂直,则转子必会转到Fa垂直的位置(即使这时又有死锁,转子在与指定方向成180°角的位置,也还是与Fa垂直),然后再给AB通电,则能够确保转子转到Fa方向。
一种更有效的方法是利用电机绕组电感的变化来检测转子的初始位置。这种方法不依赖于电机的任何特性,因此对任意电机都适用,甚至改变电机的起动负载,还是能有效地实现定位。该方法基于如下的原理:对处于永磁体磁场中的线圈施加一个电压,根据磁场方向的不同,产生的电流会增强或削弱磁场的强度,从而使线圈电感减小或增大。
具体实现方法如图10所示,先将某一相绕组连接到高电平,另外两相接地,这时产生的定子磁场方向如图所示。然后将接地的两相绕组改接到高电平,原来接高电平的绕组接地,产生一个方向相反的磁场。两种情况的通电时间都很短,转子并不转动,绕组中产生一个电流脉衝。比较这两种情况下电流脉衝的大小,即可比较出两次绕组电感的大小,从而可把转子定位在180°的范围内。然后换一相电机绕组重复刚才的过程,把转子定位在另外180°的范围内。三相绕组各进行一次检测,三个范围的重合处,即可确定转子所在的60°范围。
由于这种方法每次绕组通电的时间都很短,因此不会担心过流的问题。另外由于不会改变转子位置,在转子运行的间隙中也可以用这种方法来检测转子位置。
明确了转子的初始位置后,就能够决定第一次应该打开哪几个开关管,使哪两相通电,控制转子正转或反转到下一个位置,即第一次换相。如果这第一次换相时在断开相绕且中产生的反电动势就足够检测过零点,则可以直接进入闭环控制。但是实际情况往往没有这麽理想,在电机从静止状态第一次换相时的速度下,往往不足以产生足够的反电动势来实现过零点检测。因此我们只能先将电机开环加速到一定的转速,使反电动势达到能够检测过零点的水平,再切换到闭环调速。
由于开环加速是很不稳定的,必须事先设计合理的加速曲线。一种方法是先通过试验确定加速曲线上的3~4个关键点,然后拟合出整条曲线的表达式。
此法的成功实现,受电机负载转矩、外施电压、加速曲线及转动惯量等诸多因素影响。通过优化加速曲线,此法能保证电机顺利起动,但是对不同电机、不同负载,所对应的优化加速曲线不一样,导致通用性不强。
还有一种加速方法是利用前面“定位”一小节中介绍的变感检测法,每加速一段时间后就用这种方法检测一次转子位置,然后根据转子位置调整要通电的相序,继续加速。不断重复检测——加速——检测——加速„„直到电机高速运转到需要的速度为止。
如果不想花过多精力在制订加速曲线上,也可以用另外一种方法来切换到闭环。这种方法对转子和定子磁场的相位差没有要求,只要电机能加速到足够的转速后,将三相绕组全部开路,则转子处于不受控状态,凭藉惯性继续转动。这时三相绕组中都没有电流,都可以进行反电动势过零点检测,而不用担心前面提到的反电动势过零点发生在通电相而无法检测的情况。在连续检测到几次过零点之后,就可以切换到闭环。在三相全部断电后,电机在惯性作用下一般至少还会旋转数十个电气周期,其中转速在反电动势能够检测的水平之上的周期至少也有十几个,足够进行转子位置检测,因此这种方法是可行的。不足是这种方法在负载转矩较大时不适用。
本文假定读者已经具备一定的有霍尔BLDC控制方面的基础,因此在敍述顺序上是从有霍尔引申到无霍尔,从易到难。综合以上各部分的介绍,最后按实际执行的顺序,将无霍尔BLDC的控制过程再大致概括如下:
1、定位。主要介绍了两相通电法和变感检测法,从理论上讲,后者是更好的方法,但是我还没有实际验证过。
2、加速。在我实际接触的项目中,针对我们所用的电机,不需要加速就可以直接进入闭环。但本文提到的几种加速方法,除了结合变感检测法的那种,也都经过了实践检验。
3、切换到闭环。在开环阶段即不断尝试检测断开相的反电动势,若能稳定检测后,则可切换到闭环。
4、用反电动势法进行闭环控制。在PWM ON区间,对断开相绕组的端电压进行采样,并与直流母线电压的一半进行比较,即可得出过零点。通过反电动势过零点即可判断转子当前的位置,进而决定下一步应该哪两相通电。由于换相时产生的尖峰电压,在刚换相的一段时间内检测到的反电动势可能不准确,要根据实际情况选择放弃前面一至两个PWM周期的电压采样值。若要求实现极低速闭环控制,可在PWM OFF区间对断开相端电压采样,采样值的过零点即为反电动势过零点。
5、进入闭环后,通过改变PWM的占空比即可调节电机转速,占空比越大转速越高。
无霍尔BLDC控制最大的难点就是起动问题。本文介绍的种种使电机起动的方法,都有其局限性,时至今日,尚没有一种可靠而通用的方法,可以实现不同应用条件下不同特性的无霍尔BLDC的可靠起动。我们只能根据实际条件,有针对性的选择某一种起动方法。但是随著电机技术本身的发展,将来可能越来越多的无霍尔BLDC都能实现强度和灵敏度更高的反电动势,从而可以直接进入闭环,使控制过程大大简化。
@[TOC](这里写自定义目录标题)[1] AN1083: Sensorless BLDC Control With Back-EMF Filtering, Reston Condit, Microchip Technology Inc., 2007.
[2] AN885: Brushless BLDC Motor Fundamentals, Padmaraja Yedamale, Microchip Technology Inc., 2003.
[3] Advances in Sensorless Control of BLDC Motors, Agile Systems, 2005.
[4] Direct Back EMF Detection Method for Sensorless Brushless DC Motor Dives, Jianwei Shao, Virginia Polytechnic Institute and the State University, 2003.
[5] AN1946: Sensorless BLDC Motor Control and BEMF Sampling Methods with ST7MC, STMicroelectronics, 2007.
[6] AN857: Brushless DC Motor Control Made Easy, Ward Brown, Microchip Technology Inc., 2002.
[7] 永磁无刷直流电动机的控制,周序伟,sinowealth, 2008.
[8] AP08018: Start-up Control Algorithm for Sensorless and Variable Load BLDC Control Using Variable Inductance Sensing Method, Infineon Technologies AG. 2006.
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
一个具有注脚的文本。2
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎