3
\$\begingroup\$

Coming from a computer science background, I'm new to electronics and my first post here. I'm working on a hobby project with the intention of designing a PCB eventually and the first step is to design a buck converter to bring the input voltage to 5V for driving an Arduino. I'm using a laptop supply of 19V as the input.

I'm using a MP1584EN for the voltage regulator chip. For my testing purposes I'm doing this on a perfboard. I've mostly used the typical application circuit from the datasheet with minor modifications as seen in the schematic attached schematic but when I measure the output voltage, it is producing large ripples as seen in the screenshots. The ripples occur at an interval of about 3 sec when the output surges to about 7.25V (sometimes even spikes to 8.5V) and then slowly falls back to around 5V and the cycle continues Osc_no_load. If I connect a 1k load resistor, the ripple amplitude remains the same but the interval goes down to about 15ms (Couldn't post this oscilloscope readout because I was getting an error message that I need at least 10 reputation to post more than 2 links.).

Why am I getting this output? What am I doing wrong?

EDIT 1: Thank you all for the responses. So much thanks that this post rather becomes long. I've tried to answer all questions and more info/results in this edit except for increasing the L which I will try next (didn't want to add to space to my design with a huge L). But before that I want to mention that I probably do have poor grounding (not extremely poor in my opinion) but didn't think that it will cause such huge voltage pulses. From my measurements as soon as the feedback voltage goes to 0.8V, the spike happens and then slowly discharges through the output cap C2. I've measured the discharge time from 8V to 5V for a 22uF C2 at 1K load and it seemed to match the pulse width. Surprisingly, after I did all the other tests as shown below, re-testing with 1K load produced entirely different results. I did increase the output cap C2 to a much higher value to the effect that pulse duration increased but the pattern remained. I've been playing around for a while with Arduinos/ESP8266/SD Card, etc. and cheap DC-DC buck converters (using MP1584) and I thought it was time to combine everything onto PCB after a perfboard prototyping because I didn't want to keep revising PCB again and again just because of the power supply issues. Hence the perfboard idea just to validate each and every component that I use is justified. So, first the perfboard. MP1584 is on the bottom of the SOIC8 breakout.Front Back Now the test results: DSO for 1k load that I couldn't post earlier 1K load 10ohm load: as you can see in second pic it initially oscillates in 5-12V range but as the resistors heat up, the oscillations become 1-19V(input) 10us 1s 100ohm load: 100_1 100_2 After I ran the above tests, I again tested the 1K load and no load. 1K load: As you can see hardly any ripples but Vout is around 5.8V 1 2 3 4 No load (again after running the 10, 100 and 1K ohm tests): no load later Maybe it all makes sense but I'm more confused now. Sorry, I realized after the fact that some images are upside down or sideways but hopefully readable. Not sure what happened but weird that my computer shows them all landscape and right side up.

