1、* 基金项目 : 广西区 2009 年度研究生创新项目基金 ( 2009105960811M23)无刷直流电机控制系统的matlab仿真*吴松华 , 叶汉民 ( 桂林理工大学机械与控制工程学院 , 541004)摘要 : 通过对无刷直流电机控制系统的研究 , 提出了反电势控制方法 。即通过线性分段法获得反电动势 , 构建无刷直流电机 ( brushless dc motor BLDCM) 的本体模块 , 采用双闭环控制方案 ( 转速环由 PID 调节器构成 , 电流环由电流滞环调节器构成 ) 建立仿真控制系统 。利用仿真对所提出的方法进行了验证 。关键词 : 无刷直流电机 ; 反电势中图分类号
2、 : TM3012; TP3919 文献标识码 : B 文章编号 : 1004 0420( 2011) 03 0059 030 引言高性能 、低成本以及短周期的更新换代是当今科学研究和工业生产企业一大特点 , 而研究对象的模型化 、模型的模块化是满足这些要求的基本条件之一 。Matlab/Simulink 非常方便地为用户创建和维护一个研究对象的模型 、评估各类设计原理和方法 , 大大加快了科学研究的时间及无刷直流电机的开发过程 。文献 1 介绍了 BLDCM 的总体建模思路 , 并给出基本模块的构建形式 , 但部分模块的函数表现形式没有介绍如何具体实现 。文献 2 在转矩计算时 , 未考虑阻
3、尼系数的因素 。文献 3 可以对其转速进行单位转换 , 与额定转速相一致 。本文以两两导通的星形三相六状态为例 , 构建各个功能模块 , 利用 s 函数对其中部分难实现的功能模块进行编程实现 , 最后进行有机整合 、仿真 。1 基于 simulink 的 BLDCM 仿真模型的建立在 MATLAB7 1 的 simulink 环境下 , 利用 SimPow-erSystem 的丰富模块库 , 建立 BLDCM 控制系统的仿真模型 。BLDCM 建模仿真系统采用双闭环控制方案 : 转速环由 PI 调节控制器构成 , 电流由电流滞环调节器构成 。本文依据图 1 建立 BLDCM 控制系统仿真模型
4、, 包括速度控制模块 、参考电流模块 、电流滞环控制模块 、电压逆变器模块 、BLDCM 本体模块和转矩计算模块 ,将这些功能模块有机整合 , 就可以在 simulink 中搭建BLDCM 控制系统仿真模型 , 实现双闭环控制 。图 1 BLDCM 控制系统仿真图1. 1 本体模块和转矩计算模块BLDCM 本体模块根据 BLDCM 电压方程式 , 求取BLDCM 三相电流 , 但若要获得三相电流信号 , 必须先求得三相反电势信号 。电压方程式如 ( 1) 所示 :uAuBu C=RA0 00 RB00 0 RCiAiBi C+LA0 00 LB00 0 LCPiAiBi C+eAeBe C+U
5、nUnU n( 1)( 1) 式中 uA、uB、uC分别定义为 A、B 和 C 三相输入对地的电压 ; iA、iB、iC分别定义为 A、B 和 C 三相电流 ; eA、eB、eC分别定义为 A、B 和 C 三相反电动势 ; RA、RB、RC分别定义为定子 A、B 和 C 三相绕组的电阻 , 且有 RA= RB= RC= R。LA、LB、LC分别定义为定子 A、B和 C 三相绕组的自感 , 且设 LA= LB= LC; LM定义为定子三相任意两相绕组的互感 , 且 L = LA LM= LB LM= LC LM; P 定义为电流对时间微分的一个算子 , 即P = d/dt。95应用 交流 无刷直
6、流电机控制系统的 matlab 仿真 机床电器 2011. 3根据电压方程可求得三相电机的中点电压方程 :Un=13( uA eA+ uB eB+ uC eC) ( 2)利用分段线性法 , 即根据某一时刻的转子位置和转速信号 , 确定该时刻各相所处的运行状态 , 通过直线方程可生成梯形波反电势 1。为了将转速转换为旋转一周的位置 , 本文采用将得到的角速度求积分得到角度 , 除以 360, 然后将取得余数 , 这样就可以得到转子旋转一周的确切位置 。根据电磁转矩方程式 :Te=eAiA+ eBiB+ eCiC( 3)可建立转矩计算模块 。由运动方程式 :Te T1 B = Jd/dt ( 4)
7、可得到转速信号 , 然后再通过积分就可以得到电机位置信号 。其中 : Te电磁转矩 ; T1负载转矩 ; B阻尼系数 ; J电机的转动惯量 ; 转子机械角速度将上面的方程式组合起来 , 可建立无刷直流电机系统模型 4。把得到的 BLDCM 本体模块和转矩计算模块构建的仿真图如图 2 所示 。反电势的 S 函数主程序如下 :function sys = mdlOutputs( t, x, u)if( u =0u pi/3)sys = 1 1 u* 6/pi +1;elseif( u = pi/3u 2* pi/3)sys = 1 u* 6/pi 3 1;elseif( u =2* pi/3u p
8、i)sys = u* 6/pi +5 1 1;elseif( u = piu 4* pi/3)sys = 1 1 u* 6/pi 7;elseif( u =4* pi/3u 5* pi/3)sys = 1 u* 6/pi +9 1;elseif( u =5* pi/3u 2* pi)sys = u* 6/pi 11 1 1;endfunction sys = mdlTerminate( t, x, u)sys = ;图 2 BLDCM 本体模块和转矩计算的仿真图1. 2 电流滞环控制模块电流滞环控制模块实现滞环电流控制 , 其输入为三相参考电流和三相实际电流 , 输出为逆变器控制信号 。通过选
9、择适当的滞环环宽 , 它可使实际电流跟踪参考电流的波形 , 实现电流闭环控制 。模型如图 3所示 。1. 3 速度调节模块速度调节模块的结构是由参考转速和实际转速的差值作为输入 , 输出是三相参考电流的幅值 。Satura-tion 饱和限幅模块输出的三相参考电流的幅值限定在要求的范围内 , Kp=0013, Ki=16。模型如图 4 所示 。图 3 电流滞环控制模块仿真图 图 4 速度调节模块仿真图06机床电器 2011. 3 应用 交流 无刷直流电机控制系统的 matlab 仿真1. 4 参考电流模块参考电流模块的作用是根据电流限幅值信号和位置信号给出的三相参考电流 , 输出的三相参考电流
10、直接输入电流滞环控制模块 , 用于与实际电流比较进行电流滞环控制 。根据参考电流模块的转子位置和三相参考电流之间的对应关系 1, 通过 S 函数编程实现 , 主程序如下所示 :function sys = mdlOutputs( t, x, u)if( u( 2) =0u( 2) pi/3)sys = u( 1) u( 1) 0;elseif( u( 2) = pi/3u( 2) 2* pi/3)sys = u( 1) 0 u( 1) ;elseif( u( 2) =2* pi/3u( 2) pi)sys = 0 u( 1) u( 1) ;elseif( u( 2) = piu( 2) 4*
11、pi/3)sys = u( 1) u( 1) 0;elseif( u( 2) =4* pi/3u( 2) 5* pi/3)sys = u( 1) 0 u( 1) ;elseif( u( 2) =5* pi/3u( 2) 2* pi)sys = 0 u( 1) u( 1) ;endfunction sys = mdlTerminate( t, x, u)sys = ;1. 5 电压逆变模块电压逆变模块实现逆变器功能 , 输入为位置信号和电流滞环控制模块给出的逆变信号 , 输出为三相端电压 。该模块根据位置信号判断电机所处的运行阶段 , 给出相应的三相端电压信号 、位置信号和端电压之间的关系 1。
12、该模块的 S 函数主函数如下所示 :function sys = mdlOutputs( t, x, u)if( u( 1) = =1u( 2) = =0u( 3) = =0)sys = 1/2 1/2 0;elseif( u( 1) = =1u( 2) = =1u( 3) = =0)sys = 1/2 0 1/2;elseif( u( 1) = =0u( 2) = =1u( 3) = =0)sys = 0 1/2 1/2;elseif( u( 1) = =0u( 2) = =1u( 3) = =1)sys = 1/2 1/2 0;elseif( u( 1) = =0u( 2) = =0u(
13、3) = =1)sys = 1/2 0 1/2;elseif( u( 1) = =1u( 2) = =0u( 3) = =1)sys = 0 1/2 1/2;endfunction sys = mdlTerminate( t, x, u)sys = ;2 仿真结果仿真中 , BLDCM 的参数设置为 : 额定转速 ne= 2000 r/min, 定子相绕组电阻 R =2 875 , 定子相绕组自感与互感的差为 LA LM=0 008 5 H, 转动惯量 J =0008 kgm2, 反电动势系数 ke= 0 001 5 ( V/( r/min) ) , 阻尼系数 B =3e4( Nms) , 极
14、对数 p =4, 直流电源供电电压 ud=300 V。在系统运行 0 3 s 时突加负载转矩 TL = 4 Nm。通过调试 BLDCM 控制仿真系统 , 可得到转速响应曲线 、转矩响应曲线如图 5 6所示 。图 5 转速响应曲线 图 6 转矩响应曲线3 结论在 matlab/simulink 仿真环境下 , 给建立 BLDCM 的仿真模型提供了便捷的方法 , 对于比较难搭建的模块 ,可以灵活的运用 S 函数来实现 , 加速了无刷直流电机的开发 。参考文献 : 1 纪志成 , 沈艳霞 , 姜建国 基于 matlab 无刷直流电机系统仿真建模的新方法 J 系统仿真学报 , 2003, 15( 12
15、) : 1745 1749 2 叶长青 , 尹华杰 , 赵海波 无刷直流电机驱动系统 matlab仿真建模及模型中 S 函数的实现 J 微电机 , 2008, 41( 10) : 90 94 3 卿晓辉 基于反电势法的无刷直流电机的控制研究 D 湖南大学硕士论文 , 2006 4 周艳青 , 黄常抒 基于 Matlab 无刷直流电机控制系统的新型建模仿真 J 防爆电机 , 2008, 43( 145) : 27 36收稿日期 : 2011 02 23作者简介 : 吴松华 ( 1985 ) , 男 , 硕士研究生 , 研究方向为传感器技术与智能检测技术 。16应用 交流 无刷直流电机控制系统的 matlab 仿真 机床电器 2011. 3