插电式混合动力汽车的最优集成控制方法 【技术领域】
本发明涉及一种插电式混合动力汽车(Plug-in Hybrid Electric Vehicle,简称PHEV)的最优集成控制方法,特别涉及采用有级式自动变速器并联式结构PHEV的控制方法。
背景技术
混合动力汽车的控制目标,就是使发动机沿着最佳燃油经济性曲线运行、同时也尽可能使电动机工作于高效区,实现动力系统的综合优化。丰田prius混合动力汽车可使发动机沿着最佳燃油经济性曲线运行,由于它采用的是行星齿轮的动力分配机构,机构复杂且对控制精度的要求较高,国内外采用这种结构的并不多。当前,采用有级式自动变速的并联式混合动力结构应用较为广泛,有级式自动变速通常包括电控机械式和双离合器式自动变速器,该结构中发动机输出动力可直接驱动车轮、减少了机械能与电能相互转换的次数,提高了动力系统的效率。截止现在,对装备有级式自动变速的并联式混合动力汽车的控制研究较多,具体包括发动机电子油门、电机输出转矩和变速器挡位的控制,采用的方法主要包括基于速度的控制策略、模糊控制方法、自适应神经模糊推理系统、转矩管理策略和协调控制算法等,以上控制方法未能使发动机沿着最佳效率曲线行驶;专利(申请号:200810097623X)通过对发动机电子节气门开度和变速器挡位的调节,可使发动机沿着最佳燃油经济性曲线运行,但该控制方法没有优化电动机的工作效率,尽管发动机的运行效率较高,但在某些混合驱动工况下电动机的负荷率可能非常低、降低了整个动力系统的工作效率,未能实现动力系统的综合优化控制。
【发明内容】
为了解决以上问题,本发明提供了一种并联式结构PHEV的最优集成控制方法,该PHEV采用五挡自动变速器、发动机和电机动力在变速器前耦合,该方法主要应用于加速踏板开度大于零的工况、此时车辆驱动转矩大于零。由于再生制动涉及安全性因素较多、该方法不包括再生制动工况时的控制过程。该方法根据车速、车辆驱动的需求转矩及蓄电池荷电状态值(State of Charge,简称SOC)的变化,通过合理调整发动机的输出转矩、电机输出转矩和变速器挡位,使发动机沿着最佳经济性曲线运行、电机具有较高的负荷率,同时优化发动机和电机效率,实现动力系统的综合最优控制。在动力转矩分配过程中,该控制方法优先使用发动机和电动机混合驱动的工况,既优化了发动机和电动机的工作效率,又提高了车辆的续驶里程。
该方法的步骤是:
1)确定输入参数和输出参数的种类,以及控制状态参数的设计方法;
2)根据任一采样时刻的输入参数和控制状态参数,设计各输出参数的具体控制方法。
所述的输入参数和输出参数的种类,以及控制状态参数的设计程序如下所示:
输入参数包括车速v、车辆驱动的需求转矩t_r及蓄电池SOC;输出参数包括发动机输出转矩、电机输出转矩和变速器挡位。在输出参数中,可根据发动机最佳燃油曲线中转矩与油门的对应关系,计算出发动机电子油门开度;根据电机的输出转矩和转速,计算出电机的输出功率。
控制状态参数是根据任一采样时刻车速的大小,插值确定出该车速时的t1,t2,t3,t4,t5,p_1,p_2,p_3,p_4,p_5,t_we1,t_we2,t_we3,t_we4,t_we5,t_wm1,t_wm2,t_wm3,t_wm4,t_wm5,pm1,pm2,pm3,pm4,pm5;除了以上参数以外,控制状态参数还包括任一采样时刻的驱动需求功率p_r,p_r等于t_r与车轮转速的乘积。t1,t2,t3,t4,t5分别表示变速器处于一、二、三、四、五挡,当发动机运行于最佳燃油经济性曲线时、发动机传递至车轮处的转矩数值;p_1,p_2,p_3,p_4,p_5分别表示变速器处于一、二、三、四、五挡,发动机运行于最佳燃油经济性曲线时、发动机传递至车轮处的功率数值;t_we1,t_we2,t_we3,t_we4,t_we5分别表示变速器处于一、二、三、四、五挡,发动机运行于外特性曲线时、发动机传递至车轮处的转矩数值;t_wm1,t_wm2,t_wm3,t_wm4,t_wm5分别表示变速器处于一、二、三、四、五挡,电机沿额定转矩曲线运行时、电机传递至车轮处的转矩数值;pm1,pm2,pm3,pm4,pm5分别表示变速器处于一、二、三、四、五挡,电机沿额定功率曲线运行时、电机传递至车轮处的功率数值。
t1,t2,t3,t4,t5设计程序如下所示:
1)i=1;
2)j=1;
3)n=ne(j);
4)根据发动机最佳燃油经济性曲线中转矩随转速的变化关系,插值得到实时转速n时的转矩te;
5)v(i,j)=0.377×n×r/ig(i),te1(i,j)=te×ig(i);
6)j=j+1,n=ne(j);
7)判断n≤nmax;是,返回第3)步;
8)否,i=i+1;
9)判断i≤imax;是,返回第2)步;
10)否,vv1(i,j)=[zeros(5,1),v(:,1),v,v(:,((nmax-ne(1))/jg+1)),vmax×ones(5,1)];tte1(i,j)=[zeros(5,2),te1,zeros(5,2)];数组vv1和tte1比数组v和te1多了四列;
11)根据vv1的第一行数据和tte1的第一行数据,插值确定出实时车速时的t1;根据vv1的第二行数据和tte1的第二行数据,插值确定出实时车速时的t2;同理,根据vv1和tte1的第三、四、五行数据,可确定出t3,t4,t5。具体地插值方法根据所使用软件而定,例如在MATLAB/Simulink中可使用look-up数表获得。
其中,n表示发动机转速;ne表示发动机在城市工况运行时的转速数组,从1000r/min到4000r/min、以jg为间隔,通常jg=10r/min;ne(j)表示转速数组ne第j个数值;ig表示变速器速比数组,为1~5挡数比的大小、包含了与主减速比的乘积;v表示车速数组,行数等于变速器挡位数,列数等于数组ne的个数,第一~五行表示变速器置于1~5挡、根据ne中的数据得到的对应车速;v(i,j)表示数组v第i行、第j列的数值;te1数组表示不同挡位下,发动机沿最佳燃油经济性曲线运行时传递至车轮处转矩的数值,行数等于变速器挡位数、列数等于数组ne的个数,第一~五行表示变速器置于1~5挡、转速为ne各数值时发动机传递至车轮处的转矩;te1(i,j)表示数组te1第i行、第j列的数值;r表示车轮半径;nmax表示发动机在城市工况运行时的最高转速,一般为4000r/min;imax表示变速器挡位个数,等于5;vv1表示车速数组;tte1表示转矩数组。第10步中,zeros(5,1)、zeros(5,2)和ones(5,1)分别表示5行1列的0矩阵、5行2列的0矩阵和5行1列的1矩阵,v(:,1)和v(:,((nmax-ne(1))/jg+1))分别表示由数组v的第一列和最后一列组成的5行1列的新数组,vmax表示最高车速,中高级轿车一般为200km/h。×、/、+、=、≤分别表示乘以、除以、加、等于、小于等于。
p_1,p_2,p_3,p_4,p_5的设计程序如下所示:
1)i=1;
2)j=1;
3)n=ne(j);
4)根据发动机最佳燃油经济性曲线中功率随转速的变化关系,插值得到转速n时的功率pe;
5)v(i,j)=0.377×n×r/ig(i),pe1(i,j)=pe;
6)j=j+1,n=ne(j);
7)判断n≤nmax;是,返回第3)步;
8)否,i=i+1;
9)判断i≤imax;是,返回第2)步;
10)否,vv2(i,j)=[zeros(5,1),v(:,1),v,v(:,((nmax-ne(1))/jg+1)),vmax×ones(5,1)];ppe1(i,j)=[zeros(5,2),pe1,zeros(5,2)];数组vv2和ppe1比数组v和pe1多了四列;
11)根据vv2的第一行数据和ppe1的第一行数据,插值确定出实时车速时的p_1;根据vv2的第二行数据和ppe1的第二行数据,插值确定出实时车速时的p_2;同理,可确定出p_3,p_4,p_5。
其中,pe1数组表示不同挡位下,发动机沿最佳燃油经济性曲线运行时传递至车轮处功率的数值,行数等于变速器挡位数,列数等于数组ne的个数,第一~五行表示变速器置于1~5挡、转速为ne各数值时发动机传递至车轮处的功率;vv2表示车速数组;ppe1表示功率数组;其它参数定义与t1,t2,t3,t4,t5设计程序中的定义相同。
t_we1,t_we2,t_we3,t_we4,t_we5的设计程序如下所示:
1)i=1;
2)j=1;
3)n=ne(j);
4)根据发动机外特性曲线转矩随转速的变化关系,插值得到转速n时的转矩tw;
5)v(i,j)=0.377×n×r/ig(i),t(i,j)=tw×ig(i);
6)j=j+1,n=ne(j);
7)判断n≤nmax;是,返回第3)步;
8)否,i=i+1;
9)判断i≤imax;是,返回第2)步;
10)否,vv3(i,j)=[zeros(5,1),v(:,1),v,v(:,((nmax-ne(1))/jg+1)),vmax×ones(5,1)];tt(i,j)=[zeros(5,2),t,zeros(5,2)];数组vv3和tt比数组v和t多了四列;
11)根据vv3的第一行数据和tt的第一行数据,插值确定出实时车速时的t_we1;根据vv3的第二行数据和tt的第二行数据,插值确定出实时车速时的t_we2;同理,可确定出t_we3,t_we4,t_we5。
其中,t数组表示不同挡位下,发动机沿外特性曲线工作时传递至车轮处转矩的数值,行数等于变速器挡位数,列数等于数组ne的个数,第一~五行表示变速器置于1~5挡、转速为ne各数值时发动机传递至车轮处的转矩;vv3表示车速数组;tt表示转矩数组;其它参数定义与t1,t2,t3,t4,t5设计程序中的定义相同。
pm1,pm2,pm3,pm4,pm5的设计程序如下所示:
1)i=1;
2)j=1;
3)n1=nm(j);
4)根据电动机的额定功率曲线,插值得到转速n1时的功率pm;
5)v(i,j)=0.377×n1×r/ig(i);p(i,j)=pm;
6)j=j+1;n1=nm(j);
7)判断n1≤nmmax;是,返回第3)步;
8)否,i=i+1;
9)判断i≤imax;是,返回第2)步;
10)否,vv4(i,j)=[zeros(5,1),v(:,1),v,v(:,((nmmax-nm(1))/jg+1)),vmax×ones(5,1)];pp(i,j)=[zeros(5,2),p,zeros(5,2)];数组vv和pp比数组v和p多了四列;
11)根据vv4的第一行数据和pp的第一行数据,插值确定出实时车速时的pm1;根据vv4的第二行数据和pp的第二行数据,插值确定出实时车速时的pm2;同理,可确定出pm3,pm4,pm5。
其中,n1表示电动机转速;nm表示电机在城市工况运行时的转速数组,从1000r/min到4000r/min、以jg为间隔,通常jg=10r/min;v表示车速数组,行数等于变速器挡位数,列数等于数组nm的个数,第一~五行表示变速器置于1~5挡、根据nm中的数据得到的对应车速;p数组表示不同挡位时电动机传递至车轮处功率的数值,行数等于变速器挡位数,列数等于数组nm的个数,第一~五行表示变速器置于1~5挡、转速为nm各数值时电机传递至车轮处的转矩;nmmax表示电机在城市工况运行时的最高转速,一般为4000r/min;vv4表示车速数组;pp表示功率数组;其它参数定义与t1,t2,t3,t4,t5设计程序中的定义相同。
t_wm1,t_wm2,t_wm3,t_wm4,t_wm5的设计程序如下所示:
1)i=1;
2)j=1;
3)n1=nm(j);
4)根据电动机额定转矩曲线,插值得到转速n1时的转矩tm;
5)v(i,j)=0.377×n1×r/ig(i);tmm(i,j)=tm×ig(i);
6)j=j+1;n1=nm(j);
7)判断n1≤nmmax;是,返回第3)步;
8)否,i=i+1;
9)判断i≤imax;是,返回第2)步;
10)否,vv5(i,j)=[zeros(5,1),v(:,1),v,v(:,((nmmax-nm(1))/jg+1)),vmax×ones(5,1)];ttmm(i,j)=[zeros(5,2),tmm,zeros(5,2)];数组vv5和ttmm比数组v和tmm多了四列;
11)根据vv5的第一行数据和ttmm的第一行数据,插值确定出实时车速时的t_wm1;根据vv5的第二行数据和ttmm的第二行数据,插值确定出实时车速时的t_wm2;同理,可确定出t_wm3,t_wm4,t_wm5。
其中,ttmm数组表示不同挡位下,电动机沿额定转矩曲线工作时传递至车轮处转矩的数值,行数等于变速器挡位数,列数等于数组nm的个数,第一~五行表示变速器置于1~5挡、转速为nm各数值时电机传递至车轮处的转矩;vv5表示车速数组;ttmm表示转矩数组。其它参数定义与t1,t2,t3,t4,t5设计程序和pm1,pm2,pm3,pm4,pm5设计程序中的定义相同。
所述的各输出参数的具体控制方法如下所示:
1)条件1成立?是,调用子函数3;
2)否,条件2成立?是,调用子函数8;
3)否,条件3成立?是,调用子函数16;
4)否,条件4成立?是,调用子函数27;
5)否,条件5成立?是,调用子函数41;
6)否,条件6成立?是,调用子函数55;
7)否,条件7成立?是,调用子函数66;
8)否,条件8成立?是,调用子函数77;
9)否,条件9成立?是,调用子函数85;
10)否,条件10成立?是,调用子函数90;
11)否,结束。
条件1表示t1=0且t2=0且t3=0且t4=0且t5=0;条件2表示t1>0且t2=0且t3=0且t4=0且t5=0;条件3表示t1>0且t2>0且t3=0且t4=0且t5=0;条件4表示t1>0且t2>0且t3>0且t4=0且t5=0;条件5表示t1>0且t2>0且t3>0且t4>0且t5=0;条件6表示t1=0且t2>0且t3>0且t4>0且t5>0;条件7表示t1=0且t2=0且t3>0且t4>0且t5>0;条件8表示t1=0且t2>0且t3>0且t4>0且t5=0;条件9表示t1=0且t2=0且t3=0且t4>0且t5>0;条件10表示t1=0且t2=0且t3=0且t4=0且t5>0。由于汽油发动机的较佳的工作范围在1000~4000r/min之间,按照当前常见的变速器速比,条件1到条件10的10种组合方式是t1,t2,t3,t4,t5常见的组合方式;如果采用的是柴油发动机,由于其转最高转速较小,t1,t2,t3,t4,t5的组合方式与上面不同,但基本控制思想是相同的。
各函数的表述如下:
子函数1:
1)t_wm5≥t_r?是,g=5,t_m=t_r,t_e=0;
2)否,t_wm4≥t_r?是,g=4,t_m=t_r,t_e=0;
3)否,t_wm3≥t_r?是,g=3,t_m=t_r,t_e=0;
4)否,t_wm2≥t_r?是,g=2,t_m=t_r,t_e=0;
5)否,g=1,t_m=t_r,t_e=0。
子函数2:
1)t_we5≥t_r?是,g=5,t_m=0,t_e=t_r;
2)否,t_we4≥t_r?是,g=4,t_m=0,t_e=t_r;
3)否,t_we3≥t_r?是,g=3,t-m=0,t_e=t_r;
4)否,t_we2≥t_r?是,g=2,t_m=0,t_e=t_r;
5)否,g=1,t_m=0,t_e=t_r。
子函数3:
1)SOC≥C?是,调用子函数1;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?是,调用子函数1;4)否,调用子函数2。
子函数4:
1)(p_r-p_1)≥pm1×bfb?是,g=1,t_m=(t_r-t1),t_e=t1;
2)否,pm1≥p_r?是,调用子函数1;3)否,调用子函数2。
子函数5:
1)SOC≥C?是,调用子函数4;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数4。
子函数6:
1)(p_1-p_r)≥pm1×bfb?是,g=1,t_m=(t_r-t1),t_e=t1;
2)否,调用子函数2;
子函数7:
1)SOC≥A?否,调用子函数6;2)是,dsoc≤0?否,调用子函数6;
3)是,调用子函数1。
子函数8:
1)t_r≥t1?是,调用子函数5;2)否,SOC≥C?否,调用子函数7;
3)是,调用子函数1。
子函数9:
1)(p_r-p_2)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
2)是,(p_r-p_1)≥pm1×bfb?是,g=1,t_m=(t_r-t1),t_e=t1;
3)否,pm1≥p_r?是,调用子函数1;
4)否,调用子函数2。
子函数10:
1)SOC≥C?是,调用子函数9;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数9。
子函数11:
1)(p_1-p_r)≥pm1?否,g=1,t_m=(t_r-t1),t_e=t1;
2)是,(p_2-p_r)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
3)否,调用子函数2。
子函数12:
1)SOC≥C?是,调用子函数1;2)否,SOC≥A?否,调用子函数11;
3)是,dsoc≤0?否,调用子函数11;4)是,调用子函数1。
子函数13:
1)(p_r-p_2)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
2)否,pm1≥p_r?是,调用子函数1;3)否,调用子函数2。
子函数14:
1)(p_1-p_r)≥pm1×bfb?是,g=1,t_m=(t_r-t1),t_e=t1;
2)否,调用子函数2。
子函数15:
1)SOC≥C?是,调用子函数13;2)否,SOC≥A?否,调用子函数14;
3)是,dsoc≤0?否,调用子函数14;4)是,调用子函数13。
子函数16:
1)t_r≥t1?是,调用子函数10;2)否,t_r<t2?是,调用子函数12;
3)否,调用子函数15。
子函数17:
1)(p_r-p_3)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
2)是,(p_r-p 2)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
3)是,(p_r-p_1)≥pm1×bfb?是,g=1,t_m=(t_r-t1),t_e=t1;
4)否,pm1≥p_r?是,调用子函数1;5)否,调用子函数2。
子函数18:
1)SOC≥C?是,调用子函数17;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数17。
子函数19:
1)(p_r-p_3)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
2)是,(p_r-p_2)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
3)否,pm1≥p_r?是,调用子函数1;4)否,调用子函数2。
子函数20:
1)(p_1-p_r)≥pm1×bfb?是,g=1,t_m=(t_r-t1),t_e=t1;
2)否,调用子函数2。
子函数21:
1)SOC≥C?是,调用子函数19;2)否,SOC≥A?否,调用子函数20;
3)是,dsoc≤0?否,调用子函数20;4)是,调用子函数19。
子函数22:
1)(p_r-p_3)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
2)否,p_m1≥p_r?是,调用子函数1;3)否,调用子函数2。
子函数23:
1)(p_1-p_r)≥pm1?否,g=1,t_m=(t_r-t1),t_e=t1;
2)是,(p_2-p_r)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
3)否,调用子函数2。
子函数24:
1)SOC≥C?是,调用子函数22;2)否,SOC≥A?否,调用子函数23;
3)是,dsoc≤0?否,调用子函数23;4)是,调用子函数22。
子函数25:
1)(p_1-p_r)≥pm1?否,g=1,t_m=(t_r-t1),t_e=t1;
2)是,(p_2-p_r)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
3)是,(p_3-p_r)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
4)否,调用子函数2。
子函数26:
1)SOC≥C?是,调用子函数1;2)否,SOC≥A?否,调用子函数25;
3)是,dsoc≤0?否,调用子函数25;4)是,调用子函数1。
子函数27:
1)t_r≥t1?是,调用子函数18;2)否,t_r≥t2?是,调用子函数21;
3)否,t_r≥t3?是,调用子函数24;4)否,调用子函数26。
子函数28:
1)(p_r-p_4)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
2)是,(p_r-p_3)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
3)是,(p_r-p_2)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
4)是,(p_r-p_1)≥pm1×bfb?是,g=1,t_m=(t_r-t1),t_e=t1;
5)否,pm1≥p_r?是,调用子函数1;6)否,调用子函数2。
子函数29:
1)SOC≥C?是,调用子函数28;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数28。
子函数30:
1)(p_r-p_4)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
2)是,(p_r-p_3)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
3)是,(p_r-p_2)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
4)否,pm1≥p_r?是,调用子函数1;5)否,调用子函数2。
子函数31:
1)(p_1-p_r)≥pm1×bfb?是,g=1,t_m=(t_r-t1),t_e=t1;
2)否,调用子函数2。
子函数32:
1)SOC≥C?是,调用子函数30;2)否,SOC≥A?否,调用子函数31;
3)是,dsoc≤0?否,调用子函数31;4)是,调用子函数30。
子函数33:
1)(p_r-p_4)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
2)是,(p_r-p_3)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
3)否,pm1≥p_r?是,调用子函数1;4)否,调用子函数2。
子函数34:
1)(p_1-p_r)≥pm1?否,g=1,t_m=(t_r-t1),t_e=t1;
2)是,(p_2-p_r)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
3)否,调用子函数2。
子函数35:
1)SOC≥C?是,调用子函数33;2)否,SOC≥A?否,调用子函数34;
3)是,dsoc≤0?否,调用子函数34;4)是,调用子函数33。
子函数36:
1)(p_r-p_4)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
2)否,pm1≥p_r?是,调用子函数1;3)否,调用子函数2。
子函数37:
1)(p_1-p_r)≥pm1?否,g=1,t_m=(t_r-t1),t_e=t1;
2)是,(p_2-p_r)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
3)是,(p_3-p_r)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
4)否,调用子函数2。
子函数38:
1)SOC≥C?是,调用子函数36;2)否,SOC≥A?否,调用子函数37;
3)是,dsoc≤0?否,调用子函数37;4)是,调用子函数36。
子函数39:
1)(p_1-p_r)≥pm1?否,g=1,t_m=(t_r-t1),t_e=t1;
2)是,(p_2-p_r)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
3)是,(p_3-p_r)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
4)是,(p_4-p_r)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
5)否,调用子函数2。
子函数40:
1)SOC≥C?是,调用子函数1;2)否,SOC≥A?否,调用子函数39;
3)是,dsoc≤0?否,调用子函数39;4)是,调用子函数1。
子函数41:
1)t_r≥t1?是,调用子函数29;2)否,t_r≥t2?是,调用子函数32;
3)否,t_r≥t3?是,调用子函数35;4)否,t_r≥t4?是,调用子函数38;
5)否,调用子函数40。
子函数42:
1)(p_r-p_5)≥pm5?否,g=5,t_m=(t_r-t5),t_e=t5;
2)是,(p_r-p_4)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
3)是,(p_r-p_3)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
4)是,(p_r-p_2)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
5)否,pm2≥p_r?是,调用子函数1;6)否,调用子函数2。
子函数43:
1)SOC≥C?是,调用子函数42;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数42。
子函数44:
1)(p_r-p_5)≥pm5?否,g=5,t_m=(t_r-t5),t_e=t5;
2)是,(p_r-p_4)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
3)是,(p_r-p_3)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
4)否,pm2≥p_r?是,调用子函数1;5)否,调用子函数2。
子函数45:
1)(p_2-p_r)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
2)否,调用子函数2。
子函数46:
1)SOC≥C?是,调用子函数44;2)否,SOC≥A?否,调用子函数45;
3)是,dsoc≤0?否,调用子函数45;4)是,调用子函数44。
子函数47:
1)(p_r-p_5)≥pm5?否,g=5,t_m=(t_r-t5),t_e=t5;
2)是,(p_r-p_4)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
3)否,pm2≥p_r?是,调用子函数1;4)否,调用子函数2。
子函数48:
1)(p_2-p_r)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
2)是,(p_3-p_r)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
3)否,调用子函数2。
子函数49:
1)SOC≥C?是,调用子函数47;2)否,SOC≥A?否,调用子函数48;
3)是,dsoc≤0?否,调用子函数48;4)是,调用子函数47。
子函数50:
1)(p_r-p_5)≥pm5×bfb?是,g=5,t_m=(t_r-t5),t_e=t5;
2)否,pm2≥p_r?是,调用子函数1;3)否,调用子函数2。
子函数51:
1)(p_2-p_r)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
2)是,(p_3-p_r)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
3)是,(p_4-p_r)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
4)否,调用子函数2。
子函数52:
1)SOC≥C?是,调用子函数50;2)否,SOC≥A?否,调用子函数51;
3)是,dsoc≤0?否,调用子函数51;4)是,调用子函数50;
子函数53:
1)(p_2-p_r)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
2)是,(p_3-p_r)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
3)是,(p_4-p_r)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
4)是,(p_5-p_r)≥pm5×bfb?是,g=5,t_m=(t_r-t5),t_e=t5;
5)否,调用子函数2;
子函数54:
1)SOC≥C?是,调用子函数1;2)否,SOC≥A?否,调用子函数53;
3)是,dsoc≤0?否,调用子函数53;4)是,调用子函数1。
子函数55:
1)t_r≥t2?是,调用子函数43;2)否,t_r≥t3?是,调用子函数46;
3)否,t_r≥t4?是,调用子函数49;4)否,t_r≥t5?是,调用子函数52;
5)否,调用子函数54。
子函数56:
1)(p_r-p_5)≥pm5?否,g=5,t_m=(t_r-t5),t_e=t5;
2)是,(p_r-p_4)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
3)是,(p_r-p_3)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
4)否,pm3≥p_r?是,调用子函数1;5)否,调用子函数2。
子函数57:
1)SOC≥C?是,调用子函数56;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数56。
子函数58:
1)(p_r-p_5)≥pm5?否,g=5,t_m=(t_r-t5),t_e=t5;
2)是,(p_r-p_4)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
3)否,pm3≥p_r?是,调用子函数1;4)否,调用子函数2。
子函数59:
1)(p_3-p_r)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
2)否,调用子函数2。
子函数60:
1)SOC≥C?是,调用子函数58;2)否,SOC≥A?否,调用子函数59;
3)是,dsoc≤0?否,调用子函数59;4)是,调用子函数58;
子函数61:
1)(p_r-p_5)≥pm5×bfb?是,g=5,t_m=(t_r-t5),t_e=t5;
2)否,pm3≥p_r?是,调用子函数1;3)否,调用子函数2;
子函数62:
1)(p_3-p_r)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
2)是,(p_4-p_r)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
3)否,调用子函数2。
子函数63:
1)SOC≥C?是,调用子函数61;2)否,SOC≥A?否,调用子函数62;
3)是,dsoc≤0?否,调用子函数62;4)是,调用子函数61。
子函数64:
1)(p_3-p_r)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
2)是,(p_4-p_r)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
3)是,(p_5-p_r)≥pm5×bfb?是,g=5,t_m=(t_r-t5),t_e=t5;
4)否,调用子函数2。
子函数65:
1)SOC≥C?是,调用子函数1;2)否,SOC≥A?否,调用子函数64;
3)是,dsoc≤0?否,调用子函数64;4)是,调用子函数1。
子函数66:
1)t_r≥t3?是,调用子函数57;2)否,t_r≥t4?是,调用子函数60;
3)否,t_r≥t5?是,调用子函数63;4)否,调用子函数65。
子函数67:
1)(p_r-p_4)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
2)是,(p_r-p_3)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
3)是,(p_r-p_2)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
4)否,pm2≥p_r?是,调用子函数1;5)否,调用子函数2。
子函数68:
1)SOC≥C?是,调用子函数67;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数67。
子函数69:
1)(p_r-p_4)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
2)是,(p_r-p_3)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
3)否,p_m2≥p_r?是,调用子函数1;4)否,调用子函数2。
子函数70:
1)(p_2-p_r)≥pm2×bfb?是,g=2,t_m=(t_r-t2),t_e=t2;
2)否,调用子函数2。
子函数71:
1)SOC≥C?是,调用子函数69;2)否,SOC≥A?否,调用子函数70;
3)是,dsoc≤0?否,调用子函数70;4)是,调用子函数69。
子函数72:
1)(p_r-p_4)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
3)否,pm2≥p_r?是,调用子函数1;4)否,调用子函数2。
子函数73:
1)(p_2-p_r)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
2)是,(p_3-p_r)≥pm3×bfb?是,g=3,t_m=(t_r-t3),t_e=t3;
3)否,调用子函数2。
子函数74:
1)SOC≥C?是,调用子函数72;2)否,SOC≥A?否,调用子函数73;
3)是,dsoc≤0?否,调用子函数73;4)是,调用子函数72。
子函数75:
1)(p_2-p_r)≥pm2?否,g=2,t_m=(t_r-t2),t_e=t2;
2)是,(p_3-p_r)≥pm3?否,g=3,t_m=(t_r-t3),t_e=t3;
3)是,(p_4-p_r)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
4)否,调用子函数2。
子函数76:
1)SOC≥C?是,调用子函数1;2)否,SOC≥A?否,调用子函数75;
3)是,dsoc≤0?否,调用子函数75;4)是,调用子函数1。
子函数77:
1)t_r≥t2?是,调用子函数68;2)否,t_r≥t3?是,调用子函数71;
3)否,t_r≥t4?是,调用子函数74;4)否,调用子函数76。
子函数78:
1)(p_r-p_5)≥pm5?否,g=5,t_m=(t_r-t5),t_e=t5;
2)是,(p_r-p_4)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
3)否,pm4≥p_r?是,调用子函数1;4)否,调用子函数2。
子函数79:
1)SOC≥C?是,调用子函数78;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数78。
子函数80:
1)(p_4-p_r)≥pm4?否,g=4,t_m=(t_r-t4),t_e=t4;
2)是,(p_5-p_r)≥pm5×bfb?是,g=5,t_m=(t_r-t5),t_e=t5;
3)否,调用子函数2。
子函数81:
1)SOC≥C?是,调用子函数1;2)否,SOC≥A?否,调用子函数80;
3)是,dsoc≤0?否,调用子函数80;4)是,调用子函数1。
子函数82:
1)(p_r-p_5)≥pm5×bfb?是,g=5,t_m=(t_r-t5),t_e=t5;
2)否,pm4≥p_r?是,调用子函数1;3)否,调用子函数2。
子函数83:
1)(p_4-p_r)≥pm4×bfb?是,g=4,t_m=(t_r-t4),t_e=t4;
2)否,调用子函数2。
子函数84:
1)SOC≥C?是,调用子函数82;2)否,SOC≥A?否,调用子函数83;
3)是,dsoc≤0?否,调用子函数83;4)是,调用子函数82。
子函数85:
1)t_r≥t4?是,调用子函数79;2)否,t_r<t5?是,调用子函数81;
3)否,调用子函数84。
子函数86:
1)(p_r-p_5)≥pm5×bfb?是,g=5,t_m=(t_r-t5),t_e=t5;
2)否,pm5≥p_r?是,调用子函数1;3)否,调用子函数2。
子函数87:
1)SOC≥C?是,调用子函数86;2)否,SOC≥A?否,调用子函数2;
3)是,dsoc≤0?否,调用子函数2;4)是,调用子函数86。
子函数88:
1)(p_5-p_r)≥pm5×bfb?是,g=5,t_m=(t_r-t5),t_e=t5;
2)否,调用子函数2。
子函数89:
1)SOC≥A?否,调用子函数88;2)是,dsoc≤0?否,调用子函数88;
3)是,调用子函数1。
子函数90:
1)t_r≥t5?是,调用子函数87;
2)否,SOC≥C?否,调用子函数89;
3)是,调用子函数1。
其中,t_r(p_r)表示某一采样时刻车轮处的驱动需求转矩(功率),p_r等于t_r与车轮转速的乘积;v表示某一采样时刻的车速;C表示能量维持阶段SOC的上限值;A表示能量维持阶段SOC的下限值;dsoc某一采样时刻SOC的变化率;g表示变速器挡位;t_m(t_e)表示某一采样时刻电机(发动机)的输出转矩,此数值表示电机(发动机)传递至变速器输出端的数值,实际的电机(发动机)输出转矩等于此数值与g数比的商;bfb表示规定的电机负荷率的最低值,永磁同步电机取值为20%,异步机的取值应在50%以上;≤或≤表示小于等于;≥或≥表示大于等于;=表示等于;<表示小于;>表示大于;其它参数见控制状态参数的定义。各子函数条件中均采用功率值进行判断,与采用转矩判断的实质是一样的,主要是考虑功率在表示电机负荷率时比较容易理解。
本发明的优越功效在于:可根据任一采样时刻的车速、车辆的驱动需求转矩及蓄电池SOC,实时地对发动机输出转矩、电机输出转矩和变速器挡位进行优化控制。该控制方法不仅使发动机沿最佳燃油经济性曲线工作,而且能使电机工作于较高效率区,实现了动力系统的综合集成优化控制。
【附图说明】
图1为t1,t2,t3,t4,t5的确定框图,图中各符号见发明内容中t1,t2,t3,t4,t5设计程序的说明。p_1,p_2,p_3,p_4,p_5;t_we1,t_we2,t_we3,t_we4,t_we5;t_wm1,t_wm2,t_wm3,t_wm4,t_wm5;pm1,pm2,pm3,pm4,pm5的确定框图与图1类似;限于篇幅、不再逐一列举。
图2为控制算法的主程序框图,各子函数的控制程序见发明内容中所述的各输出参数的具体控制方法。由于汽油发动机的较佳工作范围在1000~4000r/min之间,按照当前常见的变速器速比,条件1到条件10的10种组合方式是t1,t2,t3,t4,t5常见的组合方式;如果采用的是柴油发动机,由于其转最高转速较小,t1,t2,t3,t4,t5的组合方式与上面不同,但基本控制思想是相同的。
图3是条件1成立时的控制框图,即子函数3的具体控制方式。
图4~图6是条件5成立时的控制框图,即子函数41的具体控制方式。其余条件成立时的控制框图与此类似,限于篇幅、不再逐一列举。
图7、图8和图9为某一PHEV在能量消耗阶段的仿真结果。
图10为某一PHEV在能量维持阶段的仿真结果。
【具体实施方式】
根据某一PHEV车辆的控制过程,说明该控制方法的实施方式。
请参阅附图所示,对本发明作进一步的描述。
PHEV属于并联式结构,采用五挡自动变速器,发动机和电机动力在变速器前耦合。车辆的总质量m=1900kg,空气阻力系数CD=0.32,迎风面积A=2.28m2,车轮滚动半径r=0.31m,传动效率ηT=0.9,滚动阻力系数f=0.015;电机的额定功率为20kW,最大功率为57kW,额定转速和最高转速分别为2000和5500r/min;发动机最大输出功率为53kW;蓄电池的额定电压和额定容量分别为320V和50Ah;1至5挡的速比分别为4.044,2.178,1.488,1.038和0.703,主减速比为3.2;该电机负荷率的最低值bfb为20%;该蓄电池的A和C为0.295和0.3。
具体步骤为:
1)确定输入参数和输出参数的种类:
输入参数为实时车速v、车辆驱动的需求转矩t_r及蓄电池SOC;输出参数为发动机输出转矩、电机输出转矩和变速器挡位。本专利中不包含需求转矩t_r的算法,t_r的计算可参照文献(周磊,罗禹贡,杨殿阁,等.混联式混合动力车多能源动力控制系统的开发[J].机械工程学报,2007,43(4),125-131.)第二页中的计算方法求取。
2)根据任一采样时刻车速的大小,确定该采样时刻时的控制状态参数:
按照发明内容中所述的各控制状态参数的设计程序,根据发动机的最佳燃油经济性曲线、发动机外特性曲线、电机额定转矩和功率曲线,可确定出实时车速时对应的t1,t2,t3,t4,t5,p_1,p_2,p_3,p_4,p_5,t_we1,t_we2,t_we3,t_we4,t_we5,t_wm1,t_wm2,t_wm3,t_wm4,t_wm5,pm1,pm2,pm3,pm4,pm5,p_r。
3)根据图2所示的主程序控制框图,即可确定出实时的发动机输出转矩、电机输出转矩和变速器挡位:
图2中各子函数的控制程序见发明内容中所述的各输出参数的具体控制方法。该控制方法可根据任一采样时刻的实时车速v、车辆驱动的需求转矩t_r及蓄电池SOC,实现对发动机输出转矩、电机输出转矩和变速器挡位的控制。使发动机沿着最佳燃油经济性曲线运行、同时使电动机工作于高效区,实现整车的综合优化集成控制。
基于MATLAB/Simulink软件,按照图2的控制框图、搭建了仿真平台,对该PHEV的性能进行了仿真计算。
图7为PHEV在能量消耗阶段城市工况行驶时的仿真结果。为了易于表示,基于发动机最佳燃油曲线中转矩与油门的一一对应关系,根据发动机输出转矩,可计算出发动机电子油门的开度;根据电机输出转矩和转速,可计算出电机的输出功率。图7中由上至下的第一个图为循环工况的速度曲线,第二个图为电机输出功率的曲线,第三个图为发动机电子油门开度的变化曲线;第四个图为变速器挡位的变化曲线,在混合驱动工况中,通过挡位的自动调节,在保证发动机运行于最佳工况点的同时、优化电机的负荷率;在纯电动工况中,挡位大部分时间内均处于高挡运行,提高了电机的负荷率;第五个图为蓄电池SOC的变化曲线,除再生制动工况外、能量消耗阶段SOC持续下降;五个图的横坐标均表示时间。由于没有包括再生制动时的控制方法,规定在城市工况的制动过程中,如果车速大于15km/h、假设电池可回收制动能量的30%,车速小于15km/h不实施再生制动,第二个图中的电机功率曲线不包含再生制动时的信息。
图8为能量消耗阶段城市工况行驶时发动机的运行状况,其中“*”组成的粗实线表示发动机工作点,双曲线表示发动机的等功率曲线,近似圆形曲线表示等燃油消耗率曲线,由图可见整个工况中发动机沿最佳燃油经济性曲线工作、实现了发动机的最优控制。
图9为能量消耗阶段城市工况行驶时电机的运行工况,其中“*”或由“*”组成的粗实线表示电机工作点,标注有84%、86%、……、92%曲线表示电机效率曲线,混合驱动时电动机的工作效率均为84%以上,电动机单独驱动时部分区域的效率较低、但也大于50%,实现了电机运行于较高工作效率区域的控制目标。与专利(申请号:200810097623X)相比,该控制方法不仅使发动机沿最佳燃油经济性曲线工作,而且能使电机工作于较高工作效率区,实现了动力系统的综合集成优化控制。
图10为PHEV在能量维持阶段城市工况行驶时的仿真结果,各条曲线的含义同图7。由电机输出功率曲线可知,电动机部分时间内运行于发电机工况、输出功率为负,以使SOC曲线在0.295~0.3之间运行。整个工况内电机输出功率均位于-20~20kW之间,而且混合驱动时负荷率均大于20%、保证了电机的运行效率。在少量时间段内,存在着纯发动机驱动的工况,如果此时如果电机工作、它的负荷率小于20%,电机的效率很低,反而会降低整个系统的效率、得不偿失。