EDIT 2: Still haven't found the solution but just an update on some more experiments I did. 1. I didn't have a larger inductor at hand but I tried with another 4.7uH in series and it did improve things a little (the spike reduced by over 50%). Making it even larger around the recommended value of 22uH should fix things but that adds up space and cost to the overall design. Will keep it as a last option. 2. I tried replacing 22uF tantalum with a 10uF ceramic at hand but oberved no difference (the reduction in C2 value reduced the cycle time though as expected). I put back the tantalum (the datasheet doesn't advise against it). 3. In a separate test, adding another 150pF from COMP to GND in parallel to the compensation network already in place also improved things. 4. Finally adding the 150pF across R1 as well did some miracles and improved things considerably. It dampened the spikes but increased the overall expected output voltage. 5. The above suggestion made me think what if I was to reduce R1 and R2 by 10 folds and doing that produced the best results. The voltage was much closer to expected value with ripples in the order of 100mV but consistent that can probably be fixed by other things mentioned above. 6. Only until suddenly my multimeter showed a jump from expected output voltage to the input voltage. I tested various parts and the resistance between VIN and SW shows about 120 ohms. Did I fry my MP1584EN by lowering R1 and R2?

I thought I was close to fixing things but now I'm back to square zero. The worst part is that I'm unable to understand when and why things would go wrong suddenly with unexpected outputs and varying outputs when repeating the experiment under same test conditions.

I might start again with a fresh MP1584EN and see how that goes.

\$\endgroup\$
6
  • 1
    \$\begingroup\$ Your circuit is exactly the same as the one in the datasheet? Even 5 mA is a very light load for this part. What happens when you give it a 10 ohm load? \$\endgroup\$
    – The Photon
    Jul 2, 2016 at 2:20
  • \$\begingroup\$ First - you should now have sufficient rep points to post more links or images. \$\endgroup\$ Jul 2, 2016 at 2:21
  • \$\begingroup\$ Second - weirdness like this is often caused by poor grounding technique. Spend some time with the datasheet and learn what the manufacturer recommends for grounding. Maybe also post a picture of both the top and bottom of your perfboard. \$\endgroup\$ Jul 2, 2016 at 2:24
  • \$\begingroup\$ C4 - Tantalum is evil - do not use if at all possible. Note that bar may be +ve and not -ve on Tantalum If it is 16V rated and Vout has been 19V then Tantalum would often be dead. Layout matters often. | Try a small cap across R1 - maybe 100 pF. Can work miracles. Couple transients to FB directly. \$\endgroup\$
    – Russell McMahon
    Jul 2, 2016 at 13:17
  • \$\begingroup\$ @RussellMcMahon Did you mean C2 instead of C4 because that is the only Tantalum and the output cap. I'll try a ceramic instead. Similarly, did you mean R3 instead of R1? Sorry for being naive here but what are the transients you mention to couple directly to FB? \$\endgroup\$ Jul 2, 2016 at 15:45

3 Answers 3

2
\$\begingroup\$

This IC has a pulse skipping mode which is active under very light loads, and it is showing up in your oscilloscope display as pulses spread far apart from having no load.

Per the PDF Datasheet:

At no load or light load, the converter may operate in pulse skipping mode in order to maintain the output voltage in regulation. Thus there is less time to refresh the BS voltage. In order to have enough gate voltage under such operating conditions, the difference of VIN –VOUT should be greater than 3V. For example, if the VOUT is set to 3.3V, the VIN needs to be higher than 3.3V+3V=6.3V to maintain enough BS voltage at no load or light load. To meet this requirement, EN pin can be used to program the input UVLO voltage to Vout+3V.


Having a >5% minimum load should reduce the tendency to produce pulse 'burst'. Doubling the value of L1 and making C2 a much higher value (220uF) can smooth out these burst. Running the IC at >10% of full load should take it out of pulse-skipping mode.

The less current you draw the deeper into pulse skipping mode it goes, so use larger values of L1 and C2 to smooth the output to a almost clean DC waveform, and/or make it a point of having a minimum load that prevents wide skipping periods. That is just the nature of this type of switch-mode IC.

EDIT: Pay close attention to grounding techniques. Make sure C1 and C2 are as close to the IC as possible. Notice the junction of grounds at pin 5, which is where C1 and C2 should be connected with as short of leads as possible. Remember the triangle: C1 is effectively your current source, the IC is your current switch, and the load (through L1) is your current sink. In SMPS designs this triangle has these parts close and with short leads, keeping erratic noise to a minimum.

\$\endgroup\$
4
  • 1
    \$\begingroup\$ The ripple voltage is over 2V, and the ripple period is just under 3 seconds. I don't think it is skip-pulse. Could be bad grounding or improper compensation. \$\endgroup\$
    – user57037
    Jul 2, 2016 at 5:58
  • \$\begingroup\$ Please see my edit to the post. \$\endgroup\$ Jul 2, 2016 at 9:57
  • \$\begingroup\$ @mkeith I must say that compensation was the part of the datasheet I least understood talking about poles, zeros and crossover frequencies. I tried to come up with values based off my calculations as per the datasheet and they almost matched what's recommended in there. Should I just try different values and see what works? \$\endgroup\$ Jul 2, 2016 at 15:49
  • \$\begingroup\$ @peeyush.garg. Follow the table in the PDF for values of L1, C2, etc. The 5 volt values are not the same as your diagram. C1 and C2 should be 25vdc electrolytics. Do not use tantalum capacitors. \$\endgroup\$
    – user105652
    Jul 2, 2016 at 15:58
1
\$\begingroup\$

I had a similar problem with a cheap MP1584 module bought overseas. Actually all modules I checked (I bought a few) behaved the same way, so I ruled out manufacturing defect. I compared the schematic of the module with typical application from the datasheet and noticed that R6 had a different value. Even though the divider should provide voltage well above threshold level, I removed R5 and R6, since EN can be left floating for normal operation. To my surprise the converter started behaving properly.

\$\endgroup\$
0
\$\begingroup\$

There is a table in the datasheet showing recommended values for L1, C2, C3 and R3. The values you show in your question are the same as this table except for L1. You show 4.7uH, but the table recommends 15-22uH for Vout = 5V. I am not sure that is what is causing your problem, but it is worthwhile to try something in the recommended range.

You should also add a picture of your circuit on perf-board. In my opinion, prototyping on perf-board is almost a waste of time. There is no way a 6-year old part from MPS is going to flat out not work. So just use a low-cost PCB service for prototyping. (Express PCB is really easy to use for beginners). Follow the datasheet carefully. Read it as many times as you have to to absorb everything. And everything will work.

\$\endgroup\$
1
  • \$\begingroup\$ Please see my edit to the original post. \$\endgroup\$ Jul 2, 2016 at 9:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.