#定义电池参数 from types import CellType import sys class BatParam: def __init__(self,celltype): # if 'PK500' in sn: # self.celltype=1 #6040三元电芯 # elif 'PK502' in sn: # self.celltype=2 #4840三元电芯 # elif 'PK504' in sn: # self.celltype=99 #60ah林磷酸铁锂电芯 # elif 'MGMLXN750' in sn: # self.celltype=3 #力信50ah三元电芯 # elif 'MGMCLN750' in sn: # self.celltype=4 #CATL 50ah三元电芯 # else: # print('未找到对应电池编号!!!') # sys.exit() if celltype==1: #6040 self.Capacity = 41 self.PackFullChrgVolt=69.99 self.CellFullChrgVolt=4.2 self.CellVoltNums=17 self.CellTempNums=4 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0, 3.5348, 8.3581, 13.181, 18.004, 22.827, 27.651, 32.474, 37.297, 42.120, 46.944, 51.767, 56.590, 61.413, 66.237, 71.060, 75.883, 80.707, 85.530, 90.353, 95.176, 100, 105] self.LookTab_OCV = [3.3159, 3.4384, 3.4774, 3.5156, 3.5478, 3.5748, 3.6058, 3.6238, 3.638, 3.6535, 3.6715, 3.6951, 3.7279, 3.7757, 3.8126, 3.8529, 3.8969, 3.9446, 3.9946, 4.0491, 4.109, 4.183, 4.263] elif celltype==2: #4840 self.Capacity = 41 self.PackFullChrgVolt=69.99 self.CellFullChrgVolt=4.2 self.CellVoltNums=14 self.CellTempNums=4 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0, 3.5348, 8.3581, 13.181, 18.004, 22.827, 27.651, 32.474, 37.297, 42.120, 46.944, 51.767, 56.590, 61.413, 66.237, 71.060, 75.883, 80.707, 85.530, 90.353, 95.176, 100, 105] self.LookTab_OCV = [3.3159, 3.4384, 3.4774, 3.5156, 3.5478, 3.5748, 3.6058, 3.6238, 3.638, 3.6535, 3.6715, 3.6951, 3.7279, 3.7757, 3.8126, 3.8529, 3.8969, 3.9446, 3.9946, 4.0491, 4.109, 4.183, 4.263] elif celltype==3: #力信50ah三元电芯 self.Capacity = 51 self.PackFullChrgVolt=80 self.CellFullChrgVolt=4.2 self.CellVoltNums=20 self.CellTempNums=4 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105] self.LookTab_OCV = [3.357, 3.455, 3.493, 3.540, 3.577, 3.605, 3.622, 3.638, 3.655, 3.677, 3.707, 3.757, 3.815, 3.866, 3.920, 3.976, 4.036, 4.099, 4.166, 4.237, 4.325, 4.415] elif celltype==4: #CATL 50ah三元电芯 self.Capacity = 50 self.PackFullChrgVolt=80 self.CellFullChrgVolt=4.2 self.CellVoltNums=20 self.CellTempNums=2 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=-1 self.BalCurrent=0.015 self.LookTab_SOC = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105] self.LookTab_OCV = [3.152, 3.397, 3.438, 3.481, 3.523, 3.560, 3.586, 3.604, 3.620, 3.638, 3.661, 3.693, 3.748, 3.803, 3.853, 3.903, 3.953, 4.006, 4.063, 4.121, 4.183, 4.253] elif celltype==99: #60ah磷酸铁锂电芯 self.Capacity = 54 self.PackFullChrgVolt=69.99 self.CellFullChrgVolt=3.5 self.OcvInflexionBelow=3.285 self.OcvInflexion2=3.296 self.OcvInflexion3=3.328 self.OcvInflexionAbove=3.4 self.CellVoltNums=20 self.CellTempNums=4 self.FullChrgSoc=98 self.PeakSoc=59 self.PeakVoltLowLmt=3.35 self.PeakVoltUpLmt=3.4 self.PeakCellVolt=[3.362,3.363,3.365,3.366,3.367] self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0.00, 2.40, 6.38, 10.37, 14.35, 18.33, 22.32, 26.30, 30.28, 35.26, 40.24, 45.22, 50.20, 54.19, 58.17, 60.16, 65.14, 70.12, 75.10, 80.08, 84.06, 88.05, 92.03, 96.02, 100.00] self.LookTab_OCV = [2.7151, 3.0298, 3.1935, 3.2009, 3.2167, 3.2393, 3.2561, 3.2703, 3.2843, 3.2871, 3.2874, 3.2868, 3.2896, 3.2917, 3.2967, 3.3128, 3.3283, 3.3286, 3.3287, 3.3288, 3.3289, 3.3296, 3.3302, 3.3314, 3.3429] elif celltype==100: #金茂 self.Capacity = 228*2 self.PackFullChrgVolt=3.65*192 self.CellFullChrgVolt=3.5 self.OcvInflexionBelow=3.285 self.OcvInflexion2=3.296 self.OcvInflexion3=3.328 self.OcvInflexionAbove=3.4 self.CellVoltNums=384 self.CellTempNums=64 self.FullChrgSoc=98 self.PeakSoc=59 self.PeakVoltLowLmt=3.35 self.PeakVoltUpLmt=3.4 self.PeakCellVolt=[3.362,3.363,3.365,3.366,3.367] self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0.00, 2.40, 6.38, 10.37, 14.35, 18.33, 22.32, 26.30, 30.28, 35.26, 40.24, 45.22, 50.20, 54.19, 58.17, 60.16, 65.14, 70.12, 75.10, 80.08, 84.06, 88.05, 92.03, 96.02, 100.00] self.LookTab_OCV = [2.7151, 3.0298, 3.1935, 3.2009, 3.2167, 3.2393, 3.2561, 3.2703, 3.2843, 3.2871, 3.2874, 3.2868, 3.2896, 3.2917, 3.2967, 3.3128, 3.3283, 3.3286, 3.3287, 3.3288, 3.3289, 3.3296, 3.3302, 3.3314, 3.3429] self.CellOvLv1=3.75 self.CellOvLv2=3.8 self.CellUvLv1=2.3 self.CellUvLv2=2.2 self.CellVoltDiffLv1=0.6 self.CellVoltDiffLv2=1 self.PackVoltOvLv1=self.CellOvLv1*self.CellVoltNums/2 self.PackVoltOvLv2=self.CellOvLv2*self.CellVoltNums/2 self.PackVoltUvLv1=self.CellUvLv1*self.CellVoltNums/2 self.PackVoltUvLv2=self.CellUvLv2*self.CellVoltNums/2 self.PackChgOc=-800 self.PackDisOc=800 elif celltype==101: #真芯好电_20ah磷酸铁锂电芯 self.Capacity = 20 self.PackFullChrgVolt=54 self.CellFullChrgVolt=3.65 self.OcvInflexionBelow=3.2849 self.OcvInflexion2=3.2998 self.OcvInflexion3=3.3268 self.OcvInflexionAbove=3.3333 self.CellVoltNums=15 self.CellTempNums=1 self.FullChrgSoc=100 self.PeakSoc=62.5 self.PeakVoltLowLmt=3.35 self.PeakVoltUpLmt=3.4 self.PeakCellVolt=[3.362,3.363,3.365,3.366,3.367] self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0.0, 2.5, 5.0, 7.5, 10.0, 12.5, 15.0, 17.5, 20.0, 22.5, 25.0, 27.5, 30.0, 32.5, 35.0, 37.5, 40.0, 42.5, 45.0, 47.5, 50.0, 52.5, 55.0, 57.5, 60.0, 62.5, 65.0, 67.5, 70.0, 72.5, 75.0, 77.5, 80.0, 82.5, 85.0, 87.5, 90.0, 92.5, 95.0, 97.5, 100.0] self.LookTab_OCV = [2.5220, 2.8283, 3.0608, 3.1690, 3.1981, 3.2012, 3.2071, 3.2229, 3.2341, 3.2452, 3.2533, 3.2607, 3.2691, 3.2775, 3.2849, 3.2859, 3.2859, 3.2862, 3.2865, 3.2871, 3.2874, 3.2886, 3.2896, 3.2908, 3.2933, 3.2998, 3.3181, 3.3249, 3.3258, 3.3262, 3.3268, 3.3268, 3.3274, 3.3277, 3.3280, 3.3286, 3.3289, 3.3299, 3.3305, 3.3333, 3.4406] else: print('未找到对应电池编号!!!') # sys.exit()