Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

P-MOS based DC-DC Buck converter for Lead Acid battery charger.

Status
Not open for further replies.

yourdreamz

Junior Member level 1
Joined
Oct 23, 2008
Messages
17
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,465
I need to design a DC-DC buck Converter for a battery charger. Battery Capacity is 24V, 7AH. I understand the three stages of charging, viz. Bulk (Constant Current), OverCharge (Constant Voltage) and Float (Constant Voltage at a different Level). Now planning to use a microcontroller as a sensing and switching controller. So following are my queries:

  1. I learnt that since the load for this Convertor (which is a battery) doesn't go to 0V, a normal bootsrtap driver with an N-Mosfet would not work. Courtesy https://www.edaboard.com/threads/239606/#post1089787. And instead of using the suggested and a little complicated techniques, could I not use a P channel MOSFET with a simple BJT gate driver instead, which I have found inexpensive and even with low Rds-on (22mOhm) like AOD4189. What's your opinion?
  2. Can somebody help me with a calculator or formulas for calculating the values of inductor, capacitor and diode, considering that in a Constant Current Mode the output voltage has to be varied from say 18V to 29V with current of upto 1.4 Amps in CC mode.
  3. And do I need to use a PID algorithm or just a normal P algorithm is good enough? (Would only P have some offset than the desired output? And is that offset okay?)

Thanks in advance for all your help.
 

[*]I learnt that since the load for this Convertor (which is a battery) doesn't go to 0V, a normal bootsrtap driver with an N-Mosfet would not work. Courtesy https://www.edaboard.com/threads/239606/#post1089787. And instead of using the suggested and a little complicated techniques, could I not use a P channel MOSFET with a simple BJT gate driver instead, which I have found inexpensive and even with low Rds-on (22mOhm) like AOD4189. What's your opinion?
A PFET could work, but the gate drive circuit must be very well designed in order to get decent efficiency (especially if you want high switching frequency). It's tricky to design a good PFET driver that works well over a wide line/load range, though it certainly can be done. In my opinion, using a synchronous rectifier design with N channel FETs and a bootstrapping driver is an easier approach, and it also gives significantly better efficiency.
[*]Can somebody help me with a calculator or formulas for calculating the values of inductor, capacitor and diode, considering that in a Constant Current Mode the output voltage has to be varied from say 18V to 29V with current of upto 1.4 Amps in CC mode.
You haven't said what the input voltage to the buck will be, without that we can't really say.
[*]And do I need to use a PID algorithm or just a normal P algorithm is good enough? (Would only P have some offset than the desired output? And is that offset okay?)
You should go for a PI controller at first. Just P control has too much error, and PID is probably not really necessary for battery charging.
 
First of all thanks a lot for the response mtwieg.

A PFET could work, but the gate drive circuit must be very well designed in order to get decent efficiency (especially if you want high switching frequency). It's tricky to design a good PFET driver that works well over a wide line/load range, though it certainly can be done. In my opinion, using a synchronous rectifier design with N channel FETs and a bootstrapping driver is an easier approach, and it also gives significantly better efficiency.

I have attached a schematic of what I was thinking of making. But as you say it might not be efficient. What in a PFET drive circuit would cause in efficiency? I am asking to learn and understand. Also I understand synchronous H Bridge rectifier for converting AC to Pulsating DC but am not very familiar with its use here. How do you say it'd go here? Do you have any pointer for the same?



You haven't said what the input voltage to the buck will be, without that we can't really say.

The power source is an SMPS with output adjustable from 27 to 32 volt dc. I am planning to set it between 30 to 32 volt. So that'd be the input voltage to the DC-DC Converter.

You should go for a PI controller at first. Just P control has too much error, and PID is probably not really necessary for battery charging.

Sure. Point taken, would do that.

Also it'd be great if you could tell me or direct me on how to find the optimum switching frequency for the converter.

Thanks again for all the help.

- - - Updated - - -

Okay so I did some googling and found the Synchronous rectification in buck converter here http://en.wikipedia.org/wiki/Buck_converter#Synchronous_rectification. But all I understood here was that if I'm concerned about the loss of power in the freewheeling diode, I should go for another MOSFET replacing the diode. This would also work well when the duty cycle is low. But in my case the duty cycle wouldn't be very low, also I'm not much concerned about the little power waste in the Freewheeling diode.

