Troubleshooting buck converter - Page 1
Forum section: electronics / beginners

author: aradian
author_rank: Newbie
timestamp: September 26, 2020, 11:48:34 pm
content: Hello,I'm designing/prototyping a buck converter circuit as part of a project and I've run out of ideas trying to get it to work properly. Here's what's going on:The circuit is based on the AOZ2151 (https://www.digikey.com/product-detail/en/alpha-omega-semiconductor-inc/AOZ2151PQI-10/785-1866-1-ND/10257990) and its "Typical Application" circuit from the datasheet:KiCad files for the full schematic and board layout are here:https://github.com/aradian/dcpsu-pcb, see "dcpsu-card-a".The problem:The buck controller IC only shows steady switching activity (at correct 0.8v FB voltage) when the digipot is set to 0, and even then any load at all causes the output voltage and FB voltage to sag quite a bit (with the controller IC still switching).Setting the 100k digipot to >0 value causes the controller to eitherhave no activity while emitting a very faint ticking sound at about 2Hz (most of the time)or extremely erratic activity on the switching pin (rarely)At first, I thought the IC could be being damaged by an inductive spike when the power is connected due to the parallel ceramic input caps. Since then, I've been connecting the 24v rail through a 220ohm resistor before connecting it directly.I also suspected soldering issues due to the challenging footprint of the controller IC. I've gone through several chips carefully resoldering and testing resistance between pins, so I think I've ruled that out now. I'm using a hot air station and 63/37 paste.I've tried different input voltages from 12v to 24v. At higher input voltages, the ticking sound becomes much more noticeable. The only source of this sound I can think of would be arcing between pads below the controller IC, but it seems strange that only 24v could that.Notes:I'm not using the controller's force-PWM functionWhen the controller is enabled but has stopped switching, it is still generating Vcc normallyThe digipot seems to be operating correctly.The current drawn by the board goes from about 10mA to 20mA when the buck controller is enabled with no load.Not sure what else to try at this point.Hopefully, I'm just missing something really obvious!

author: julian1
author_rank: Frequent Contributor
timestamp: September 27, 2020, 01:09:03 am
content: The datasheet calls for VCC to have decoupling of 4.7-10uF. While the schematic shows 1uF.Where is the 5V supply coming from to power the digipot? Is it a separate source - or are you trying to rely on the the internal LDO of the driver chip, via the 2k?I find it a bit hard to read/understand the voltage divider circuit for FB. If you remove the the digipot and just use a resistive divider for some set voltage, does it regulate properly under load?

author: aradian
author_rank: Newbie
timestamp: September 27, 2020, 04:40:35 am
content: For the VCC cap, good catch. VCC is quite stable and I don't have plans to draw any current from it, so I doubt it's a problem, but I'll look into fixing this.The 5V rail is supplied by a separate regulator. Probably the AOZ2151's VCC shouldn't be connected to it at all.I tried swapping the digipot for a regular 10k trim pot and found the same behavior. The driver shuts down at about 1.75v output. On another board, though, it did start working stably. Progress, maybe?Looking at the digipot's datasheet (MCP4017), I see bandwidth @-3dB is 100kHz, which is well below what the driver's switching freq can be (it's PFM). Not sure if that's relevant in this circuit though. The AOZ2151 datasheet doesn't say anything about delay requirements for FB.Edit: added scope images, apologies for the crt scanning artifacts

author: julian1
author_rank: Frequent Contributor
timestamp: September 27, 2020, 05:50:36 am
content: I would try to increase the decoupling on VCC to meet the datasheet spec, even if it looks stable. It's just that it calls for a lot, which is wierd. ie. the bootstap cap which actually drives the fets only needs 0.1uF. So maybe it's doing something funny internally with it, or requires low-ripple for internal current-sense comparator etc.And remove the 2k to external 5V supply, and just let it be powered by the internal LDO from Vin.Once you have it at spec you can forget about it as a source of trouble. if you don't have a 4.7uF handy, maybe it's possible to solder on an extra 1uF straight on top of the existing 1uF to get it to 2uF as a test, and see if it still fails at around 1.75V where it shows problems?At least, that's what I would check next.Otherwise, yes if it shows same problem with trimpot, that's progress and indicates it's probably not the digital pot, although continuing to test with the trimpot as the simpler circuit makes sense.

