Quantcast
Channel: MCS Electronics Forum
Viewing all articles
Browse latest Browse all 20563

BASCOM-AVR : Brownout reset : REPLY

$
0
0
I have now got back to trying to solve this continuing brownout issue, and have spent several days testing 4 new boards. All four boards do a brownout reset about 2-5 times every 24 hrs. [u:55071f9904]Test Setup:[/u:55071f9904] Processor = Atmega 1284p Power supply= fully charged 12v battery - series diode -1000uf - 7805- low ESR 4700uF cap 0.1 on both pins of regulator No peripherals connected to RS232 ports and no I/O onto the board except 0v & +12v no SD card 1uF and 0,1 caps distributed around board at each device supply pin Processor 5v supply & 0v lines supply processor only - not anywhere else (Remainder of board uses separate star connection to +5) No ground plane AVcc connected to +5 via 100uH choke + 1uf bypass Avref has 0.1 bypass only Reset has 10k pullup & 0.1 bypass All 4 boards run for 24hrs at a time with test code shown below BOD set to 4.3v Xtal = full swing LED supply resistor = 1k Total board consumption during with test code = about 20mA PCB is double sided PTH [u:55071f9904]Results:[/u:55071f9904] All 4 boards reset about 2-5 times per 24hrs. All report peek(0) = 4 Changing regulator to 7625 switching regulator made no difference Changing processor to atmega644 made no difference Running the processor at 122880hz seems to make a significant improvement. ( divide by 8 in place) [code:1:55071f9904] -- '******************************************************************************* $regfile = "m1284pdef.dat" $crystal = 9830400 $framesize = 100 $hwstack = 100 $swstack = 100 Disable Jtag ' '------------------------------------------------------------------------------- 'Open a software UART channel for debug dB9 Open "comc.3:9600,8,n,1" For Output As #1 '******************************************************************************* config PORTa.3 = output 'led config watchdog = 8192 start watchdog dim resetcount as eram byte dim tempb as byte dim rbyte as byte rbyte = peek(0) '------------------------------------------------- 'incr reset count every time processor reboots print #1 , "There has been a restart" tempb = resetcount 'read from eeprom incr tempb resetcount = tempb 'save to eeprom wait 5 'protect eeprom '------------------------------------------------ do tempb = resetcount 'read from eeprom print #1 , "reset count=" ; tempb print #1 , "Previous MCUSR=" ; rbyte mcusr = 0 toggle portA.3 reset watchdog wait 1 loop [/code:1:55071f9904] I believe that the problem is layout, but I find it hard to believe that the layout is so critical, at 10mHz?? I am about to do a new layout with a proper ground plane but like to get a better handle on the actual cause before embarking on this. I'd hate to do a new layout, order baords and find I still have the same problem.

Viewing all articles
Browse latest Browse all 20563

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>