Mostly all microcontrollers have built in Brown-out detection (BOD) circuit, which monitors supply voltage level during operation. BOD circuit is nothing more than comparator, which compares supply voltage to a fixed trigger level.
If microcontroller doesn’t have On-Chip Brown-Out detector, then there can be external circuit used :
The circuit above illustrates the brown out detectors circuit. In real word there are special IC where additional delay circuitry and hysteresis used because normalizing of supply voltage may take some time. Such IC’s are more cheap than one built from discrete components.
As an example lets take Atmega128 microcontroller which have On-chip Brown-Out detector. Trigger level can be 2,7V or 4,0V (selected by programming Fuse bits). Trigger level also has a hysteresis to avoid spikes. The hysteresis can be interpreted as VBOT+=VBOT+VHYST/2 and VBOT-=VBOT-VHYST/2.
So if Brown-Out circuit is enabled by the Fuse bit and Vcc voltage decreases to a value bellow trigger value (VBOT-), Then Brown-Out reset is activated and after supply voltage increases above triggered level (VBOT+) then delay timer starts counting for keeping MCU on reset for some time. After timer counts up, then internal reset signal finishes.
Thank you for brown out detector explanation.
please provide an example sample project showing how to use on-chip brown out detector of AVR microcontrollers
Hello,
Thank you for brown out detector explanation. Its is very helpful.
Please provide an example sample code showing how to use built in Brown-out detection (BOD) circuit of AVR Atmega128 microcontroller.
Regards,
Amol G
hello,
can somebody please explain in simple language, what is burnout?
thanx
Hi,
Thanks for the explanation of the brown-out, but would it be better to go with an external brown-out or an internal programmed brown-out? And could a programmed brown-out be corrupted if there are power problems?
Thank You
The internal brownout detector is hardware, not software.
You can either use a Voltage Detector, on a simple TO-92 package can help you reset your microcontroller when voltage goes lower than 4.5V
http://www.ti.com/product/tl7757