Could some electronics guru please direct me to a SPICE model for a lead acid cell. I understand that PSpice comes with a model, but I do not use PSpice, and I hear that the library is encrypted.
SPICE model for lead acid cell
Nov 07, 2011
1 Replies
LTspice group had a very active session on this.
the following is from
"sgtwookieusmc" Date: Mon, November 8, 2010 8:10 am
- V2.0 Helmut Sennewald 02/22/04
- Modified from NiMH.lib to simulate sealed lead-acid batteries; SgtWookie 11/3/2010
- Lead-Acid Battery
- Possible Parameters
- -------------------
- VCELL nominal cell voltage in volts, e.g. 2.133
- CAPAH cell capacity in Ah(ampere*hours), e.g. 7.2
- R_SER series resistance in Ohms, e.g 0.2
- SOC state of charge (0..1, .9=3Ddischarged, .95=3D50%, 1=3Dfull)
- CHEFF charging effeciency, e.g 0.7 means you need 1/0.7 times the
- ampere*hours to charge fully
- SELFDC self discharge per hour, e.g. 0.000042 if 3%/per month
- TEMPC Battery internal temperature in =B0C; e.g. 25 =3D 25=B0C
- I started with an old article from S.C.Hageman about a SPICE model for
- NIMH batteries. It's the model "NIMH" - PSpice Nickel-Metal-Hydride
- battery discharge simulator. Optimized for 4/5A and AA Standard Cells
- and discharge rates from 0C to 5C. It's for discharge only.
- First I did some little changes on this discharge model.
- Later, I started with further development to include a charging model
- for he battery too. The result is the new model NIMH_AA.
- Ext+ Ext-
- ^ ^
- | |
- | |
- | |
- +-------+----------- +/- Cell connections (Floating)
- .SUBCKT Batt_SLA Ext+ Ext-
- Soc Rate_d Cells
- .PARAM CELLS=3D6 .PARAM VCELL=3D2.133 .PARAM CAPAH=3D7.2 .PARAM R_SER=3D20m .PARAM SOC=3D1 .PARAM CHEFF=3D0.75 .PARAM SELFDC=3D0.000042 .PARAM TEMPC=3D25
.IC V(Charge)=3D{SOC} .NODESET V(Charge)=3D{SOC*CELLS*VCELL} .PARAM R_DIS=3D{VCELL*CELLS/(SELFDC*CAPAH)}
R_Cell Ext+ Cell+ {R_SER} V_Sense Ext- Cell- 0 R_dis Cell+ Cell- {R_DIS}
- Charge to voltage translation with E-TABLE
- The last table entry (1.1 -10) together with the clamped reverse voltage(D2)
- defines the battery voltage in reverse mode. If this entry is omitted,
- then the battery will clamp to zero volts.
- Following table is a rough approximation of a lead-acid battery E_Cell Cell+ Cell- TABLE { V(SODC) } =3D
- (0.0000 {{1.0000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.0750 {{0.9899*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.1500 {{0.9797*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.2250 {{0.9695*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.3000 {{0.9594*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.3750 {{0.9492*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.4500 {{0.9391*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.5250 {{0.9289*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.6000 {{0.9188*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.6750 {{0.9086*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.7500 {{0.8985*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.8250 {{0.8203*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.8310 {{0.8000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.8510 {{0.7417*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9080 {{0.6133*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9480 {{0.5047*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9800 {{0.3180*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9900 {{0.1109*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9950 {{0.0000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9960 {{0.0000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9970 {{0.0000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9980 {{0.0000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (0.9990 {{0.0000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (1.0000 {{0.0000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- (1.1000 {{-10.0000*CELLS*VCELL}-{{TEMP-25}*0.003*CELLS}})
- Original NiMH table below
- Actual rate of discharge by external load.
- E.g. 0.2 means a full battery would last 5hours(=3D1/0.2). E_Rate N001 0 VALUE =3D { IF( (I(V_sense)>0 & V(Cell+,Cell-)>0),
- I(V_Sense)/CAPAH, CHEFF*I(V_Sense)/CAPAH ) } R2 N001 Rate_d 1 C1 Rate_d 0 1
- State of charge is actually just a 1 to 1 transform of "Charge" E_Rate1 Soc 0 TABLE { V(Charge) } =3D (-1,-1) (1,1)
- Higher capacity for discharge current below 0.2*C E_LowRate LowRate 0 TABLE { V(Rate_d) } =3D (0,0) (0.001,0.15) (0.1,0.1) (0.2,0) R3 LowRate 0 1G G_LowRate 0 Charge VALUE =3D { IF( (I(V_sense)>0 & V(Cell+,Cell-))>0,
- V(LowRate)*I(V_Sense), 0) }
- Lower capacity for discharge current above 0.2*C E_LostRate LostRate 0 TABLE { V(Rate_d) } =3D (0.2,0.0) (1.0,0.1) (5,0.2) R5 LostRate 0 1G G_HighRate Charge 0 VALUE =3D { IF( I(V_sense)>0 & V(Cell+,Cell-)>0,
- V(LostRate)*I(V_Sense), 0) }
- The charge model
- Overcharge and discharge clamped with diodes C_CellCapacity Charge 0 { 3600 * CAPAH * {TABLE (TEMP,
R1 Charge 0 1MEG V2 N003 0 0.993 D1 Charge N003 DFULL D2 0 Charge DREV G_DisCharge Charge 0 VALUE =3D { IF( I(V_Sense)>0 ^ (V(Cell+,Cell-)
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required