Selecting one of two supplies

Discussion in 'The Projects Forum' started by SlashDev, Jun 2, 2013.

  1. SlashDev

    Thread Starter New Member

    Apr 28, 2013
    For my low-power project, a microcontroller needs to be able to select one of two power sources. One is a mains-powered 3.2V power supply, and the other is a solar cell that charges a SuperCap. When the SuperCap is charged, the uC should run off of it. When the SuperCap voltage is too low, the uC needs to run off of the mains-powered 3.2V PS.

    For most of the day, the load is << 1mA. Once or twice a day, the load (LED lights) could be 200mA for several hours. The traditional choice would be a NO relay, but driving it takes on the order of 10mA. I've never used MOSFETs, but it seems like they might be a good fit for this application: at these small currents, the voltage drop across a MOSFET is also small.

    However, by the time I accounted for break-before-make and reverse flows, it was just easier to use a SPDT Analog Switch. The Fairchild FSA5157 seems to be a good possibility. Other alternatives: TI TS3A24159, Analog Devices ADG884 and NXP NX3L1G3157.

    The SolarPS circuit is based on the LTC3105 StepUp Converter, which provides an open-drain (essentially floating) PGOOD signal when the SuperCap has been charged. As you might expect, PGOOD is pulled low when the SuperCap voltage drops below 90% of the target Vout.

    What I did not expect, however, is that PGOOD also floats during startup, even though the SuperCap voltage (Vsolar) is really low, perhaps even 0V. The LTC3105 should exit startup when Vout rises above the LDO voltage, 2.2V. For an open-drain output, I think you would normally add a pullup to have a nice, positive PGOOD. This float-during-startup prevents me from adding a pullup -- the switch would incorrectly choose Solar.

    To make sure the MainsPS is selected during startup, I think I need to add a section like this to the PGOOD line:


    Here are the characteristics of these MOSFETS:

    Rds(on) Vgs(th) Vgs(max) Vds(max)
    IRLML2246 0.2Ω -0.4V to -1.1V -12V -20V
    2n7000 2.1V 20V 60V

    I think this will pulldown PGOOD as long as Vmains - (0.75 * Vsolar) < Vto. Simulations seem to confirm it, but I don't have any experience in this area. *IF* that section does what I think it does, I should be able to add a pullup to PGOOD for the purpose of driving the switch input:


    Am I barking up the right tree? Maybe I'm not even in the right forest? Other suggestions?

  2. MrChips


    Oct 2, 2009
    Why not use two diodes?
    recklessrog likes this.
  3. Dodgydave

    AAC Fanatic!

    Jun 22, 2012
    Just use two schottky diodes as an OR gate, Solar panel to A, mains psu to B, your micro would be the resistor.

    recklessrog likes this.
  4. SlashDev

    Thread Starter New Member

    Apr 28, 2013
    > What about two diodes?

    Yes, I am a little rusty on my EE skills... it's only been about 30 years. :( I remember looking at diodes, but I hated to waste the 0.35-0.7V forward voltage. That's a 10% power surcharge. I think this also happens with back-to-back FETs when implementing a SPDT switch with discretes. One is reverse-biased so it can be fully off, preventing reverse flow. If I understood that approach correctly, that is...

    I guess the voltage drop itself isn't too bad. The μC needs 2.7V minimum, but both supplies are adjustable: they could be run at 3.2+Vf. This would bump the SuperCap Vmax up, too.

    The other thing I noted is that the diodes have a reverse leakage current (~100μA) that is significant compared to the low-power load (4μA to 500μA).

    OTOH, the analog switch is nearly ideal: resistance is very small at 0.4Ω, it can switch up to 350mA, it has almost no leakage (10nA), and its Iq is 30nA. Criminy! Nanoamps. Back when I was a kid, milliamps were for wusses. XD

    BTW, the MainsPS has an enable line (driven by PGOOD?) that will put it into an 8μA standby mode. When using solar, more current could leak back through diodes into the disabled MainsPS than would be used by the uC. I think I'm trading off two diodes, 0.35V and 10% extra power dissipation for 5 discretes and a $0.78 switch.

    My real concern is about how to pull PGOOD low during startup. Does it seem ok?

  5. bootchk

    New Member

    Aug 25, 2015
    This is a late response. But for others interested in the LTC3105, this thread points out how useless the PGOOD signal from the LTC3105 is, since "the pulldown is disabled when VOUT has achieved the voltage defined by the feedback divider" AND "The pull-down is disabled while the IC is in shutdown or start-up mode." Quoting the data sheet. IOW, as the OP points out, if you connect a pull-up resistor to this pin, that network is high when in startup, low when not in startup but VOUT is below threshold, and high when not in startup and VOUT is above threshold.

    A much simpler solution than the OP's is to use an external voltage supervisor (commonly provides RESET to an MCU), which only has three pins.

    I suppose LTC only foresaw using the PGOOD pin for the RESET or enable function of an MCU: when the LTC3105 is in startup, the MCU also typically would not be functional and wouldn't care that PGOOD was high.