author: aradian
author_rank: Newbie
timestamp: September 27, 2020, 06:54:22 pm
content: I removed the 2k connecting VCC to the external 5V and added another 1uF on top of the existing VCC bypass cap. This resulted in stable switching at no load up to 2.0V! Sadly, it all went downhill from there.I stacked up another two 1uF, but after that the switching pin just output a steady 1.3V or so with no switching, and unresponsive to changes in FB. Vin current was now 80mA with no load (previously, no-load current was <10mA). Maybe, I created a short? No, the bypass cap stack showed >1Mohm. I figured the driver IC must be toast, so swapped it out with a new one. The new driver IC just shows a 30mVpp ringing at >2MHz when enable pin is high; no VCC at all.Maybe soldering issues leaving some pads not connected, or maybe these devices are much more ESD sensitive than what I've worked with before...Thanks for your help julian.

author: julian1
author_rank: Frequent Contributor
timestamp: September 27, 2020, 09:03:06 pm
content: QuoteI don't know. That seems really weird since it's the simplest part of the whole thing. According to internal schematic, the driver uses a LDO with VIN to create a 5V supply to power the rest of the functionality? Irrespective of whether its done something complicated like go into a shutdown mode, you should still be able to measure a stable 5V at VCC.Is the internal LDO being shorted out by the high side fet turning on permanently? eg the 80mA draw, and permanent 1.3V on LX. What happens if you probe VIN. Are the input caps (2x 20uF) rated to VIN voltage? Test / replace the input caps.Its not good that swapping the ic gets different behavior. Other stuff that I would try - If I understand the switching behavior correctly - you can massively relax/ slow the whole thing down by swapping in a bigger inductor eg. 100uH (edit - and increase input caps). I want to say pull FB below FBset permanently to force it to oscillate, regardless of output, but that risks triggering some type of shutdown mode.

author: aradian
author_rank: Newbie
timestamp: September 28, 2020, 06:07:31 pm
content: Quote from: julian1 on September 27, 2020, 09:03:06 pmI thought so too. For it to be dead right out of the box, I must have screwed up something really basic. I ended up heating it back up with the hot air and gently nudging it around a bit. After that, the new IC is showing stable switching for all output voltages available with a 12V input. It even regulates properly with a 75ohm load!There is still an issue, though. With output set to 11V and trying to raise the input voltage, the switching starts to become unstable around 12.6V input and before reaching 13V, it shuts down completely until the input voltage is lowered and the enable pin is toggled. With output set to 7V, the input voltage can be raised further. In both of these cases, as the input voltage increases the inductor starts to make a faint buzzing noise that gets louder with increasing voltage. When it's doing this, touching the inductor increases the input current by about 40mA (with no load).I don't have any other values of inductor on hand, but it might be worth ordering some larger values to get a better idea what's going on.Your mention of the input caps made me go back and look at my cap selection. The input caps are 2x 10uF rated 50V; output caps are 4x 22uF rated 25V. I recently learned about ceramic cap derating based on DC voltage offset. Due to that, the effective cap values in this circuit might be somewhat out of spec all around. When a datasheet specifies a component value, they're talking about the effective value after any derating, not the nominal value right?So as the input voltage increases, input capacitance probably gets further out of spec...

author: Etesla
author_rank: Regular Contributor
timestamp: September 28, 2020, 06:43:16 pm
content: I had this exact same problem using a buck IC and a digital pot to control the output voltage. I tried so many things to get it to work consistently but I never figured it out. Circuit worked fine with a resistor or even an analog POT in place of the digital pot, but it never worked with the digital pot. I'll be interested to know if you can figure out what's going on.

author: opampsmoker
author_rank: Regular Contributor
timestamp: September 28, 2020, 08:03:25 pm
content: Maybe your inductor is saturating….Here is the way to see if it is….Average inductor current IL(AV) = Average load current IL(AV).Duty Cycle , D = Vout/Vint(on) = D.T(sw)…where T(sw) = 1/{f(sw)}di(ON) = Inductor current ramp peak to peaknow L.di = V.dt (Lenzs Law)Volts across L when ON = Vin – VoutTherefore IL(pkpk) = di(ON) = {[vin-vout]. t(ON)} / LNow IL(pk) = peak inductor current = IL(AV) + [di(ON)]/2…So see if IL(pk) is above the saturation current in the inductor datasheet

author: julian1
author_rank: Frequent Contributor
timestamp: September 28, 2020, 09:45:55 pm
content: QuoteOK, that sounds much better. Don't make any drastic changes. I assume its running on a bench supply. As a test, try bodging in a 1000uF electrolytic right near the 2x20uF input caps.I have a supply design and if it doesn't get enough input capacitance, the expected linear voltage ramp on the current sense- resistor, falls apart (ground bounce?) and it starts over-current shutdown and pulse skipping and making characteristic smps failure sounds.Otherwise as opampsmoker said, the inductor might be saturating when output is loaded, which can also trigger similar early fet switch-off or other behavior. Try a physically larger inductor of the *same* value.

