I have been studying the datasheets for some of the PIC10/12LF parts. These have both the standard Brown Out Reset (BOR) and also a Low Power BOR (LPBOR). I can't seem to find any difference between these (not even difference in current consumption).

The datasheets are marked as preliminary and no graphs or charts are available. Having both a standard BOR and also an LPBOR seems to indicate that there are some drawbacks using the LPBOR over the BOR. Why would there otherwise be both in the same chip?

I have an idea of using one of these chips for power management for cheap solar PV cells with low capacity NiMh batteries. These work fine when the batteries are somewhat charged but when the batteries are almost completely discharged, the circuit hangs in a mode where more current is drained than can be supplied by the PV cell so the batteries never gets charged and the circuit won't come alive again, no matter how much sunshine there is.

I did a circuit that senses the voltage drop on the batteries in this case that cuts the power to the rest of the circuit for about 90 seconds, giving the PV cells a chance to charge the batteries. When the batteries are charged enough there is a much smaller voltage drop and the rest of the circuit is alowed to draw current. As soon as the battery voltage/capacity is good and the rest of the circuit can start, it runs intermittently alowing the batteries to be continually charged.

The current circuit is made around an OP amp and two diodes as a voltage reference. This could be made much smaller with just one SOT23 PIC10LF320, using the brown out reset circuit to detect the voltage dip (1.8 - 2.10V). I can then also get an external shutdown input, which also simplifies the rest of the circuit.

I had problems with exactly these modules on my recent 10F322 project - the chip would go into reset if the supply voltage was less than about 2.4V. Disabling both the BOR and LPBOR modules allowed the chip to run from a pair of NiMh cells. The datasheet doesn't talk about the LPBOR module, which is why it took me so long to try disabling that config bit and thus solving my problem.

I also had problems when I was using the device header for that chip (AC244045?) - this would also not run at low supply voltages when used with the PICkit3. I opened a trouble ticket with Microchip Tech Support - it took them a while but they confirmed that problem and also told me that this does NOT appear to be a problem when the ICD3 is used instead of a PK3. Tech support says that they expect to fix this problem with the PK3 by way of a firmware update at some future time.

I had also asked Tech Support for documentation regarding the LPBOR module but have not yet had any response to that particular request.

In your particular case, I'd be tempted to use the a/d module with the internal voltage reference. You can run the chip at a very low clock rate which results in a very low current consumption. In fact, my recent project does just this instead of putting the chip into sleep mode - the current consumption was too low when the chip was sleeping.

Odd but true <grin>. The only way to reset my last project from shutdown was to power-cycle the unit and it was going to take HOURS for the supply voltage to decay down to where I could get a proper power-up-reset if the PIC was sleeping. By keeping the PIC running at its slowest clock rate, I get reliable power-up-reset after about 6 seconds (100uF ceramic cap).

I'm also going to suggest looking at something other than a PIC: the Silego 12-pin GreenPAK2 SLG46400 would suit your needs exactly. The only downside is the tiny package.

This chip has a couple of analog comparitors, a voltage reference, some logic and counters, an internal clock source, 8-bit a/d converter, digital comparitors and other glue stuff. Its spec'd to operate from 1.8V through 5.5V.

I'd be using that chip myself in several projects except that it is so difficult to work with that tiny package. I'm seriously considering making a little breakout board to use with those devices - I'd try to keep the board the same size as a SOIC package at about 0.2" wide with half-moon pads (through-hole plated-through pads cut in half) on 0.05" centers. This is about the same size as a narrow-body (0.150" wide) SOIC package when you take the leads into account and would fit into the same footprint.

I'll get a contract manufacturer to actually put the chips on the breakout boards for me. The boards themselves are cheap and the chips cost US $0.27 in hundreds or thousands. I'd probably start with 1000 pcs so as to have some to flog to other people.

>Hi,
>
>I have been studying the datasheets for some of the PIC10/12LF parts. These
>have both the standard Brown Out Reset (BOR) and
>also a Low Power BOR (LPBOR).
>I can't seem to find any difference between these (not even difference in
>current consumption).
>
>The datasheets are marked as preliminary and no
>graphs or charts are available.
>Having both a standard BOR and also an LPBOR seems to indicate that there are
>some drawbacks using the LPBOR over the BOR. Why
>would there otherwise be both
>in the same chip?
>
>I have an idea of using one of these chips for
>power management for cheap solar
>PV cells with low capacity NiMh batteries. These work fine when the batteries
>are somewhat charged but when the batteries are almost completely discharged,
>the circuit hangs in a mode where more current
>is drained than can be supplied
>by the PV cell so the batteries never gets charged and the circuit won't come
>alive again, no matter how much sunshine there is.
>
>I did a circuit that senses the voltage drop on
>the batteries in this case that
>cuts the power to the rest of the circuit for about 90 seconds, giving the PV
>cells a chance to charge the batteries. When the batteries are charged enough
>there is a much smaller voltage drop and the rest of the circuit is alowed to
>draw current. As soon as the battery voltage/capacity is good and the rest of
>the circuit can start, it runs intermittently alowing the batteries to be
>continually charged.
>
>The current circuit is made around an OP amp and two diodes as a voltage
>reference. This could be made much smaller with just one SOT23 PIC10LF320,
>using the brown out reset circuit to detect the voltage dip (1.8 - 2.10V). I
>can then also get an external shutdown input,
>which also simplifies the rest of
>the circuit.
>
>/Ruben
>
>===========================================
>Ruben Jönsson
>AB Liros Electronic
>Box 9124
>200 39 Malmö Sweden
>http://www.liros.se
>Tel +46 40142078
>============================================
>

