
Originally Posted by
peu
[edit] Maybe I need to check for POR=1 and BOD=0 to know for sure that a BOD reset happened
I wasn't that far with this late edit 

Originally Posted by
Acetronics
This works really fine, but with a 10 µ (MICRO) F ...and a 12F683
so , some current draw improvements are still to add ...
NOTE: All Outputs are Mosfet Buffered ( BS 170 ) ...
Alain
PS: You didn't use your brain too much, here ....
What brain? 
Well I implemented your program and it worked, but the cap value was way too high, so I started lowering till I found a ridiculously low value...
Then I examined your code, removed some chunks and commented it:
Code:
@ device pic12f683,INTRC_OSC_NOCLKOUT , wdt_on, mclr_off, protect_off, bod_on
' I use picbasic to compile!!
'@ __config _INTRC_OSC_NOCLKOUT & _PWRTE_ON & _WDT_ON &_BOD_ON & _MCLRE_OFF & _CP_OFF
OSCCON = %01100110
CMCON0 = %00000111 ' Disable comparator
VRCON = %00000000 ' disable
ADCON0 = %11100000
ANSEL = %10000000
' I/Os
gpio = %00000000
TRISIO = %00000000 ' no inputs
' SECTION? what is this section used for?
' BOD var GPIO.0
' POR var GPIO.1
' IF PCON.1 = 0 and PCON.0 = 0 THEN BOD = 1 'BROWN OUT RESET BIT
' IF PCON.1 = 0 THEN POR = 1 'POWER ON RESET BIT
' PAUSE 1000 this pause cannot be used in a flashlight environment
' SECTION? what is this section used for?
GPIO = 0
if PCON.1 = 1 AND PCON.0 = 0 then 'PCON.0 = BOD ;PCON.1 = POR
GPIO.2 = 1 'GPIO.2 green led PIN6 shows a BOD state
PAUSE 1000 'I don't have patience :-)
'PCON.0 = 1 ' not needed since you set this again below
gpio = %00000000
endif
'PCON.1 = 1 replaced with one line :-)
'PCON.0 = 1
PCON=%00000011
GPIO.1 = 1 'normal state red led
While 1
Wend
END
and if a picture is a 1000 words, we could say that a video is like 1000 pictures, so 1000x1000=1000000 words... WOW... I just wrote a book
take a look at this video: http://www.veoh.com/videos/v6415763hQHpjMDy
As you see, the cap is reaaally small, the green led shows BOD condition, and red led is normal operation. The diode you see there is not used. Also I left all the unused pins floating
When I used large value capacitors, everytime I did a power interruption no matter if it was 1 second or 10 the BOD led turned on.
I wonder why you had to use 10uF
Also assembled a proto PCB using the 1st schematic to start testing a real world application.
Bookmarks