Saturday, 27 August 2016

layout - What is causing large oscillations in my DC/DC boost converter? Is this ground bounce or some other effect?


I designed my first PCB for a DC-DC boost converter only to find that it produced very noisy output. The design is based around the MIC2253.
Here's a schematic:



Schematic


Although my circuit allows for different combinations of input voltages (Vin) and output voltages (Vout). The case I am debugging is with Vin=3.6V and Vout=7.2V. The Load was a 120 ohm resistor. I calculated the duty cycle D=0.5 (i.e. 50%). This seems to be within the 10% minimum and 90% maximum duty cycle limits specified in the datasheet. The other components, i.e. caps, inductors, resistors are the same or similar to what the data sheet suggests in its application example.


The design appears to give the correct RMS step up voltage on the output, but, after viewing the signal through an oscilloscope I see damped sinusoidal voltage oscillations appearing periodically which seems to be initiated by the switching of the inductor. I see the same oscillations on almost every ground point on the board. The oscillations on the output are large, that is 3 V peak to peak. After doing a bit of research it seems that my problems are not particular to my choice of converter, but, to problems with my PCB layout (see links below). I'm not sure how to fix my layout to ensure acceptable results.


These documents seem useful for debugging the problem:



I've attached three images. "original pcb.png" contains an image of the board I am having issues with. It is a 2 layer board. Red is the top copper. Blue is bottom copper.


original pcb.png