On 5/25/2012 8:10 AM, Dwayne Reid wrote:
> I'm also going to suggest looking at something
> other than a PIC: the Silego 12-pin GreenPAK2
> SLG46400 would suit your needs exactly. The only downside is the tiny package.
>
> ...

> I'll get a contract manufacturer to actually put
> the chips on the breakout boards for me. The
> boards themselves are cheap and the chips cost US
> $0.27 in hundreds or thousands. I'd probably
> start with 1000 pcs so as to have some to flog to other people.
>
> dwayne

Dwayne,

Please keep us informed of your progress if you proceed with this. I've been interested in those parts for some time and would like to know how it works out.

> I had problems with exactly these modules on my
> recent 10F322 project - the chip would go into
> reset if the supply voltage was less than about
> 2.4V. Disabling both the BOR and LPBOR modules
> allowed the chip to run from a pair of NiMh
> cells. The datasheet doesn't talk about the
> LPBOR module, which is why it took me so long to
> try disabling that config bit and thus solving my problem.

The supply voltage for the 10F is 2.3V to 5.5V and its low BOR voltage is 2..4V which makes it unsuitable for 2 NiMh cells, I think.

The 10LF would be a better choice since it runs on 1.8V to 3.6V with a low BOR voltage of 1.9V.

>
> I also had problems when I was using the device
> header for that chip (AC244045?) - this would
> also not run at low supply voltages when used
> with the PICkit3. I opened a trouble ticket with
> Microchip Tech Support - it took them a while but
> they confirmed that problem and also told me that
> this does NOT appear to be a problem when the
> ICD3 is used instead of a PK3. Tech support says
> that they expect to fix this problem with the PK3
> by way of a firmware update at some future time.
>
> I had also asked Tech Support for documentation
> regarding the LPBOR module but have not yet had
> any response to that particular request.
>
> In your particular case, I'd be tempted to use
> the a/d module with the internal voltage
> reference. You can run the chip at a very low
> clock rate which results in a very low current
> consumption. In fact, my recent project does
> just this instead of putting the chip into sleep
> mode - the current consumption was too low when the chip was sleeping.

Yes, that was my first thought but since the BOR voltage for the LF part is at 1.9V (1.8V to 2.11V wich is good enough for my requirements) I could just let it go into reset which floats the outputs and thus cuts the output power. When it comes out of reset I know that there has been a current surge that was too high for the current charge state of the cells and just wait for a couple of minutes until the output power is switched on again.

If the cells are still not charged, the whole cycle repeats until the PV cells have been charging the NiMH cells enough to get the rest of the circuit started.

I could possibly also use the configurable logic cell functions (CLC) to have an external input gate the output power. CLC also works while the PIC is sleeping. So the only thing the code does is wait for a couple of minutes after reset, activate the CLC and then go to sleep.

According to the datasheet the PIC would draw 7.5uA (@3V) with the BOR enabled and sleeping (I guess). This is OK for my application assuming that the PV cells will charge the NiMh cells every day (not necessarily fully charged) but it would be nice to know how low the current could be with the LPBOR enabled.

>
> I'm also going to suggest looking at something
> other than a PIC: the Silego 12-pin GreenPAK2
> SLG46400 would suit your needs exactly. The only downside is the tiny package.

Thanks for the suggestion but I think I will stay with a PIC for now. Don't want to start fresh with a new uC for this function. It is not that price sensitive and I think the PIC will do just fine.

> > I had problems with exactly these modules on
> my recent 10F322 project - the chip would go
> into reset if the supply voltage was less than
> about 2.4V. Disabling both the BOR and LPBOR
> modules allowed the chip to run from a pair of
> NiMh cells. The datasheet doesn't talk about
> the LPBOR module, which is why it took me so
> long to try disabling that config bit and thus solving my problem.
>
>The supply voltage for the 10F is 2.3V to 5.5V
>and its low BOR voltage is 2.4V
>which makes it unsuitable for 2 NiMh cells, I think.
>
>The 10LF would be a better choice since it runs
>on 1.8V to 3.6V with a low BOR
>voltage of 1.9V.

I should have mentioned that I *was* using the "L" variant when I ran into those problems: 10LF322.

The LPBOR module was definitely causing the chip (10LF322) to enter brown-out reset at voltages less than about 2.4V. The chip being in reset was confirmed by the fact that pins set to be output were in fact floating when the supply voltage was too low. This was initially hard to see - all output pins have either enough load or have external pull up/down resistors such that the pins being set as output or being floating results in the same voltage. Only by injecting a small current into the output pins could I see that they were in fact floating.

I never did try (re)enabling the BOR module to see if would work at that low supply voltage - I was late for this project and it got rushed out the door as soon as the chip was confirmed working.

The code had started with both of those modules enabled: the BOR module was specifically enabled by me in my config word, the LPBOR module was enabled by default since my config word did not contain any reference to that bit. When I ran into problems, I disabled the BOR module, hoping that it would fix the issue. It didn't. Careful re-reading of the datasheet showed one mention of the LPBOR bit - the chip started working at voltages down to below 1.9V when that module was disabled. I consider 'end of life' supply voltage to be 2.0V with 2- NiMh cells, so operation down to 1.9V was enough margin for me.