-
Notifications
You must be signed in to change notification settings - Fork 0
/
EV_Modeling.m
70 lines (60 loc) · 2.75 KB
/
EV_Modeling.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
%% Road Condition
theta=0; % Road Slope [deg]
%% Vehicle Parameters
% 차량제원
M_veh=1500; % 공차중량[kg]
g=9.81; % 중력가속도[m/s^2]
Lf=1.45; % 앞차축-질량중심 거리[m]
Lr=1.51; %뒷차축-질량중심 거리[m]
h=0.467; % 지면으로부터 질럄중심까지 높이[m]
r_tire=0.35; % 타이어 실용 반경[m]
G_final=8; % 전륜 종감속 기어비
% 주행저항 제원
rho=1.16; % 공기밀도[kg/m^3]
Cd=0.24; % 공기저항계수
Af=2.4; % 전면투영면적[m^2]
f_roll=0.015; % 타이어 롤링저항
%% battery Parameter
Q_bat=28; % Battery Capacity[kWh]
R_int=0.2811; % 배터리 내부 저항[Ohm]
SOC_min=0.2; % 최소 SOC
SOC_max=0.9; % 최대 SOC
SOC_init=0.9; % SOC 초기값
Vt_init=311; % Voltage 초기값
No_cell = 80; % 배터리 셀 수
VOC_SOC = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6 0.7, 0.8, 0.9, 1];
VOC_map = No_cell * [3.19, 3.40, 3.47, 3.59, 3.62, 3.65, 3.69, 3.74, 3.82, 3.89, 3.96];
%% Motor/Generator Parameters
tau_m=0.015; % 모터 시상수[sec]
%회생 제동 제한
regen_limit_value = [0 0 1 1];
regen_limit_kph = [0 5 10 20];
% 모터 최대토크 및 효율 맵
Tm_max_spd = [0 300 419 524 628 733 838 943 1047 1152 1257 1361 1461 1561]*30/pi;
Tm_max_trq = [203 203 193 156 129 111 98 85 79 72 65 60 0 0];
Pm_max = (Tm_max_spd*pi/30).*Tm_max_trq;
eff_spd = [0 105 209 314 419 524 628 733 838 943 1047 1152 1257 1361]*30/pi;
eff_trq = [0.0 13.6 27.1 40.7 54.2 67.8 81.4 94.9 108.5 122.0 135.6 149.2 162.7 176.3 189.8 203.4];
eff_map = [81.3 81.3 82.2 82 81.5 81.2 80.4 79.3 80.1 76.8 74.3 73.5 72 71.6 70 71.1
81.3 81.3 82.2 82 81.5 81.2 80.4 79.3 80.1 76.8 74.3 73.5 72 71.6 70 71.1
87.1 87.1 88.3 87.8 87.9 87.9 87.8 87.2 88 85.7 84.9 85.8 83.2 82.4 81.5 82.2
89.3 89.3 90.6 90.3 90.5 90.8 90.6 90.3 91 89.3 88.7 88.2 87.4 86.8 86 85.7
90.5 90.5 92 91.9 92.3 92.5 92.4 92.1 92.5 91.3 89.7 89.3 88.8 88.3 87.8 85.7
91.4 91.4 93 90.6 91.6 91.9 91.9 91.6 91.2 90.6 90 89.2 88.2 88.3 87.8 85.7
92.2 92.2 92.1 92.6 92.7 92.4 91.8 91 91.1 89 87.9 89.2 88.2 88.3 87.8 85.7
94 94 95.7 95.1 94.2 93 91.7 89.9 88.4 89 87.9 89.2 88.2 88.3 87.8 85.7
93.7 93.7 95.6 94.6 93.2 91.5 89.4 87.2 88.4 89 87.9 89.2 88.2 88.3 87.8 85.7
94.5 94.5 95.3 93.8 91.9 89.2 86.4 87.2 88.4 89 87.9 89.2 88.2 88.3 87.8 85.7
94.1 94.1 94.8 92.8 89 86.5 86.4 87.2 88.4 89 87.9 89.2 88.2 88.3 87.8 85.7
94 94 94.2 91.5 87.7 86.5 86.4 87.2 88.4 89 87.9 89.2 88.2 88.3 87.8 85.7
93.9 93.9 83.4 88.8 83.5 86.5 86.4 87.2 88.4 89 87.9 89.2 88.2 88.3 87.8 85.7
93.8 93.8 92.4 87.3 83.5 86.5 86.4 87.2 88.4 89 87.9 89.2 88.2 88.3 87.8 85.7];
%% Motor Efficiency Map
[spd,trq]=meshgrid(eff_spd,eff_trq);
levels=80:1:100;
contour(spd',trq',eff_map,levels,'showtext','on')
hold
plot(Tm_max_spd,Tm_max_trq)
title('Motor Efficiency')
xlabel('Motor Speed[rpm]')
ylabel('Motor Torque[Nm]')