I was thinking that this Synchronous rectification method would be useful specially in case of battery charging where the Load is not at 0V which causes bootstrap based driver to not function properly. What am I missing? Could you please explain?
 

Also it'd be great if you could tell me or direct me on how to find the optimum switching frequency for the converter.
20 kHz is a workable figure for the values in your schematic above.

Screenshot of my simulation:



Duty cycle will change as the battery volt level rises. This can reach 28 or 29 V if charging continues for a long enough time at a sufficiently high rate.
 
20 kHz is a workable figure for the values in your schematic above.

Thanks BradtheRad. Is there a formula or a calculator that i can use to find out what frequency is optimum? Can I not increase frequency to reduce the L and C values? What would happen if I do.
 

Thanks BradtheRad. Is there a formula or a calculator that i can use to find out what frequency is optimum? Can I not increase frequency to reduce the L and C values? What would happen if I do.

The idea is to switch-On the supply cycle for a long enough time that current can build in the coil. The response is based on the inductive time constant: L/R.
When current reaches a suitable amount, then you switch-Off. When current drops sufficiently, you switch-On again.

Your coil value is 220 uH.
Suppose the power supply loop has 1/2 ohm of resistance.
Your time constant is .00022/ .5, or 1/2272 sec.
This is the time for a 63% change in current or emf. (Current rising, emf dropping).
You mention CC mode (continuous conduction). This suggests the current waveform will go maybe 20% above and below an average figure. Hence you can expect to use an operating frequency faster than 2,272 Hz.

The capacitor and battery are involved as well. They add their own dynamics. Their influence is not necessarily easy to calculate.

Anyway I let the computer do the math. Below is a link to my simulation in Falstad's simulator. Clicking it will open the falstad.com/circuit website, load my schematic above, and run it on your computer. (Click Allow to permit the connection.)

https://tinyurl.com/as5xt5e

Click on the left-hand switch to start the power cycle. Let up on the switch to go to the second half of the cycle.

Watch the scope traces. The longer you hold the switch down, the greater the current builds in the power loop.

When you let up the switch, the coil discharges around the output loop. Eventually it drops to zero.

As you open and close the switch, you will develop a consistent tempo. The coil waveform takes on an even sawtooth appearance.
You'll get a sense of what duty cycle to operate on.
I have set the frequency to be displayed under either the bias or diode trace. When the action is consistent, you should see amounts in the vicinity of 10k to 25k Hz.

Although the battery is 24V nominal, I have set its volt level at 27 since it that a typical value when charging. It can rise higher as it reaches full. You may need to alter the duty cycle accordingly.

You can change values at will. Right-click on a component (or on a Mac, press 'control' key and click), and select Edit.

To automate the action, switch to clock-driven operation.
 
Last edited:
Thanks BradtheRad. Wow, let me try this with the link that you have provided. BTW, why have you put a 200mOhm resistor in series with the transistor and in series with the battery?
 

Thanks BradtheRad. Wow, let me try this with the link that you have provided. BTW, why have you put a 200mOhm resistor in series with the transistor and in series with the battery?

I add resistors to remind us that real hardware has some amount of resistance, reducing current flow to some extent.

With some experimenting it becomes clear that we want to minimize resistance in the switch-On cycle. (Particularly with a boost converter when you wish to increase a low supply voltage to a much higher level.)

Installing a separate resistor is also a trick to let you see how many watts the switching device will need to dissipate, if its On-resistance goes down to a given value.

Likewise all batteries have a certain internal resistance.

So, 1 or 2 tenths of an ohm is a typical amount of resistance that can occur in hardware.
 
I have attached a schematic of what I was thinking of making. But as you say it might not be efficient. What in a PFET drive circuit would cause in efficiency? I am asking to learn and understand. Also I understand synchronous H Bridge rectifier for converting AC to Pulsating DC but am not very familiar with its use here. How do you say it'd go here? Do you have any pointer for the same?

The gate driver will be very slow, leading to large switching losses in the FET. The gate needs to see a low impedance, preferably a few ohms, not 10K. Here's a rough schematic of a better gate drive circuit, which uses a push pull BJT buffer to get faster performance:



