Battery Charger for constant current constant voltage

Thread Starter

wmhakimi11

Joined Mar 28, 2023
9
Here's my sim of the circuit with the added current limit transistor.
I modified a couple of the resistor values as needed: and changed the power source for the op amp from the output to the supply voltage.
I also re-arranged the schematic to be in the conventional left-to-right signal/current flow.

The battery is emulated by the 100 Farad capacitor CBat, and resistors RTrickle and Rbat.

Initially the battery charges at the 3A limit (yellow trace) until the battery voltage reaches 54V (green trace), at which point the op amp maintains the voltage at that value, and the current then drops to the 108mA trickle charge current due to RTrickle.

Note that starting at a discharged battery voltage of 44V, the dissipation of Q1 (red trace) is initially 33W, and will require a hefty heat-sink (possibly with a fan) when charging at 3A.
That's why a switching regulator with higher efficiency was suggested for charging.

View attachment 291046
Which version of LTspicce do you use? My LTspice is found missing with a few components such as LM741,FZT751,GP5v1,Rbat,LED.
How to set the .ic V(Bt)=44V
 

crutschow

Joined Mar 14, 2008
38,533
Which version of LTspicce do you use? My LTspice is found missing with a few components such as LM741,FZT751,GP5v1,Rbat,LED.
I mostly use LTspice IV.

Below are the LM741 files for LTspice.
The .lib file goes in the LTspice lib/sub folder, and the .ASY file goes in the lib/sym/Opamps folder.

The GP5v1 is just a 5.1V Zener. You should have model for a similar device.

You also should have some LED models you can use.

The Rbat is just small resistor (European symbol) I added to allow me to show the output current to the battery circuit.
How to set the .ic V(Bt)=44V
You use a Spice directive under the Edit dropdown:

1681362027707.png
 

Attachments

Last edited:

Thread Starter

wmhakimi11

Joined Mar 28, 2023
9
I mostly use LTspice IV.

Below are the LM741 files for LTspice.
The .lib file goes in the LTspice lib/sub folder, and the .ASY file goes in the lib/sym/Opamps folder.

The GP5v1 is just a 5.1V Zener. You should have model for a similar device.

You also should have some LED models you can use.

The Rbat is just small resistor (European symbol) I added to allow me to show the output current to the battery circuit.
You use a Spice directive under the Edit dropdown:

View attachment 292048
Thank you for your reply.
What type of transistor did you use for FZT751? Mine is LTspice XVII
 

ericgibbs

Joined Jan 29, 2010
21,459
hi w11.
Copy and paste this text into your standard.bjt folder, located in path lib/cmp
Restart LTSpice and the FZT751 will be listed with the other PNP transistor when you press F2 to select a transistor.
Added a dummy test circuit to check the operation of the FZT
E
.MODEL FZT751 PNP (IS =2.715E-13 BF =170 VAF=70 NF =1.004 IKF=2.75 ISE=1E-13 NE =1.535 BR =23 VAR=40 NR
=1.005 IKR=.55 ISC=5.15E-14 +NC =1.13 RB =.07 RE =.065 RC =.085 CJE=360E-12 TF =.94E-9 CJC=90E-12 TR =60E-9 VJC
=.705 MJC=.46)


Original web download,
.MODEL FZT751 PNP( IS =2.715E-13 BF =170 VAF=70 NF =1.004 IKF=2.75
+ISE=1E-13 NE =1.535 BR =23 VAR=40 NR =1.005 IKR=.55 ISC=5.15E-14
+NC =1.13 RB =.07 RE =.065 RC =.085 CJE=360E-12 TF =.94E-9 CJC=90E-12
+TR =60E-9 VJC=.705 MJC=.46)

EG57_ 754.png
 

Attachments

Last edited:

MrAl

Joined Jun 17, 2014
13,716
The 741 opamp design is 54 years old. Its datasheet shows that its minimum supply is 10V, yours is only 5V. Use a modern opamp instead.
Lots of problems with this project.
LM358 sounds better.
You'll be happy to know there are improved versions of the LM358 now.
 

crutschow

Joined Mar 14, 2008
38,533
An example available in a 14-pin dip is the LM6484A, which is a quad CMOS rail-rail op amp.
I like CMOS op amps since they has a very high input impedance, and no saturation voltage, so can pull the output closer to ground and the rail.
It is limited to 15V total power supply voltage.
 

Thread Starter

wmhakimi11

