2007MicrochipTechnologyInc.DS01083A_CN第1页AN1083简介本应用笔记说明了无传感器无刷直流(BrushlessDC,BLDC)电机控制算法,该算法采用dsPIC®数字信号控制器(digitalsignalcontroller,DSC)实现。该算法对电机每相的反电动势(back-ElectromotiveForce,back-EMF)进行数字滤波,并基于滤得的反电动势信号来决定何时对电机换相。这种控制技术不需要使用离散式低通滤波硬件和片外比较器。BLDC电机的应用非常广泛。本应用笔记中描述的算法适合于电气RPM范围在40k到100k的BLDC电机。运行于此RPM范围内的一些BLDC电机应用可以是模式化RC电机、风扇、硬盘驱动、气泵以及牙钻等。本应用笔记中描述的算法可在以下两个Microchip开发板平台上实现:•PICDEM™MCLV开发板•dsPICDEM™MC1开发板PICDEM™MCLV开发板包括一dsPIC30F3010DSC。上述算法在该器件上得以实现,因为该器件包含在PICDEM™MCLV开发板中。然而,您也可使用dsPIC30F2010作为替代处理器以节约成本。该板的默认配置包含一个5MHz的晶振。在测试该算法时使用7.37MHz的晶振。PICDEMMCLV开发板上所使用的资源如下:dsPICDEMMC1开发板上所使用的资源如下:以下规范适用于上述两种硬件平台:•昀大电机速度:100,000电气RPM•可调节的PID速度控制环•可配置的开环起动加速过程•支持DMCI工具(见本文档的“实现算法”部分)图1:PICDEM™MCLV开发板图2:带附加功率模块的dsPICDEM™MC1开发板处理器类型:dsPIC30F3010或dsPIC2010MIPS:21MIPS程序存储器:2000个24位指令字RAM:280字节晶振:7.68MHz作者:RestonConditMicrochipTechnologyInc.处理器:dsPIC30F6010AMIPS:21MIPS程序存储器:2089个24位指令字RAM:280字节(1)注1:在信号缓冲器使能的情况下,RAM的使用率为4400字节。使用反电动势进行无传感器BLDC控制AN1083DS01083A_CN第2页2007MicrochipTechnologyInc.BLDC电机结构该算法已在下列电机上经过测试:•4极、12V、10A风扇电机,昀高转速为29,000RPM•14极、12V航空发动机模型,昀高转速为13,000RPM•4极、24V、1AHurstBLDC电机模型DMB0224C10002这些电机已使用与转速成正比的负载进行了测试——低速时负载较轻,高速时满载。在Y型连接的BLDC电机(见图3)中,电机具有三条引线,每条引线与一个绕组相连。每个绕组(或串联绕组)与一个公共点相连,该公共点为所有三个绕组共同使用,如图3中上部所示。一个简单的BLDC电机的基本构造如图3的下部所示。图3:Y型连接的BLDC电机电机外层是定子,包含电机绕组。电机内部是转子,转子由围绕电机圆周的极性相反的磁极组成,图4显示了仅带有两个磁极(南北磁极)的转子。在实际应用中,大多数电机的转子具有多对磁极。当电流流过电机绕组时(如图4中的箭头(1)所示),电机起动。在该示例中,红色(R)引线上施加了正电势,而绿色(G)引线上施加了反电势。在这种情况下给电机绕组充电会在定子上产生磁场,由N和S标记指示。然后转子旋转,以使转子的北磁极与定子磁场的南磁极对齐。同样的,转子的南磁极与定子磁场的北磁极对齐。图4:流过绕组的电流RGB100NSRBrrggbbGcomcomcom110010011101001Y型连接的BLDC电机原理图BLDC电机结构公共点RGB1100NSRBrrggbbGcomcomcomNNSSNNSS110010011101001电流流过绕组的电流在定子上产生磁场(由N和S来标识),使得转子的北极和南极分别与定子的南极和北极对齐。2007MicrochipTechnologyInc.DS01083A_CN第3页AN1083六步(梯形)换相在本应用笔记描述的无传感器算法中,使用六步梯形或120°换相法为电机绕组通电。图5说明了六步换相的工作原理。每一步或每一区间,相当于60个电角度。六个区间组成了360个电角度或一次电气旋转。绕组图中的箭头显示了在每一步中流过电机绕组的电流方向。图中显示了在六步换相期间每个电机引线上施加的电势。六步换相序列使电机进行了一次电气旋转。图5:六步换相每一区间上都有两个绕组通电,一个绕组未通电。每一区间均有一个绕组未通电,是六步控制的重要特征,无传感器控制算法就是基于此实现的。本应用笔记使用下面的术语来说明电机速度:•每分钟电气旋转次数(RPMElec)•每秒钟电气旋转次数(RPSElec)使用这些术语来说明电机速度比机械RPM要容易的多,因为在涉及到电气RPM时,不用考虑电机极数这个因素。机械RPM和电气RPM之间的关系可用以下公式来表示:公式1:机械/电气RPM关系要保持定子中的磁场超前于转子磁场,那么一区间到另一区间的转变必须发生在转子处于特定位置的时刻,从而获得昀佳转矩。下一部分将讨论在带传感器的BLDC控制应用中如何确定转子位置。RGB15462360°123456蓝色绕组绿色绕组红色绕组区+VBUS-VBUS+VBUS-VBUS-VBUS+VBUS间步骤换相1给红色绕组加正电。给绿色绕组加负电。蓝色绕组未通电。2保持红色绕组电势为正。给蓝色绕组加负电。绿色绕组未通电。3给绿色绕组加正电。给蓝色绕组加负电。红色绕组未通电。4给绿色绕组加正电。给红色绕组加负电。蓝色绕组未通电。5给蓝色绕组加正电。给红色绕组加负电。绿色绕组未通电。6给蓝色绕组加正电。给绿色绕组加负电。红色绕组未通电。RPMMech=(2*RPMElec)(电机极数)RPMElec=(RPMMech*电机极数)2RPSElec=RPMElec60AN1083DS01083A_CN第4页2007MicrochipTechnologyInc.带传感器的BLDC控制在大多数带传感器的BLDC控制应用中,霍尔效应传感器用于确定转子位置。霍尔效应传感器位于电机壳内,每个传感器输出状态每经180个电角度就会变化一次(见图6)。传感器B输出信号的上升沿与传感器A输出信号的上升沿之间有120个电角度的偏移。传感器C输出信号的上升沿相对于传感器B也有120个电角度的偏移。这样放置传感器是为了在电机换相时,传感器的输出状态会发生改变。图6:带传感器的控制图7是BLDC电机的基本驱动电路。每个电机引线都连接到一个高边/低边开关。区间和开关状态之间的相互关系由驱动电路开关(如图6所示)表示。图7:BLDC驱动电路驱动电路开关绿色绕组Q1,Q5Q1,Q6Q2,Q6Q2,Q4Q3,Q4Q3,Q560°霍尔效应传感器A霍尔效应传感器B霍尔效应传感器CQ1,Q5Q1,Q6Q3,Q5区间6霍尔状态12354624351651426蓝色绕组红色绕组BRGQ1Q3Q2Q4Q6Q52007MicrochipTechnologyInc.DS01083A_CN第5页AN1083为什么使用无传感器控制?在带传感器的控制中,使用传感器来确定电机转子相对于电机定子的位置。这可使电机的控制相当简单。处理器只需等待霍尔效应传感器改变状态,然后根据三个霍尔效应传感器的输出来确定转子所处的区间,并相应的对电机绕组进行换相。带传感器的控制具有如下缺点:•传感器价格昂贵。除了需要购买传感器外,还需要在制造期间将传感器安装在电机上,这就增加了安装和接线费用。•传感器给电机添加了潜在的故障因素。如果传感器发生故障,则电机也无法继续工作。•在某些环境下,使用传感器不符合实际需要。例如,在电机处在浸没的环境中(如压缩机或泵),传感器可能首先会发生故障。基于各种各样的原因,在许多应用中需要使用无传感器的BLDC控制。本应用笔记的下一部分将介绍所述无传感器BLDC控制技术的理论知识。无传感器的BLDC控制确定电机绕组换相的时刻或一区间到另一区间转换的适当时间的关键就是转子的位置。如果使用带传感器的控制,则可立刻获得转子的位置。然而,在无传感器控制中,则必须采用其他方法确定转子位置。该算法中使用的方法是分析电机的反电动势(EMF)。简单的说,反电动势是永磁式电机转子转动时,由定子绕组所产生的电压。反电动势的幅值与电机转速成正比。图8将有助于理解反电动势。该图显示了带有传感器控制的电机在转动时三条引线上的电势。产生的三个信号的形状与图5中的梯形形状非常相似。图中添加了竖线以帮助区分六个区间。PWM信号给每个绕组供电。例如,每三个区间,A相就失电一次。然而,在不驱动某一特定相的区间内,在电机引线上仍可看到电压。这个电压就是反电动势。图8:反电动势A相B相C相注:使用dsPIC30F6010A对运行的BLDC电机引线上的信号进行采样以捕获到这些波形。使用MPLAB®IDE的数据监控(DataMonitorandControlInterface,DMCI)工具可显示这些采样。本文档的“实现算法”部分对DMCI工具做了更加详尽的讨论。AN1083DS01083A_CN第6页2007MicrochipTechnologyInc.在未驱动区间期间的反电动势信号实际上是由于磁性转子转过定子绕组而产生的。反电动势信号具有三个对无传感器控制来说非常重要的特征。这些特征包括:•速度上升时,反电动势信号的电压幅值也增大。•速度上升时,反电动势信号的斜率变大。•反电动势信号以0V电压为中心对称(假设驱动电源轨为对称的正/负电压)。第三个特征的细节如图9所示,它表示A相在非驱动区间期间的反电动势信号。在本例中,电机由±12V电压驱动。反电动势信号以0V为中心对称。(如果驱动电源轨为12V和0V,则信号以6V为中心对称。)如果反电动势信号为一条直线,那么信号将在该区间的一半处(也就是该区间的30°电角度处)通过零线。该点称为过零点。在过零事件后再经过30°电角度进行下一次换相。因此,给出一个可精确识别过零事件的算法,从而可估算转子位置,使电机绕组在正确的时间进行换相。理想状态下,未驱动区间的反电动势信号是一条直线。实际情况下,反电动势信号耦合有来自驱动区间的噪声。使用PWM信号来改变电压,从而改变电机转速。由于电机绕组位置十分接近,一个绕组的PWM驱动信号可耦合到另一个绕组的反电动势信号上。存在耦合的PWM噪声时很难检测到过零事件。例如,如果单片机需要识别在某一相的未驱动区间内反电动势信号首次穿过0V阈值的事件,由于PWM噪声导致信号过早穿过0V阈值,从而使得单片机不能在该区间的30°电角度位置检测到过零事件。在图9中,显而易见,反电动势信号在30°电角度标记已过零两次。能否准确地检测到过零事件是实现该无传感器算法的关键。图9:过零电压050100150200250300350400450191725334149576573818997105113121129137145+12V-12V0V高驱动区间低驱动区间未驱动区间30°60°过零事件ADC结果采样数(10位分辨率)2007MicrochipTechnologyInc.DS01083A_CN第7页AN1083数字滤波再次重申,反电动势信号不是一个平滑的信号。从其他相耦合的PWM噪声使得不能准确检测到该信号的过零事件。图10显示了实际的反电动势信号,理想的反电动势信号标识在它上面。通过使用dsPIC®DSC来实现数字滤波,即可获得与理想信号类似的滤波反电动势信号。这是本应用笔记所讨论的算法的前提——给出一个滤波反电动势信号,则可更准确且方便地检测出实际过零事件(30°电角度标记)。当检测到一个过零事件时,dsPICDSC启动一个定时器从设定值开始向下计数,定时器为0时电机绕组换相。但是,对信号进行滤波也存在一个缺点。无论信号滤波是以数字式完成还是在硬件中完成,滤波信