author: aradian
author_rank: Newbie
timestamp: September 29, 2020, 04:41:15 am
content: Quote from: julian1 on September 28, 2020, 09:45:55 pmInput caps are actually 2x10µF. I tried the 1000µF electrolytic idea, but got the same behavior.Quote from: opampsmoker on September 28, 2020, 08:03:25 pmI've been using this calculator (based on the datasheet) to estimate inductor current:https://www.desmos.com/calculator/qxeq2tq9dv. This indicates a peak well under the inductor's saturation current of 8.5A. Also, the instability and shutdown occurs with no load.The switching actually has a different pattern than what's shown in the datasheet. I've attached a couple screenshots showing the switching pin and Vout while running with Vin=12V, Vout=7V. At no load, the set of pulses occurs about every 4.3ms. This is also showing a Vout ripple >4%, much higher than it should be.I tried the force-PWM mode and the switching pattern is very stable and exactly as shown in the datasheet, except at 200kHz instead of the datasheet's 500kHz. In this mode, it's rock solid up to 20V input and under load, but still shuts down when setting a higher Vout.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: September 29, 2020, 07:33:31 pm
content: I would not even consider to use such a digital pot in the feedback loop.The feedback loop is not a simple DC thing, but it must sense high frequency ripple voltage on the output to make the right descisions to switch the output transistor at exactly the right times.But there is another very simple scheme.Start with a normal feedback with 2 resistors.Then, to make the output voltage adjustable, use a regular voltage output dac and a series resistor to add or subtract a bit from the feedback point.

author: aradian
author_rank: Newbie
timestamp: October 03, 2020, 11:00:22 pm
content: Quote from: Doctorandus_P on September 29, 2020, 07:33:31 pmAt this point, I'm definitely not adding the digipot back in until the buck converter is working well on its own.That alternate design sounds interesting. I'll keep that in mind in case the digipot doesn't work out.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 04, 2020, 12:55:11 am
content: Compensation is off, it's oscillating in the control loop. Since this is internal, fixed compensation, you have to change output L and C values. Use recommended values.Seconding the voltage DAC method. Have done it many times myself.Tim

author: aradian
author_rank: Newbie
timestamp: October 05, 2020, 03:34:15 am
content: After trying a few things, I found that shortening the physical distance of the feedback network really improved the situation. Since I removed the digipot, I've had 5-6in wires going from the pcb to a breadboard with my trim pot and various resistors. I replaced that with a single 100k trim pot floating in the air on 3in wires and it's now looking pretty stable at all voltages and under load.There is still some inductor noise and the Vout ripple seems higher than it should be, but this is definitely the best performance I've gotten so far.Quote from: T3sl4co1l on October 04, 2020, 12:55:11 amThere is also Dave's design from his µSupply project where he puts a digipot in parallel with the bottom half of a resistor divider. Any pros/cons to that vs the DAC?For improving things further, these components are furthest out of spec:inductor: using 10µH, recommended 3.3µHbootstrap cap: effective capacitance is probably below spec due to too low voltage ratinginput caps: same problem as bootstrap cap, but not as bad

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 05, 2020, 07:30:54 am
content: That square wave isn't looking so square. Is it actually like that, or is your scope out of adjustment? (That would be a high frequency compensation adjustment, most likely internal to the scope?)Quote from: aradian on October 05, 2020, 03:34:15 amYes: setting it to zero ohms is equivalent to commanding infinite voltage output. It's not a great method. Adjusting the top resistor is more straightforward (proportional output), but best is using the extra divider (it's volt-for-volt accurate).Tim

author: Doctorandus_P
author_rank: Super Contributor
timestamp: October 05, 2020, 12:36:32 pm
content: Doing this on a breadboard is already a guarantee for sub optimal performance of the Buck converter.Long wires for the feedback also worsens performance.Shorter wires in the feedback loop is better.Also some separation between the inductor (and it's stray fields) and the feedback loop is advisable to increase performance.If you want to learn more about buck converters, then research "hot loop" and how to minimize it, and also, why this is the critical part to optimise.There is also an old PDF floating around called something like "switching regulators for poets", which is a good pdf to read at least 3 times probably more, and experiment and learn from it etc.