In August of last year, I wrote an article describing a design based on Texas Instrument’s TPS61200 low input boost converter. Soon after that, Sparkfun expressed interest in producing and selling this design. In just six short months, a LiPower has become available from Sparkfun store. It is a switchable 5V/3.3V boost converter designed to run from single cell Lithium-Polymer battery.
The TPS61200 converter is extremely versatile. It will start into full load from 0.5V, it can output decent current, it can operate when input voltage is higher than output, it can be programmed to switch off at certain input voltage level, preventing rechargeable battery from going into polarity reversal. It can also do many other neat things – to get an idea, take a look at Application Notes section on TI site. However, it is very hard to make a product capable of all this neatness at the same time. Out of the box, LiPower is exactly what is stated on the product page – the output can be switched from 5V to 3.3V and the undervoltage lockout (UVLO) is set to 2.6V, which is minimum safe voltage for LiPos. In this article, I will show you how to modify converter’s UVLO threshold to make it suitable for other types of batteries. I will start from very simple mod which eliminates UVLO completely and then explain more advanced modification, where UVLO can be set to a certain voltage.
1. Simple UVLO eliminator
If you want to use primary cells, such as alkaline or non-rechargeable lithium, you don’t want your switch to turn off at 2.6V. On the contrary, you want your supply to run until the last drop of juice gets sucked out of the battery. To set UVLO to the minimum possible value, which is 250mV, UVLO pin must be tied to Vin; the easiest way to do it is to place a short across resistor R3 (see schematic). A picture on the left shows how to achieve this – the green asterisk marks the place on the boards where mod is located.
Take a 4-6″ piece of bare thin wire, tin one end of it. If you have a vise, clamp the board so that JST connector is on the left and component side is on top. Apply some liquid flux to R3 and C2. Take wire in the left hand and place tinned end between R3 and C2. Heat up with soldering iron until soldered. Cut the excess wire leaving a little extra in case you later decide to revert to the original configuration.
To demonstrate that you don’t need to be NASA-certified electrical assembly technician to solder SMT parts I tried to produce as sloppy a soldering job as I possibly can – despite somewhat scary look modified circuit works just fine. Look closely and you will notice that I inadvertently de-soldered R3 from its place. Should this happen to you, solder it back somewhere so you won’t lose it.
This is it – the modified LiPower will work as long as input voltage is higher than 250mV. Note, however, that maximum output current is going to be low as well. According to figure 1 of the datasheet, it will be around 50ma depending on output voltage.
One last thing about this mod. Since R4 – the lower resistor of the voltage divider is left in place, some current will flow through it all the time. The amount of current depends on input voltage and can be calculated using Ohm’s law; for example, for 3V input the current through R4 is 13uA (it’s micro-amperes). If such amount of current is of concern, remove R4 from the board (it is located on the right of R3) and make sure its pads are not shorted together.
Do not use this mod if your power source is of secondary type, such as a battery of NiMH cells. For rechargeable batteries, you do need UVLO and it has to be different from default UVLO setting. Keep reading – modifying UVLO is a liitle bit more involving.
2. Modifying UVLO. An introduction
The UVLO circuit of TPS61200 works like this: converter switches off when negative-going voltage on UVLO pin reaches 250mV. Converter switches on when positive-going voltage on UVLO pin reaches 350mV. This property is called a hysteresis. Hysteresis protects the converter circuit from oscillations when battery drains down to the threshold – we all know that when you remove the load, the battery voltage raises a little. Consequently, if there were no hysteresis, the converter would switch off at UVLO and then immediately switch on because unloaded battery voltage would raise above UVLO. It should be noted that purpose of capacitor C2 is to temporary disable the UVLO – it momentarily shorts R3 when power is applied making starting the converter from less than freshly charged battery possible.
To program UVLO threshold to a certain value, a voltage divider R3/R4 is used. It is set to output 250mV when it has desired voltage on the input. The input of a divider is connected to Vin, i.e., the battery. The formula for ULVO divider can be found on page 16 of the datasheet at the very top.
At present, two main types of rechargeable cells are used – Lithium and Nickel-Metal-Hydride. End of discharge voltage for NiMH is specified at 0.8V per cell and we are only really interested in UVLO values of 0.8V, 1.6V, and 2.4V for single, double and triple-cell MiMH batteries, respectively – the output voltage of four or more cell batteries is too high for TPS61200. 2.4V is close enough to default 2.6V, so LiPower can be used with 3-cell NiMH without modifications. We can see that we really only need to move UVLO voltage down from 2.6V and this can easily be done by soldering a resistor in parallel with R3. The value of resistance of R3 in parallel with this added resistor will be smaller than R3 alone, therefore, the output of the divider in relation to the input will “raise” and UVLO will go down.
3. Real life UVLO mod
Let’s say, we want to run 5V Arduino from single cell NiMH. We want LiPower to turn off when battery drains below 0.8V. First of all, we need to calculate new value for R3. From datasheet formula we find: R3 = 220K * ( 0.8/0.25 – 1 ) = 484K. Now we need to find a value for the resistor to put in parallel to existing 2M R3 to get 484K. The easiest way to do it is to launch this parallel resistor calculator, fill in R1 field with 2000, fill in Parallel resistance field with 484, press calculate and read result in R2 field. Regretfully, the 638.5224274406332 (kiloohms) value given is not very useful – we need real resistors. Two closest standard 1% resistor values (E96) are 634K and 649K. If we decide to use 634K, the UVLO will be set lower than 0.8V, run time will increase and battery life will decrease. Choosing 649K will have the opposite effect. There is no point in attempting to set UVLO precisely – NiMH cell has sharp voltage drop at the end of discharge and UVLO pin hysteresis will help keep converter off, so as long as UVLO is set in the ballpark, the cell will be OK.
When resistor value is known, it’s time to solder. Picture on the right shows the final result (click on the picture to make it bigger). Two 1/4W 5% resistors connected in series measure 325K-ish each. They are soldered across C2 instead of R3 because 0603 capacitor is slightly bigger and slightly less prone to de-soldering than 0603 resistor. Liberal application of solder flux is the key to a good solder joint. Quick testing of the modified circuit reveals that the TPS61200 switches off when input voltage falls to 0.863V and switches back on at 1.0V – given component tolerances this result is almost perfect.
Choosing parallel resistor for setting 1.6V is left as an exercise for the reader.
4. Final notes
Modifying LiPower’s UVLO settings board is simple, thanks to clever board layout and component value choice. With very little effort the board can be made suitable to work with one or two cell NiMH batteries. I am hoping that my explanations were helpful; if anything is not clear, please don’t hesitate to leave a comment with your questions. I am planning to write couple more articles explaining other LiPower board mods, such as solar cell MPPT tracker and white LED driver – stay tuned!
Oleg.
Dear Oleg:
my name is kent.
Sorry to bother you.
I send you this mail from Taiwan.
Glad to see your article about modifying TPS61200 undervoltage lockout.
I got TPS61200 samples 3pcs from TI
and going to make a D-D conve charge my cell phone
with rechargeable batteries 18650 type.
I want D-D conve to turn off when battery drains below 3V.
value for R3=2.0M and R4=180K then UVLU will be 3.03V
follow datasheet (without C2)
but it can’t switches on at Vin battery=3.7V
Could you teach me how does C2 work
and how to calculate and decide the C2 value
if change R3 value should change too.
to keep necessary RC time constant of R3 & C2
if C2 value more or less what it will be.
my poor English very sorry
Thanks!!
Best regards,
Kent
2011-16-march
UVLO has 50mv hysteresis, which means that voltage going up shall be larger than ((UVLO+50mv)*(divider ratio)) to turn the converter on. A capacitor across upper resistor in UVLO voltage divider shorts it momentarily so UVLO is off for the period of time. The value is not critical, 0.1uF will work.
Hi Oleg,
I am trying to use a 3.7V 2000mAh LiPo battery to power my Quadrabot. I need the batter to power the Arduino Mini Pro 3.3V board and 12x HXT900 servos. I dont think that the LiPower is giving enough current to power everything. Is there a way to boost the output current?
pre thanks
Output current of TPS61200 is internally limited. If you need more current, use another controller.
Any plans to produce a board where UVLO is jumper selectable? You may not need to NASA certified, but I’m sitting here with R3, C1 and C2 all lost inside different blobs of solder on my desk, so it seems you have to be a little better than me 🙂
I’d love to see a board revision that has easier UVLO modability too. These resistors and caps are really too small to solder through-hole resistors to it. Atleast, they can snap off too easily.
Hi Oleg,
Many thanks for this tutorial, detailed explanations and pictures!
It was easy to follow and great fun to do the UVLO mod.
I’m trying to connect to tps6120 Solar power 0.7 watts, but the scheme does not start. What can you advise?
try to start it without load. When you get output, load it. If it won’t hold then load is too heavy for the panel/amount of light
i adjust Vout to 5V, & Vin>3V & need output current to be in range 0.6A
but the output current that IC supplies for me is in range 0.09A
would you help me:
– how to adjust the limited current of IC?
or
– what parameter i should change?
Your prompt reply is highly appreciated.
Thank you.
How do you measure it? Does Vin stays at 5V when you load the converter?
I connect a 3.7V Li-ion battery @ output
Then increase Vin from 3.2V to 5V
but Iout (which i measure by ammeter) changes fom 0 to 0.09A max.
Does your battery have protection circuit inside? If yes, then it likely limits input current at such a high voltage. If no, the life of your battery will be shortened significantly (it could be dead already); the battery may also ignite – I suggest you to stop doing this.
yes my battery has a protection circuit inside
my design is to charge a mobile battery
i sometimes test by charging mobile directly through USB
of to battery terminals (that has protection circuit)
but another something happened with a test with me:
that one mobile was low battery, when connected it with output, it drains 0.3 .. but other mobiles also low battery didn’t take above 0.09A!
can you help me please?
You need LiPo battery charger circuit. They are aplenty, just google around.
yes my battery has a protection circuit inside
my design is to charge a mobile battery
i sometimes test by charging mobile directly through USB
of to battery terminals (that has protection circuit)
but another something happened with a test with me:
that one mobile was low battery, when connected it with output, it drains 0.3 .. but other mobiles also low battery didn’t take above 0.09A!
can you help me please?
Guys,
I found that to get the circuit working at 3.3v with the UVLO removed (as per the article) requires not only connecting the UVLO pin to VIN as described in the article, but also the removal of R4, as otherwise R4 upsets VOut.
Thanks
Kev
I think you shorted something out. Look at the value of R4 and how it is connected – it can’t possibly “upset” Vout (whatever this means) if everything is wired correctly. If it’s shorted out then UVLO will trip.
hi ,
i want to know, if i use Vin 0.3v , can the li power boost to 5v and how about the amp? It possible to charging the smart phone as i-phone or sony walkman ? thanks
See the datasheet. The current is going to be 10ma, it will take a lot of time to charge anything with this kind of current.
Oleg,
Thanks for the design of this circuit. I’m trying to use it to pull a constant voltage (5v) from the tail-end of a constant current supply (for an LED matrix), but it doesn’t want to work. If I power the LIpower from a battery, it runs fine. When I power it from the supply, I get (relatively) high frequency, low-voltage oscillations. I wonder if the LIpower is shutting down on initialization because the input voltage is dropping too low under while the supply tries to maintain its constant current.
Any ideas? Should this work? I’m considering doing the UVLO mod to see if it makes a difference, but I haven’t brought myself to hacking a perfectly good voltage regulator yet. Last resort, I guess.
What is the input voltage to the regulator?
5.2v without load. When its fully loaded with all the LEDs on, it drops to about 3.8v.
Been doing a little more testing today. I think I might have a bad board. I noticed that just touching the PCB around the 3.3/5v solder bridge (SJ1) and what appears to be the pad-side of R6, that I could get the voltage to jump up around 4.8 to 5v under load, sufficient to drive the Pi. I have two boards and I’ve only tried one of the boards so far since it requires soldering into the application. In any case, both boards have the same resistor values for R3(500k), R4(200k), and R6(200k), which are not matching the schematic. R5 and R7 do match the schematic values. My meter is unable to measure capacitance, so I can’t check those components. Continuity on traces seems to be good. idk.
I eventually broke down and swapped out the first LiPower with the second one.. It is behaving properly. I’m going to drop a line to SparkFun and see what can be done for the faulty one.
It seems that a power pad on the bottom of the TPS61200 package is not soldered. Try to reflow the board once again on a skillet.
Hi Oleg
Thanks for sharing this valuable experience for TPS61200. I want to use this IC in my project but I do not understand the behaviour when VIN is bigger than VOUT. I will have a single cell Lipo battery in the input and I will power the MCU and sensors with 3.3V output of TPS61200.
Datasheet says “power save” is forced when downregulating. Should I connect PS pin to GND or does it mean IC automatically enables PS although PS pin is connected to VIN (high).
Briefly, do I need a special configuration to get 3.3V stable output during lipo battery usage from a fully charged 4.2V state to 2.6V UVLO state.
What happens when you turn PS on and off while downregulating?
In the data sheet, it says
“The Power Save mode can be disabled by programming a high at the PS pin. In Down Conversion mode, Power Save mode is always enabled and the device cannot be forced into fixed frequency operation at light loads. The
PS input supports standard logic thresholds.”
What does this mean? Is it enough to enable powersave (PS pin LOW) to have 3.3V output even input voltage is higher than 3.3V I do not have any TPS61200, so I do not have any practical experience.
It means don’t worry about PS if you down convert.
Is 2.6V safe for any 3.7V lithium ion battery? I don’t want to damage the 3.7V cell phone battery I am powering my project on and want to make sure 2.6V is high enough. Do you know what the typical safe voltage range is in these li-ion cell batteries?
Thanks!
If you want to be safe set it to 3V. The difference in run time is going to be small.
Thank you for your response!
What would be the best way about setting it to 3V? Or 3.5V (I have messed around with lithium ion batteries in the past and have had polarity problems when I discharge them too far and I am worried about damaging my battery). I say 3.5V because after testing, my cell phone turns off when my battery is at 3.5V.
If I wanted to change the impedance of R3, solving with the datasheet equation, R3 = 220k ( 3.5/0.25 – 1) = 2.86M. But there does not exist a resistor to put in parallel with R3 to raise the impedance from 2M up to 2.86M.
Would I have to remove R3 and put in a new resistor or could I instead change the impedance of R4?
(1) R3 = 2M = R4(3.5/0.25 – 1) –> R4 = 153.85k.
(2) R4 = 153.85k = 220k // R –> R = 511.67k
I hope that made sense. What do you think of these possible solutions? Is there a better option?
As long as you satisfy input current req. into the UVLO pin you should be OK.
I’d like to use the TPS61200 board to step-up from a SuperCap instead of a battery. If I’ve understood correctly I would need to set UVLO to the minimum of 250mV (shorting R3).
Now, 250mV on a 2.5V SuperCap are 10% of charge (a lot to just leave there)…
Can I feed the TPS61200 with 10V by serializing the SuperCaps so that 250mV become a 2.5% of the charge?
The max.voltage into TPS61200 is 5.5V.
There are a few comments on the Spark fun website saying that the circuit is drawing over 8mA DC at no load because power save (PS) is disabled on this board. Is that true? I need a boost regulator for a data logger with a year long deployment, so this would prevent me from using this board.
Hi, trying to use this to boost a 0.35v source to 5v USB power (no lipo connected). I removed the UVLO but it won’t react until I raise the input to 0.8v, then it outputs a fine 5.0 volts. Problem is I need to get down to at least 0.5v input, which the specs says will deliver full power. I’ve had the unit lying around in a bag for a while, might it be broken?
Only very low output current is possible when the input is that low. For 0.5V input “full power” is 10ma. Check that your load won’t try to draw more than that.
My load is just a multimeter for now. Eventually I want to charge a USB device so it will probably try to draw more than 10mA…
I remember trying low voltage and it worked as per datasheet. Strange that it starts working at 0.8V for you instead of 0.5V. Did you clean the flux from the board after making modifications – something might be leaking somewhere?
Hey so I need 520mA with output of 3.3V so will that work?
Depends on the input.
I will be using 3.7V lipo battery
it won’t work. In down mode it is similar to linear reg and you need to de-rate.
So do you know any other buck up booster product which can give me 600mA with output of 3.3V
Check Pololu, they have plenty.
The problem with that is that they don’t post any data sheets or schematics so I can understand how they did it and what they used.
Hi Oleg. I’ve been searching for an off-the-shelve small PCB that include a LiIon or LiPoly charger circuit in conjunction with the features of this board. In other words it will have a constant 3V3 output and charge the battery when connected to a USB 5V supply. And it will also prevent you from discharging the battery below 3V3. Sounds like something many people need, but my google searching so far have not shown a good solution. I have however found charger boards like ones based on the MCP73833. Do you think it is possible to to wire such a charger board “in parallel” to your TPS61200 board without negative effects?
Sparkfun makes one -> https://www.sparkfun.com/products/11231
Thank you very much. Exactly what I was looking for.
Hi Oleg,
I want to run a sensor node using this module. In sleep mode it consumes current < 1mA, can I connect the PS to ground in layout to get maximum efficiency?
Try both ways to see which one consumes less in sleep.
If using this with primary cells, can R3, R4, and C2 just be removed from the circuit and jumper the pads where R3 was? I’ve looked at the data sheet and many of the app notes and don’t see any reference to a capacitor there. Will it affect anything if it is removed?
Hi Oleg,
I try to use your nice Lipo powerbooster with a solar panel from solarbotics: https://solarbotics.com/product/scc2433b-mse/. It gives a nominal 4.5V / 18mA (sunlight).
I have used the UVLO eliminator, but also I have used the board as it arrived from Sparkfun, and used it in both ways with this solar cell.
I noticed something I cannot understand:
1. It works well when I have this solar cell in bright sunlight (giving the promised voltage by the manufacturer) and after this (!) connect the Lipower board to get the 5 volt output. Then it works fine;
2. When I have the solar panel in the shade/or dark surroundings and then I connect the Lipower to the little solar panel there is no output from the Lipower. That makes sense, because the voltage of the solar panel is probably too low to start the converter.
3. However when I leave the two connected with each other and I move this combination out of the shadow to a very sunny place, I expected to see again a 5 Volt output. This is strangely not the case. Then it just does not work with the original Lipower boost converter and it also does not work under this condition having used the UVLO eliminator.
4. Also it doesnot work again after I followed procedure 1, then put the combination in the dark for a while and then back to the full sunlight (without having disconnected both parts).
I am really puzzled by this. Why is this happening? And what can be done to solve this problem?
I like to use the combination in which I want to have all parts always connected, have the converter work during daytime when there is enough sun, have it shut down when it gets dark and/or during the night and start work again during the following day when there is enough sun again.
I hope to receive an answer from you soon.
Best wishes,
Addy
You’re overloading the panel. You need larger panel or maximum power point tracker (MPPT).