Joined Mar 28, 2023
9
Here's my sim of the circuit with the added current limit transistor.
I modified a couple of the resistor values as needed: and changed the power source for the op amp from the output to the supply voltage.
I also re-arranged the schematic to be in the conventional left-to-right signal/current flow.

The battery is emulated by the 100 Farad capacitor CBat, and resistors RTrickle and Rbat.

Initially the battery charges at the 3A limit (yellow trace) until the battery voltage reaches 54V (green trace), at which point the op amp maintains the voltage at that value, and the current then drops to the 108mA trickle charge current due to RTrickle.

Note that starting at a discharged battery voltage of 44V, the dissipation of Q1 (red trace) is initially 33W, and will require a hefty heat-sink (possibly with a fan) when charging at 3A.
That's why a switching regulator with higher efficiency was suggested for charging.

View attachment 291046
Hi @crutschow
I'm having problem to run this simulation. After i run, i cant pick any trace such as IRbat, Vbat or Vss.CC1.jpg
 

Thread Starter

wmhakimi11

Joined Mar 28, 2023
9
3A is likely too much charging current if it is a 8Ah lead-acid battery, and would require a large 56V supply.

Below is a variation of the two transistor current limiter you showed in your middle attachment, with PNP Q2 added to your circuit.
Q2 turns on when its base emitter voltage across R6 reaches about 0.8V to starve Q1's base current and limit its output current.

The LTspice sim shows the simulated 741 signal (green trace) slowly increasing the battery current (yellow trace) until it reaches the ≈3A limit at a little past half way of the sim time.

(Note that R5 = 10kΩ is too large to provide enough Q1 base current for 3A current. To minimize the required base current you could use a Darlington pair or a P-MOSFET for Q1).

View attachment 290968
Hi @crutschow
I Have tried this circuit. I would like to know, how to analyse the battery charging process from 0%(43V/44V) to 100%(53V/54V). I have look the voltage at the battery is maintained at 48V.
 

Attachments

Danko

Joined Nov 22, 2017
2,172
I Have tried this circuit. I would like to know, how to analyse the battery charging process from 0%(43V/44V) to 100%(53V/54V). I have look the voltage at the battery is maintained at 48V.
It is because you used ideal voltage source 48 V as battery, therefore 48 V can not be changed!
1683055887221.png

You should use rechargeable battery, as @crutschow mentioned:
1683056703659.png
 
Last edited:

crutschow

Joined Mar 14, 2008
38,533
Attached is the modified file that should work.
The pot was upside down (not apparent from the schematic) so the setting was not correct.
Also I added the Bt label to the battery node for the .ic command.
 

Attachments

MrAl

Joined Jun 17, 2014
13,716
It is because you used ideal voltage source 48 V as battery, therefore 48 V can not be changed!
View attachment 293343

You should use rechargeable battery, as @crutschow mentioned:
View attachment 293344

Hi,

Yes that looks decent, but i have to recommend making the value of C according to:
C=(3600*Ahr)/(Vfinal-Vinitial)

This 'C' is a capacitor with initial voltage of Vinitial, and is set as the initial voltage in the simulation.
Vfinal is the final charged voltage of the model battery.

For example, for a regular 18650 Li-ion battery Vfinal is 4.2 volts and Vinitial could be 2.5v or 3v or depending on what you want to discharge the real battery to. The Ahr (ampere hour) rating is whatever the battery happens to have, such as 2Ahr (2000mAhr).
For a regular AA NiCd the Vfinal might be 1.6 while the Vinitial might be 0.9, 1.0, or 1.1 volts as needed.

For the 18650 example, with Vfinal=4.2v and Vinitial=2.5v, and Ahr=2, the value for C becomes 4235.29 Farads.
For an AA NiCd with Vfinal=1.6v and Vinitial=1.1v and Ahr=2, the value for C becomes 14400 Farads.

An alternate model is a capacitor in series with a small battery with voltage Vinitial. The capacitor value is the same but this time we dont set any initial voltage for the capacitor instead we use the small battery in series and set the voltage of that battery to Vinitial.

These formulas derive directly from one of the definitions for the capacitor:
dv/dt=i/C

There are better models but they are much more complicated.
 

crutschow

Joined Mar 14, 2008
38,533
Yes that looks decent, but i have to recommend making the value of C according to:
C=(3600*Ahr)/(Vfinal-Vinitial)
That just increases the simulated charge time, which is not really necessary to see what happens as the battery charges.
It would give a more realistic charge time, but that is easily calculated for a particular battery without doing the simulation.
 
Top