一種soc計算值的校驗方法及裝置的制造方法
【技術領域】
[0001]本發明涉及一種電池管理系統技術領域,特別是涉及一種SOC計算值的校驗方法及裝置。
【背景技術】
[0002]隨著人類社會的高速發展,環境污染和能源危機已經成為日益困擾人類生存的兩大難題。近年來,新能源汽車產業成為了世界汽車行業的重點發展領域,以電動汽車為代表的新能源汽車能夠降低油耗、減少廢氣排放,對于人類環境的可持續發展具有重要意義。
[0003]電池管理系統(BATTERY MANAGEMENT SYSTEM,簡稱為BMS),是連接車載動力電池和電動汽車的重要紐帶,其主要功能包括:電池物理參數實時監測、電池狀態估計、在線診斷與預警、充/放電與預充控制、均衡管理和熱管理等。電池管理系統的核心是對電池狀態的監控,其中以動力電池組的荷電狀態(State of Charge,簡稱為S0C)計算最為重要。一般計算SOC的方法有開路電壓法和安時積分法,其中開路電壓法需要將動力電池靜態擱置較長時間,使動力電池達到穩態,才能測算的比較準確,而安時積分法需要對動力電池充放電過程中的動態電流進行積分,其計算過程很容易因電流測量的精確度等問題引起積累誤差。
[0004]也就是說,現有的SOC計算方法都無法保證計算出來的SOC計算值是準確的,因此需要對SOC計算值進行校驗,判斷其是否在一個合理范圍內。但是,目前針對SOC計算值的診斷僅限于在默認由上述方法計算出的SOC計算值是準確的前提下,來進行該SOC計算值過高或過低的判斷,由此獲得動力電池是否處于過充或過放的狀態。也就是說,現有技術中還沒有針對SOC計算值是否準確的校驗方法。
【發明內容】
[0005]本發明所要解決的技術問題是現有的SOC計算方法所計算出的SOC計算值都不夠準確,而提供一種對SOC計算值準確度判斷、以獲得更準確SOC計算值的校驗方法及裝置。
[0006]為解決上述技術問題,本發明的技術方案如下:
[0007]一種SOC計算值的校驗方法,包括:
[0008]在車輛啟動時,獲取SOC初始化值A ;
[0009]根據所述SOC初始化值A、電池的動態誤差M和靜態誤差N,獲得車輛啟動時SOC計算值的上限SOCmaxl和下限SOC minl,并對車輛啟動時SOC計算值進行校驗;
[0010]在電池工作時,獲取電池充放電的SOC變化量ASOC1和電流傳感器電流最大允許偏差引起的SOC變化量Λ SOC2;
[0011]根據所述SOC初始化值Α、所述電池充放電的SOC變化量Δ SOCjP充放電允許的SOC變化量為L+ Δ SOC2,獲得充電狀態時SOC計算值的上限SOCmax2和下限SOC min2,以及放電狀態時SOC計算值的上限SOCmax3和下限SOC min3,對電池充電狀態和放電狀態時的SOC計算值分別進行實時校驗。
[0012]上述校驗方法中,所述根據所述SOC初始化值A、電池的動態誤差M和靜態誤差N,獲得車輛啟動時SOC計算值的上限SOCmaxl和下限SOCminl,并對車輛啟動時SOC計算值進行校驗,之前進一步包括:獲取電池的動態誤差M和靜態誤差N。
[0013]上述校驗方法中,所述獲取電池的動態誤差M和靜態誤差N包括:
[0014]根據電池擱置時間T查表獲得對應的SOC變化系數X,設擱置足夠時間SOC穩定對應的最大SOC變化量為Y,則擱置時間T對應的SOC動態誤差M = X*Y ;
[0015]根據電池實際狀態進行標定,獲得靜態誤差N。
[0016]上述校驗方法中,所述電池實際狀態包括電池溫度、老化程度。
[0017]上述校驗方法中,所述根據所述SOC初始化值Α、電池的動態誤差M和靜態誤差N,獲得車輛啟動時SOC計算值的上限SOCmaxl和下限SOCminl,并對車輛啟動時SOC計算值進行校驗,包括:
[0018](a)根據電池的動態誤差M和靜態誤差N,獲得SOC偏量L = M+N ;
[0019](b)根據所述SOC初始化值A和所述SOC偏量L,獲得車輛啟動時SOC計算值的上限 SOCmaxl= A+L,下限 SOCminl= A-L ;
[0020](c)判斷車輛啟動時的SOC計算值SOCx是否在[S0Cminl,SOCmaxl]范圍內,如果否,則SOCx不正確,執行步驟(d);如果是,則SOCx正確;
[0021](d)校正車輛啟動時的SOC計算值,校正后車輛啟動時的SOC計算值S0Cx’ =(S0Cmaxl+S0Cminl)/2。
[0022]上述校驗方法中,所述步驟(C)中若SOCx正確,則進一步將SOC計算值SOC x反饋到車輛儀表;所述步驟(d)進一步包括將校正后車輛啟動時的SOC計算值S0Cx’反饋到車輛儀表。
[0023]上述校驗方法中,所述在電池工作時,獲取電池充放電的SOC變化量ASOC1和電流傳感器電流最大允許偏差引起的SOC變化量ASOC2,包括:
[0024]( i )在電池工作時,根據充放電電流1、充放電時間t和電池最大容量Q,獲得電池充放電的SOC變化量Δ SOC1= I*t/Q ;
[0025]( ii )根據電流傳感器電流最大允許偏差因子S、充放電電流I和電池最大容量Q,獲得到充放電電流最大允許偏差量K = S*I,對充放電電流最大允許偏差量K進行積分得到電流傳感器電流最大允許偏差引起的SOC變化量ASOC2= S*I*t/Q。
[0026]上述校驗方法中,所述根據所述SOC初始化值A、所述電池充放電的SOC變化量Δ SOCjP充放電允許的SOC變化量為L+Δ SOC 2,獲得充電狀態時SOC計算值的上限SOCmax2和下限SOCmin2,以及放電狀態時SOC計算值的上限SOCmax3和下限SOCmin3,對電池充電狀態和放電狀態時的SOC計算值分別進行實時校驗,包括:
[0027]( I )根據SOC初始化值A、電池充放電的SOC變化量ASOCjP充放電允許的SOC變化量為L+ Δ SOC2,獲得充電狀態時SOC計算值的上限SOCniax2= A+ Δ SOC ^L+ Δ SOC2和下限SOCmin2= A+ Δ SOC「L- Δ SOC2,以及放電狀態時SOC計算值的上限SOCmax3 =A- Δ S0Q+L+ Δ SOC2和下限 SOC min3= A- Δ SOC「L- Δ SOC2;
[0028]( II )判斷當前電池的工作狀態,若當前電池處于充電狀態,則執行步驟(III),若當前電池處于放電狀態,則執行步驟(V );
[0029](III)判斷當前充電狀態時的SOC計算值SOCy是否在[SOC min2,SOCmax2]范圍內,如果否,則SOCy不正確,執行步驟(IV );如果是,則SOCy正確,執行步驟(II );
[0030]( IV )校正充電狀態時的SOC計算值,校正后充電狀態時的SOC計算值SOC/ =(S0Cmax2+S0Cmin2)/2,執行步驟(II );
[0031]( V )判斷當前放電狀態時的SOC計算值SOCz是否在[SOC min3,SOCmax3]范圍內,如果否,則SOCz不正確,執行步驟(VI);如果是,則SOCz正確,執行步驟(II );
[0032]( VI )校正放電狀態時的SOC計算值,校正后放電狀態時的SOC計算值S0Cz’ =(S0Cmax3+S0Cmin3)/2,執行步驟(II)o
[0033]上述校驗方法中,所述步驟(III)中若SOCy正確,則進一步將SOC計算值SOC ,反饋到車輛儀表;所述步驟(IV )進一步包括將校正后充電狀態時的SOC計算值SOC/反饋到車輛儀表。
[0034]上述校驗方法中,所述步驟(V )中若SOCz正確,則進一步將SOC計算值SOC 2反饋到車輛儀表;所述步所述步驟(VI)進一步包括將校正后放電狀態時的SOC計算值socz’反饋到車輛儀表。
[0035]一種SOC計算值的校驗裝置,包括:
[0036]初始值獲取模塊,用于在車輛啟動時,獲取SOC初始化值A ;
[0037]車輛啟動SOC計算值范圍獲取及校驗模塊,用于根據所述SOC初始化值A、電池的動態誤差M和靜態誤差N,獲得車輛啟動時SOC計算值的上限SOCmaxl和下限SOC minl,并對車輛啟動時SOC計算值進行校驗;
[0038]電池工作SOC變化量獲取模塊,用于在電池工作時,獲得電池充放電的SOC變化量Δ SOC1和電流傳感器電流最大允許偏差引起的SOC變化量Λ SOC 2;
[0039]電池工作SOC計算值范圍獲取及校驗模塊,用于根據所述SOC初始化值Α、所述電池充放電的SOC變化量ASOCjp充放電允許的SOC變化量為L+Λ SOC2,獲得充電狀態時SOC計算值的上限SOCmax2和下限SOCmin2,以及放電狀態時SOC計算值的上限SOCmax3和下限SOCmin3,對電池充電狀態和放電狀態時的SOC計算值分別進行實時校驗。
[0040]上述校驗裝置中,進一步包括動/靜態誤差獲取模塊。
[0041]上述校驗裝置中,所述動/靜態誤差獲取模塊包括:
[0042]動態誤差獲取子模塊,用于根據電池擱置時間T查表獲得對應的SOC變化系數X,設擱置足夠時間SOC穩定對應的最大SOC變化量為Y,則擱置時間T對應的SOC動態誤差M=Χ*Υ ;
[0043]靜態誤差獲取子模塊,用于根據電池實際狀態進行標定,獲得靜態誤差N。
[0044]上述校驗裝置中,所述電池實際狀態包括電池溫度、老化程度。
[0045]上述校驗裝置中,所述車輛啟動SOC計算值范圍獲取及校驗模塊,進一步包括:
[0046]SOC偏量L獲取子模塊,用于根據電池的動態誤差M和靜態誤差N,獲得SOC偏量L = Μ+Ν ;
[0047]車輛啟動SOC計算值范圍獲取子模塊,用于根據所述SOC初始化值A和所述SOC偏量L,獲得車輛啟動時SOC計算值的上限SOCmaxl= A+L,下限SOC minl= A-L ;
[0048]車輛啟動判斷子模塊,用于判斷車輛啟動時的SOC計算值SOCx是否在[S0Cminl,SOCmaxl]范圍內,如果否,則SOCx不正確,執行車輛啟動校正子模塊;如果是,則SOCx正確;
[0049]車輛啟動校正子模塊,用于校正車輛啟動時的SOC計算值,校正后車輛啟動時的SOC 計算值 SOCx’ = (S0Cmaxl+S0Cmi