电动汽车无刷直流电机驱动的研究
1 电动汽车无刷直流电机驱动介绍
交通车辆的废气排放与污染已成为一个世界性的环境问题,近二十年来,世界各国纷纷投入力量,寻降低或杜绝车辆废气排放与污染的途径, 其中用于轿车和公交客车的电动车/混合动力车技术最为引人注目。在我国,电动汽车已被列为科技部全面启动实施 12 个重大关键技术攻关与产业化示范科技专项之一。 电动汽车的核心技术是电源系统及驱动系统,电动汽车的驱动将成为现代交流传动技术的一个主要应用领域,具有广阔的市场前景。无刷直流电机具有小体积、轻重量、高效能、易控制等诸多优点, 既具有直流电机优良的转矩控制特性, 又免除直流电机碳刷需经常维护的弊端,非常适用于电动汽车驱动。
2 直流无刷电机的数学模型
为简化电机的数学模型,做如下假设:1) 三相绕组完全对称,气隙磁场为方波,定子电流与转子磁场皆对称分布;2) 忽略齿槽、 换相过程和电枢反应等影响;3) 电枢绕组在定子内表面均匀连续分布;4) 磁路不饱和,不计涡流和磁滞损耗。于是可以得到三相绕组的电压平衡方程:
⎥⎥⎥⎦
⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢
⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡c b a c b a c b a c b a e e e i i i p L M
M M L M M M L
i i i r r r u u u 000000      (1) 式(1)中,a u 、b u 、c u 为三相相电压;a i 、b i 、c i  为三相相电流;a e 、b e 、
c e  为三相反电动势;L 为三相绕组的自感;M 为每两相绕组间的互感;p 为微
分算子p = dt d /;由于电机三相采用 Y 型连接,故:
0=++c b a i i i                          (2)
0=++c b a Mi Mi Mi                        (3)
将式(2)和式(3)代入式(1)中,得到电压方程:
⎥⎥
⎥⎦⎤
⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡c b a c b a c b a c b a e e e i i i p M L M L M
L i i i r r r u u u 0
000
0000000  (4)
根据式(4)得到电机的等效电路图,如图2-1 所示,电机的反电动势和相电流波形如图2-2 所示。
图2-1直流无刷电机等效电路图
B θ
θ
图2-1 电机的反电动势和相电流的理想波形
电磁转矩方程为:
ω
c
c b b a a e e i e i e i T ++=
(5)
在忽略转动时粘滞系数的情况下,运动方程为:
dt
d J
T T L e ω
+=                              (6)  其中,ω为电机的机械转速;L T  为负载转矩;J 为系统的转动惯量。
3 基于 MA TLAB/ SIMUL IN K 建立的仿真模型
文章采用速度环和电流环双闭环控制的方法对电机进行调速。外环为速度
ia
r
L-M
ec
环,内环为电流环。根据模块化建模的思想,将直流无刷电机系统拆分成若干个子模块,包括:电机本体、速度调节模块、电流调节模块等。这种模块化建模的方法具有便于修改,操作性强的特点。如要改变系统的功能或结构,只需对相应的某个模块进行修改即可。
3.1 三相无刷直流电动机系统的电机本体模型
(1)绕组部分
系统中的相关模块构建出直流电源,逆变器和三相绕组等组件,根据式(4)将电机的abc 三相简化为由电阻和电感元件组成,其中在逆变器和电阻之间添加了电流检测模块,在电感元件的后部添加了受控电压源模块,分别用于三相电流的采样输出和反电动势的输入,逆变器的左侧为一个直流电源,以模拟汽车上装载的蓄电池。
Current
1
Universal Bridge
g A B C
+
-
RC RB
RA
L-MC
L-MB
L-MA
i +-
s -+
i +-
i +-
s -
+
s -
+
eABC
2Pulse
1                            图3-1  电机本体模块
(2)反电势系数的S 函数
反电势是转子位置的函数,反电势系数也是转子位置的函数,以A 相为例,有
⎪⎪⎪⎪⎩⎪⎪
⎪⎪⎨⎧︒≤≤︒︒
-︒≤≤︒-︒≤≤︒︒
-︒︒≤≤︒︒≤≤︒︒
=360330303603302101
2101503018015030130030s s s s s
s s s
cA k θθθθθθθθ
根据上式,用M 文件编写反电势系数的S 函数如下: function[sys ,x0,str ,ts]=bldcemf_A(t ,x ,u ,flag) switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;%调用“初始化模块”子函数case 3
sys=mdlOutputs(t,x,u);%调用“计算模块输出”子函数
case{1,2,4,9}
sys=[]
otherwise
error(['Unhandled flag=',n
end
function[sys,x0,str,ts]=mdlInitial
sizes=simsizes;%调用sim
sizes.NumContStates=0;%该
sizes.NumDiscStates=0;%该
sizes.NumOutputs=1;
sizes.NumInputs=1;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[];
str=[];
ts=[-1 0];
function sys=mdlOutputs(t,x,u)
while u>=360
u=u-360;
end
if(u>=0)&(u<=30)
sys=u/30;
混合电动车else if(u>=30)&(u<=150)
sys=1;
else if(u>=150)&(u<=210)
图3-3 电磁转矩计算模块