Also it'd be great if you could tell me or direct me on how to find the optimum switching frequency for the converter.
In general it's impossible to find an "optimal" switching frequency, unless every other parameter of the circuit is decided. And of course, the definition of "optimal" is completely subjective (unless you love convex optimization formulas). Anyways, I would recommend starting off with a frequency between 20KHz and 50KHz. If you get that working then you can think about increasing it.

Okay so I did some googling and found the Synchronous rectification in buck converter here https://en.wikipedia.org/wiki/Buck_converter#Synchronous_rectification. But all I understood here was that if I'm concerned about the loss of power in the freewheeling diode, I should go for another MOSFET replacing the diode. This would also work well when the duty cycle is low. But in my case the duty cycle wouldn't be very low, also I'm not much concerned about the little power waste in the Freewheeling diode.

I was thinking that this Synchronous rectification method would be useful specially in case of battery charging where the Load is not at 0V which causes bootstrap based driver to not function properly. What am I missing? Could you please explain?
Yes, this is correct, for your duty cycle the diode losses won't be much of a concern. But it allows you to use N channel FETs, which will have much lower conduction losses. The synchronous rectification is necessary to ensure that a bootstrapping driver can work properly when the battery is attached on startup.
 
The gate driver will be very slow, leading to large switching losses in the FET. The gate needs to see a low impedance, preferably a few ohms, not 10K. Here's a rough schematic of a better gate drive circuit, which uses a push pull BJT buffer to get faster performance:


Thanks for the response mtwieg. Okay I got the slow part and switching losses because of that. Thanks for the schematic. Do you think when Q2 in your schematic is ON might push Vgs voltage for M1 beyond the max allowed. Any protection is needed? Also during my search I found this circuit in application note AN-1015 for switching lead acid battery charger from Microchip.



If you just look at the driver for PMOS (Q1) it is quiet similar to your method. They seem to claim upto 500KHz of frequency support. What is your opinion about using just this kind of MOSFET driver?

In general it's impossible to find an "optimal" switching frequency, unless every other parameter of the circuit is decided. And of course, the definition of "optimal" is completely subjective (unless you love convex optimization formulas). Anyways, I would recommend starting off with a frequency between 20KHz and 50KHz. If you get that working then you can think about increasing it.

Sure get your point. Thanks.


Yes, this is correct, for your duty cycle the diode losses won't be much of a concern. But it allows you to use N channel FETs, which will have much lower conduction losses. The synchronous rectification is necessary to ensure that a bootstrapping driver can work properly when the battery is attached on startup.

Okay, but could you explain how another mosfet in complementary switching mode would ensure that bootstrapping driver can work properly when battery is attached from statup? Also could I use a High Side Switch that has inbuilt drivers like VN750, VN800S, BTS4175SGA, etc, without worrying about bootstrap driver issue. They don't mention what kind of driver (bootstrap or otherwise) they use inside though.

Thanks again for all the help.
 

Thanks for the response mtwieg. Okay I got the slow part and switching losses because of that. Thanks for the schematic. Do you think when Q2 in your schematic is ON might push Vgs voltage for M1 beyond the max allowed. Any protection is needed?
The 15V zener diode in that schematic limits the voltage seen on the gate.
Also during my search I found this circuit in application note AN-1015 for switching lead acid battery charger from Microchip.



If you just look at the driver for PMOS (Q1) it is quiet similar to your method. They seem to claim upto 500KHz of frequency support. What is your opinion about using just this kind of MOSFET driver?
Yes, I've used that kind of driver before as well. However it doesn't have any means of limiting the gate voltage, which you will need if you are running from 30V in. You can implement the voltage limiting using a zener+series resistor like in my schematic. Though that also tends to slow switching speed a bit. Should be fast enough for 50KHz though.
Okay, but could you explain how another mosfet in complementary switching mode would ensure that bootstrapping driver can work properly when battery is attached from statup?
The synchronous FET forcibly pulls the switching node of the buck near 0V, allowing the high side bootstrapping cap to charge up, even if the output is biased at a high voltage. That way the high side driver will operate no problem.
Also could I use a High Side Switch that has inbuilt drivers like VN750, VN800S, BTS4175SGA, etc, without worrying about bootstrap driver issue. They don't mention what kind of driver (bootstrap or otherwise) they use inside though.
Those sorts of devices are made for slow power disconnects, not high frequency switching converters. If you look at the datasheet they have very slow switching times (tens or hundreds of us).
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top