Powersupply design with Microchips LDO MCP1701A
JohnR2010
Posts: 431
I have smoked 3 propellers with my circuit based on this regulator http://www.mouser.com/ds/2/268/21991b-70927.pdf and I think I have finally figured out what I did wrong. But before I smoke yet another one I thought I would get some input. I have been using Microchips LDO family of regulators successfully in several of my circuits that use 3 AA batteries but this is the first time I have used this version that is rated for 10v (9v battery).
I think where I went wrong is with the 1uF input and output capacitors I have been using. I was making sure the cap's voltage rating and capacitance was okay but paying no attention to the ESR (Equivalent Series Resistance). Turns out the caps I have been using have an ESR of 12 Ohms and on page 10 of the above data sheet they call for less than 5 Ohms ESR.
Will this cause some type of surge to my propeller and damage it? Before I connect the propeller I checked the voltage and everything always looks great 3.3v on the nose. When I shut everything down and put my propeller in the circuit it boots up runs for a few seconds and then stops. The current jumps up to about 90mA while all this is going on and then drops back down to 5mA. From this point on the propeller is dead if I replace it with another chip the same thing happens. I would be happy to share my schematic but it is very simple and works very well with other power supplies.
Before I order the correct caps and try again I thought I would check with the forum.
Thanks.
I think where I went wrong is with the 1uF input and output capacitors I have been using. I was making sure the cap's voltage rating and capacitance was okay but paying no attention to the ESR (Equivalent Series Resistance). Turns out the caps I have been using have an ESR of 12 Ohms and on page 10 of the above data sheet they call for less than 5 Ohms ESR.
Will this cause some type of surge to my propeller and damage it? Before I connect the propeller I checked the voltage and everything always looks great 3.3v on the nose. When I shut everything down and put my propeller in the circuit it boots up runs for a few seconds and then stops. The current jumps up to about 90mA while all this is going on and then drops back down to 5mA. From this point on the propeller is dead if I replace it with another chip the same thing happens. I would be happy to share my schematic but it is very simple and works very well with other power supplies.
Before I order the correct caps and try again I thought I would check with the forum.
Thanks.
Comments
Also make sure that the capacitors are close to the regulator
A 30 - 50 ohm resistor could be used as a test load instead of a propeller. You might be able to measure for oscillation by flipping your meter to AC and measuring across the regulator leads. I've done this on linear and switcher PS up into the kHz. It would be nice to know if the "as-is" circuit has oscillation. You should be able to see the problem before putting another prop on the board. Or maybe it's something else altogether.
I circled the power circuit in red.
U201 = MCP1701A (10v in, 3.3v out LDO voltage regulator. http://www.mouser.com/Search/ProductDetail.aspx?R=MCP1701AT-3302I%2fCBvirtualkey57940000virtualkey579-MCP1701AT3302ICB
C201, C202 = 1uF (16v dc) Tantalum Capacitors with 12 ohm ESR http://www.mouser.com/Search/ProductDetail.aspx?R=TP8M105M016Cvirtualkey61320000virtualkey74-TP8M105M016C
As I said above the only thing that I can see that I have done wrong is C201 and C202 have a 12 ohm ESR while the specs of the MCP1701A call for 5 ohm or lower. This morning I tried to duplicate the problem by using a 33 ohm resistor in place of the propeller to see if I could cause some type of power distortion. All testing showed 3.3vDC (No AC) clean as a whistle. I'm about to give up on this LDO regulator and switch to another manufacture. I hate doing that without knowing the root cause of my problem.
FYI this circuit works great if I use the MCP1700T-3302E/TT http://www.mouser.com/Search/ProductDetail.aspx?R=MCP1700T-3302E%2fTTvirtualkey57940000virtualkey579-MCP1700T3302E%2fTT and drive it with 3 AA batteries. I need to run this with a 9v battery that is why I made the switch to the MCP1701A
Thanks Mike and Domanik for your input!
I test it first without the xBee installed and then install it if everything looks okay.
I'm using Digi's ZB SMT version that draws a max of 45mA in Burst mode. Even the pro version only draws 100mA looking at the spec sheet right now on page 7. This circuit does work very well if I run it with 3 AA batteries and a different regulator with the xBee installed. I have been monitoring the current usage very closely as I'm trying to max the run-time on batteries. And what I have observed is inline with what the Digi manual says in regards to current usage of the xBee.
Thanks anyway but I think you are thinking of some other xBee.
Based on the Silkscreen on the board in your picture, I assumed it was a Series 1 module:
http://www.adafruit.com/products/964
If there is a glitch in the power supply, it is likely to be right at the instance that you connect the battery, or during load transients.
I use the MCP1703 quite a bit. My tendency is to go overboard with the input and output capacitance. Yes, 220µF tantalum in parallel with 1µF ceramic, plus all the 0.1µF bypass capacitors. This is a micropower regulator and as such it is quite slow and you can't have too much capacitance.
Another bit, the MCP17xx series has no protection whatsoever against power supply reversal. That is due to the mosfet pass transistor with its reverse substrate diode. If you are going to run this off of a 9V battery, I'd suggest putting a schottky diode in series at the input, just in case...
Top side with ground plane on:
Bottom side with ground plane on:
Are you using the 220uF tantalum and 1uF ceramic on both the input and output side of the MCP17XX? If so as far as placement I wold think the 1uF cap would be closest to the regulator followed by the 220uF? Do you know off the top of your head what your ESR value is of the 220uF tantalum?
Regarding the diode I was just thinking that yesterday as I almost touched the 9v battery terminals backwards before I snapped it on. Not a problem with my AA battery case if you put them in backwards they wont conduct.
How inductive are your power supply wires? One of my circuits became an expensive piezo buzzer after I designed in 39uH inductor and 10uf ceramic capacitor low pass filter before the LDO input. (high capacity ceramic capacitors are almost all piezoelectric)
I also see some issues looking at your ground plane. The Vcc line on the back chops up the ground plane right under the propeller. Right where the most high frequency current flowing. The additional inductance won't help at all. This is why I like to avoid routing in the ground plane of a 2-layer board as much as I can. (I try to stick to short jumper only inside the ground plane) It also wouldn't hurt to move the bypassing capacitors closer to the Prop and LDO, but I doubt this is bad enough to fry anything. Stitching the top and bottom ground planes together with vias should also help.
Might need the prop in the circuit to get the LDO to oscillate. In that case I'd get some 3.7v zeiner diodes to clamp VCC before testing further.
Marty
As Marty said the GP needs to be in more places and stitching vias used top to bottom layers. And traces that cut through the GP should be moved towards the edge of the board or routed on top.
The GND trace on 27 could be left in place but end before connecting to the Pin 27 pad (as shown with green traces). A ground pad via could be placed on the inside of the prop to connect 27 to the bottom GP. (as shown) This will allow the previous trace to act as a shield instead of a feedback path, because there will be no ground currents flowing along side the xtal traces.
It would also help to angle the Pin 30 trace to the left and allow the GP to expand towards Pin 29 to work as another shield to the other xtal input.
If you take a look at the layout for the QuickStart, the crystal is somewhat shielded by the GP flood. Also note the copper pour extends under the prop package to provided ground connections from the inside out.
If you want to test the theory: 1) cut the pin 27 trace near the pad. 2) attach a wire strap from pin 27 to a nearby ground.
My tips on pcb layout in general:
1) Try to place the regulator close to the load and don't lose the ground plane advantage by having it split
2) Don't split the ground plane so that a cap connects to one of it while the chip or regulator connects to another end of it (long way around = noise/impedance).
3) Avoid HC49 crystals as there are plenty of small ones, even cylindrical to choose from but always keep the crystal close as possible to the CPU and a guard ring around it connected to ground AT the CPU (Pin 27).
My 220µF tantalum is AVX TPSC227K006R0125, 6.3V ESR=0.5Ω @100kHz.
That is overkill for basic stability, but it is a great help for load transient response. The '17xx is a slow, low bandwidth regulator, and extra capacitance helps to supply current until the regulator can "catch up".
Also, more capacitance and low ESR would slow down the initial rise of voltage when the battery is attached. With a small high ESR ceramic, that startup glitch and oscillation could be substantial, and could well explain the smoke you described. Did you mean "smoke" literally? I wonder why "the circuit it boots up runs for a few seconds and then stops". Not instant death, anyway.
Tantalum caps are generally better behaved than X5R ceramics, no sharp resonant frequency, no voltage dependence of capacitance, no microphonics, so a tantalum filter with no special effort can be less noisy than one made with with ceramics. Sprinkle X5R ceramics around to bypass close to the chips. But avoid Z5U capacitors and their ilk. I agree, a bulk capacitor at the regulator input is also important, both for stability and for transient response. And do avoid splitting the ground plane, but I don't think that in itself would cause this problem.
This is a homemade board I make with my 40 watt laser by burning off paint where I want the etchant to eat away. After the laser burns the paint away I still have to wipe the burnt paint off the board and I have found I can have small traces but I need as much space between them so I can clean the exposed copper. So around the propeller (on the top side anyway) I have to keep the ground plane away from the high density traces so I can clean the board before etching. When I have the board made I can change that.
Every failure (all 3 times) 2 on this board and 1 on another identical board the propeller either booted (eePROM was already programed) or responded to a program upload from my laptop sitting next to it on the bench. And every time, I would remove the power try again and the propeller would not boot. Tested board voltage and it always shows 3.3 volts power supply didn't appear to be damaged.
On the second and third attempt I had my current meter on the battery during the first power up and noticed about a 90mA increase over the normal 15mA it usually takes to run the circuit. There was never any smoke anywhere and the propeller was not warm to the touch. However the MCP1701A was very hot (no smoke).
The crystal conversation reminded me of something. During the last failure after the first successful boot and run. I tried to re upload my code into the propeller and it successful loaded to ram moved to eeProm but it wouldn't kick over and run. I suspected the crystal since it would upload but not run so I wrote a little test program that would only use the internal oscillator and it ran. I replaced the crystal and tried again and then the propeller became non responsive. At that point I walked away a bit frustrated. But here is the kickier. I came back the next day removed the propeller and the MCP1701a and its two caps (I have low melt solder that allows me to remove SMT components) replaced the propeller and the MCP1701a with a version designed for 6v (I use 3AA batteries) instead of 9v and this exact same PCB with the original eePROM ran fine. In fact I used it for over a week to finish my code it ran 24hrs a day measuring the TDS in a cup of water and reporting it over ZigBee. The only difference between the version that works and doesn't is the voltage regulator and battery configuration.
Unless you can think of anything else to try I think at this point I'm going to redesign the board based on input from this thread, add your caps to the input and output of my regulator and giver her another try. I think schematic wise I have a workable design (except for the caps around the MCP1701A, and the schottky diode on the battery input ). AS always thanks very much for your input!!
Probably said this more times than I could count but when measuring the voltage with your voltmeter do not completely trust the reading just because it says 3.3V. The meter is slow and is reading the average so if your regulator were oscillating wildly around the 3.3V mark and even if those swings were a volt either way the meter would still read 3.3V. Of course a scope would reveal all but the simple trick is to put your meter on AC and if all is good then it will be near zero but around 100mV or more could mean trouble.
I noticed that you didn't have any pull-ups on the RXD and TXD and although these are "necessary" I do find that if you do enable serial comms and have your Prop Plug disconnected that the RXD will be prone to getting false signals unless this line is pulled-up. Also when the Prop is reset and there is no pull-up on the TXD what can happen is that the line can float down and put a whole heap of junk in the PC's receive FIFO and this can at times cause the Prop tool to report "Propeller not found".
Did you put that bulk capacitor on the regulator input??? Seeing that you have a few inches of lead or more running off to the power supply then this capacitor is a must, even 10uF will help.
Peter I only use the RXD and TXD (Pins 31, 30) for programing and debugging and they are connected to Parallax's prop plug. When the board is running in production mode (non debug) these pins are set to output and high. The reference design (from parallax) i have based this circuit off of does not have pullups on those two pins I have been doing it that way for years. I do however have 10k pullups on pins 28 and 29 that connect the eeProm. This is the first I have heard that pullups on pins 30, 31 are necessary. I can sure see your point and went back through several reference designs from Parallax and none of them have pullups on 30 and 31?? Maybe you meant to say are not "necessary" but you are suggesting I add them.
In regards to the cap on the regulator input: Yes sir I plan on adding a 220uF tantalum in parallal with a 1uf ceramic on both the in and out of the regulator. Sound good?
Another thing to consider about the regulator itself is power dissipation. The SOT23 package thermal resistance is 230°C/W when mounted on a 4-layer board with a good connection to the ground plane, or 335°C/W when mounted as you have it with simple traces leading to its pins. Consider a 9V battery and 3.3V output into a 50mA load. 0.050 * (9 - 3.3) * 335 = 95 °C above ambient. Remember how hot your '1701 was getting with 60mA. It is supposed to go into thermal shutdown to protect itself, but I wouldn't want to get anywhere near that. The system with XBee will sit somewhere in that neighborhood. I'd recommend using the SOT-89 package, which has a nice thermal tab that you could solder directly to your ample ground plane. It offers a much more acceptable thermal resistance, 52°C/W.
With regard to pins 30,31. It depends. I like to leave them open or even put a 1M resistor to common on rx. That allows the program to test at startup for the presence of a Prop Plug, in which case the pins will be found to be high. If, not, the program locks the pins high and does not bother to start the serial port.
On your pcb diagram in post #10 I see a line (whisker?) between the 'y' centre point (top left quarter of bottom diagram) and the ground plane. Probably just an anomaly but???
Dave
Oh the circuit is getting a Schottky on the battery IN terminal. I have settled on the MBR0520L http://www.mouser.com/Search/ProductDetail.aspx?R=MBR0520Lvirtualkey51210000virtualkey512-MBR0520L I'm open for suggestions. The MBR0520L has a .385 forward voltage drop and if I'm using a 9v battery that won't be a problem. It also has a 250uA reverse current that I think is low enough to not cause damage?? I also spent some time researching the use of P-Channel MOSFET to help with the polarity reversal protection but for now I'm sticking with the Schottky.
Regarding SOT-89 I think that is a great suggestion. I don't see the SOT-23 being a problem with this circuit (That xBee is in standby 90% of the time and when it is transmitting we are talking 20 to 30mA at most for just a few seconds) but I would like to have a good solid design and as you say not even get close to thermal shutdown.
Hey thanks Dave. This is a rat line from the top layer that just got printed when I printed to file. Its not on the real PCB.
Peter do you have a crystal part number you can recommend? I use Mouser and DigiKey here in the states and 5MHz non HC49 smt crystals are slim pickings.
Since you're in the mood for a diode, how about a 20 ohm resistor in series with the 9V+. That will will limit the current through the diode to 430ma if there's a reversal (8.6V/20ohm). At the same time the resistor will cut the reg power down. For example without the resistor you have 200ma going from 9V to 3.3V= (9-3.3)*.2a = 1.14 watts to be dissipated by the regulator.
But 20ohm * 200ma * 200ma = 0.8 watt dissipated by the resistor and 0.34 watts by the regulator. All you have to do is make sure the overhead voltage for the regulator is there at max current.
BTW, the input diode doesn't need to be Schottky at all and in fact you want more of a voltage drop so it is advantageous in your circumstances to use a regular diode such as a 1N4004 etc.
Small 5MHz crystals are hard to come by but there is nothing stopping you from using a 10MHz crystal, the Hydra always used them, most of my commercial designs use them etc. Plenty to choose from but [url]="http://www.digikey.com/product-detail/en/0/887-1741-1-ND"]here is one[/url] that I have used before.
Sorry, run out of time to comment further but I like the DIY board, it looks neat.
Guys please keep in mind that I'm not pulling anywhere close to 250ma with my circuit. At the worst case it bounces up to 70mA and that is pretty rare. The xBee is not the xBee I think most of you have worked with (I should have changed my silkscreen) It tops out at 40mA during burst transmit.
The 250ma figure is what most see and think they are nowhere close to that so they are "safe". Not saying that's the case with you John but you had a stack of room on your board even for a TO220 if it came to that and 70ma x 6V drop say = 420mw which will mean 140'C above ambient even without the Xbee. Definitely not the package you want and I wonder what made you choose it (curious).
I normally use switching regulators for anything above 6V and these ones are real easy to use and cost $2.84 one off. The good thing about switching regs is that they are more efficient and you may find that for 70ma load that the battery draw may only be 45ma or so.I like to regulate down to 5V with a switching reg and then use your little SOT23s if you like to regulate an nice smooth 3.3V. The linear regs will only have to worry about a 1.7V drop which at 70ma = 119mw, much more manageable.
Unlike my previous projects the projects I have been working on recently are battery powered and the reason I chose the LDO regulator for this circuit is for the super low Quiescent Current 2uA compared to the 1.5mA in a switcher. And up to now I have been driving the circuits with 3 AA batteries so the voltage drop is much lower and the LDO has been a dream come true up to this point. 9v came into play when I found this nifty case that fits my circuit perfectly and it comes with a 9v or 2 AA battery power option. I cant use the 2 AA battery option as I have to have 3.3v for one of the circuits I'm using (I know the prop can run down to 2.8v and lower if I disable the brown out circuit). Well since most of the time and I very much mean most of the time the propeller is asleep and the xBee is in standby and my total current draw is around 80uA. This circuit wakes up once an hour takes measurement uploads it over ZigBee and then goes back to sleep. The boot process and the hourly measurement are the only times I'm out of the sub 100uA range. So with that in mind I thought lets give 9v a try and see what happens. So that is how I got here I think I'm going to push forward and make another board with the improvements suggested and see how she works. If it just doesn't pan out I will look for a new case that will hold my circuit and 3AA batteries.
Thanks again for your help!!