"current loops.jpg" shows the prototype board with orange and yellow overlays of the two different current paths used to charge (orange) and discharge (yellow) the inductor. One of the articles, ( http://www.physics.ox.ac.uk/lcfi/Electronics/EDN_Ground_bounce.pdf ), suggested that the two current loops should not change in area, thus, I tried to minimize their the change in area in a new layout I started in "pcb_fix.png". I hacked the original PCB so that it was closer to this new layout, but, the performance of the board didn't change. It is still noisy! The quality of the hack isn't as good as shown in "pcb_fix.png", however, it is a fair approximation. I would have expected somewhat of an improvement, but, I didn't see any.


current loops.jpg


pcb_fix.png



I'm still not sure how to fix this. Maybe the ground pour is causing too much parasitic capacitance? Perhaps the caps have too much impedance (ESR or ESL)? I don't think so, because they are all ceramic multilayer and have the values and dielectric material requested by the datasheet, i.e. X5R.Perhaps my traces might have too much inductance. I chose a shielded inductor, but, is it possible that its magnetic field is interfering with my signals?


Any help would be very appreciated.


At the request of a poster, I've included some oscilloscope output under different conditions.




Output, AC Coupled, 1M Ohm, 10X, BW limit OFF:
1M Ohm, 10X, BW limit OFF




Output, AC Coupled, 1M Ohm, 10X, BW limit OFF:
1M Ohm, 10X, BW limit OFF





Output, AC Coupled, 1M Ohm, 10X, BW limit 20Mhz:
1M Ohm, 10X, BW limit 20Mhz




Output, AC Coupled, 1M Ohm, 1X, BW limit 20Mhz, 1uF, 10uF, 100nF caps and 120 ohm resistor shunting output, i.e. they are all in parallel:
1M Ohm, 1X, BW limit 20Mhz, 1uF, 10uF, 100nF caps and 120 ohm resistor shunting output




Switching Node, DC Coupled, 1M Ohm, 10X, BW limit OFF


Switching Node, DC Coupled, 1M Ohm, 10X, BW limit OFF




Switching Node, AC Coupled, 1M Ohm, 10X, BW limit 20Mhz



Switching Node, AC Coupled, 1M Ohm, 10X, BW limit 20Mhz


ADDED: Original oscillations attenuated greatly, however, under heavier load new undesirable oscillations occur.


Upon implementing several of the changes suggested by Olin Lathrop, a large decrease in oscillation amplitude was observed. Hacking the original cicuit board to approximate the new layout helped somewhat by bringing down the oscillations to 2V peak to peak:


Hack to approximate new layout


It will take at least 2 weeks and more money to get new prototype boards so I am avoiding this order until I sort out the problems.


The addition of additional input 22uF ceramic capacitors made only a negligible difference. However, the overwhelming improvement came from simply soldering a 22uF ceramic cap between the output pins and measuring the signal across the cap. This brought the noise maximum amplitude to 150mV peak to peak without any bandwidth limiting of the scope!! Madmanguruman suggested a similar approach, with the exception that he suggested altering the probe tip instead of the circuit. He suggested putting two caps between ground and the tip: one 10uF electrolytic and one 100nF ceramic (in parallel I assumed). In addition, he suggested limiting the bandwidth of the measurement to 20Mhz and putting the probes on 1x. This seemed to have a noise attenuating effect as well in about the same magnitude. I guess I can conclude that there was originally insufficient capacitance at the output. new ceramic cap on output kills most ringing


I'm not sure if this is a acceptably low noise floor or even a typical noise amplitude for a switching converter, but, it is a massive improvement. This was encouraging so I went on to test the robustness of the circuit under more significant loading.


Unfortunately, under heavier loading the circuit is producing some new weird behaviour. I tested the circuit with a 30 ohm resistive load. Although the board does still boost the input voltage as it should, the output now has a low frequency sawtooth/triangle wave output. I'm not sure what this indicates. It looks like constant current charging and discharging of the output cap to me at a much lower frequency than the switching frequency of 1 Mhz. I am unsure why this would happen.


Output under heavy load


Probing the switching node under the same test conditions showed a messy signal and horrible oscillations.



switching node under heavy load switching node under heavy load zoomed


Solution Found


The question has been answered and the circuit is performing adequately. The problem was indeed related to the stability of the control loop as Olin Lathrop suggested. I received may great suggestions, however, Olin was the only one to suggest this course of action. I therefore credit him with the right answer to my question. However, I greatly appreciate everyone's help. Several of the suggestions made were still relevant to improving the design and will be implemented into the next revision of the board.


I was compelled to follow Olin's advice also because I noticed that the frequency of the sawtooth/triangle output had the same frequency of appearance as the square wave portion of the signal at the switching node. I thought that the ramp up of the voltage on the output was due to successfully energizing the inductor and the ramp down was due to failure to adequately energize the inductor during the oscillatory portion of the signal on the switching node. It made sense that this was a stability problem because of this.


By following Olin's suggestion to take a closer look at the compensation pin, I determined that increasing the capacitance of the RC series network on the comp pin restored the stability of the control loop. The effect that this had on the switching node was significant as can be seen by the square wave output:


switching node with fixed rc on comp pin


The low frequency sawtooth/triangle wave was eliminated.


output after comp rc fix


Some high frequency noise (100Mhz) may still exist on the output, but, it has been suggested that this is just an artefact of the measurement and disappears when the 200Mhz scope's bandwidth is limited to 20Mhz. The output is pretty clean at this point:


final bandwidth limited output



I suppose I still have some questions regarding the high frequency noise, however, I think that my questions are more general and not specific to this debugging question, so, the thread ends here.



Answer



Your schematic is excessivly large and layed out in a confusing way, which discourages people from responding. Don't draw grounds going upwards, for example, unless the parts really are coming from a negative voltage. If you want others to look at a schematic, give them some respect. Don't make us tilt our heads to read things and make sure text doesn't overlap other parts of the drawing. Attention to these details not only helps your credibility, but it also shows respect from those you are seeking a favor from. I did see this question earlier, but all the above made me think "too much trouble, screw this", and then I went on to something with a lower hassle factor.


You gave us a bunch of details, but forgot about the obvious high level issues. What voltage is the output supposed to be? You mentioned boosting somewhere in your lengthy writeup, but there also appears to be "7.2V" written by the output connector. This doesn't match with "2.5V-10V" written by the input. From how the inductor, switch, and diode are wired, you have a boost topology. This isn't going to work if the input exceeds the desired output voltage. What are your actual input and output voltages? At what current?


Now to the ringing. First, some of these things are clearly scope artifacts. You have a very small (2.2µH) inductor. I didn't look at the controller datasheet, but that sounds surprisingly low. What switching frequency is the controller supposed to operate at? Unless it's a MHz or more, I'm skeptical about the 2.2 µH choice for the inductor.


Let's look at some of your scope traces:



This is actually showing a reasonably expected switching pulse. From this we can also see that the switching frequency, at least in this instance, is 1 MHz. Is that what you intended?


The trace starts at the left with the switch closed so that the inductor is charging up. The switch open at 100 ns and the inductor output therefore immediately rises until its current starts dumping thru D1. That is at 8V, so the output voltage is apparently something like 7.5V considering D1 is a Schottky diode but is getting a large current pulse (it would be good to know how large, or at least how large the average is). This goes on for 300 ns until the inductor is discharged at t=400ns.


At that point the output side of the inductor is open and is only conected to parasitic capacitance to ground. The inductance and this parasitic capacitance form a tank circuit, which is producing the ringing. There are only two cycles of this ringing before the next pulse, but note how it is decaying slightly. The little remaining energy that was left in the inductor after the diode shut off is now sloshing back and forth between it and the capacitance, but each cycle a little is getting dissipated. This is all as expected, and is one of the characteristic signatures of this kind of switching power supply. Note that the ringing frequency is about 5 MHz, which in a real commercial design you have to be careful to handle to avoid it radiating. This ringing can actually be the main emission from a switching power supply, not the pulse frequency as many people seem to assume.



We can also see that the ringing is decaying towards a bit below 4V, which tells us the input voltage you were using in this case. This confirms it really is operating as a boost converter with about 2x stepup, at least in this case. The 2x stepup is also confirmed by the roughly equal inductor charge and discharge phases, which are 300 ns each in this instance.


The free ringing tank circuit phase is brought to a abrupt end when the switch turns on again at t=800ns. The switch stays on for about 300ns charging up the inductor and the process repeats with about a 1 µs period.


This scope trace actually shows things working as expected. There is no smoking gun here.


You complain about output oscillations, but unfortunately none of your scope traces show this. The early ones aren't meaningful since they are most likely showing scope artifacts and common mode ground bounce showing up as a diffential signal. Even this one:



Isn't telling us much. Note the sensitive voltage scale. There is nothing surprising here at 20 mV/division. Some of this is almost certainly the common mode transients confusing the scope so that they show up as differential signal. The slower parts are the diode conducting and then not conducting, and the current pulse being partially absobed by the capacitor.


So, this all gets down to what exactly is the problem? If you are seeing large scale voltage fluctuations on the output over a number of switching cycles, then show that. That's what I thought you were originally complaining about. If that is the case, then take a careful look at the compensation network for the switcher chip. I didn't look up the datasheet, but from the name "comp" for pin 12 and the fact that C4 and R2 are connected to it, this is almost certainly the feedback compensation network. Usually, datasheets just tell you what to use and don't give you enough information to come up with your own values anyway. Read that section of the datasheet carefully and see if you have met all the conditions for using the values you did. Those are the suggested value for this part, right?


Added:


I meant to mention this before but it slipped thru the cracks. You have to make sure the inductor is not saturating. That can cause all sorts of nasty problems, including large transients and control instability. From the first scope trace I copied, we can see that the inductor is being charged for 300 ns from about 3.8 V. 3.8V x 300ns / 2.2µH = 518mA. That is the peak inductor current in this case. However, that is at a rather low output current. Again from the scope trace we can infer the output current is only about 75-80 mA. At higher output currents the peak inductor current will go up until eventually the controller will run in continuous mode (I'm guessing, but that's likely). You have to make sure the inductor current doesn't exceed its saturation limit over the full range. What is the inductor rated at?


Added2:



I think there are two basic problems here:



  1. You are expecting a switching power supply to have low noise like linear power supplies you have looked at. This is not reasonable.

  2. You are getting a lot of measuring artifacts which make the output look a lot worse than it really is.


Your original layout didn't help matters. The second one is better but I still want to see a few improvements:



Unfortunately you have the tStop layer turned on cluttering up what we really want to see, but I think we can still decipher this picture.


You now have a direct path from the diode thru the output cap back to the ground side of the input cap without cutting accross the ground plane. That's a big improvement over the original. However, you've got the ground plane broken up with a big L shaped slot in the middle that extends all the way to the bottom edge. The left and right parts of the bottom of the ground plane are connected only by a long about route. This could be easily fixed by reducing the excessive spacing requirement around some of your nets, and by moving a few parts just a little. For example, there is no reasons the two very large vias to the right of the + input couldn't be a litte farther apart to let the ground plane flow between them. The same things is true to the left of R3, between the cathode of the diode and C5, and between the board edge and D1.


I also think you have too little capacitance both before and after the switcher. Change C1 to 22µF like C5, and add another ceramic cap immediately between the two pins of JP2.



Try a new experiment with the new layout. Manually solder another 22µF cap directly between the pins of JP2 on the bottom of the board. Then clip the scope probe ground to the "-" pin (not some other ground point on the board, directly to the "-" pin only) and hook the probe itself to the "+" pin (again, right at the pin, not some other point on the output voltage net). Make sure nothing else is connected to the board, including any other scope probes, ground clips, grounding wires, etc. The only other connection should be the battery, which should also not be connected to anything else. Keep this setup at least a foot or so away from anything else conductive, particularly anything grounded. Now look a the output waveform. I suspect you will see substantially less of the noise that appeared to be in the first scope trace you posted.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...