PIC burned out, gets hot after pressing reset?

Discussion in 'Embedded Systems and Microcontrollers' started by lowprofile, Jan 29, 2012.

  1. lowprofile

    Thread Starter Member

    Oct 31, 2011
    33
    2
    Hello!

    I just started a class in microcontrollers. I was following the lab book at home and had a PIC 16F877A on my breadboard. I had programmed it to blink an LED with in-circuit programming, and that was working. I left that running for hours and it worked fine. Then I realized I had never tried the RESET button.

    The !MCLR line, pin 1, is tied to +5V with a 10k resistor, and a switch connects it to ground.

    I pressed the Reset button a few times. The LED stopped blinking, the button got HOT while I pressed it, and the PIC also got hot!

    Now the chip does not function. I have not tried to re-program it in case it could cause damage to the programmer (is this possible?).

    It seems to me that when I pressed the Reset button, which connects !MCLR/pin 1 to ground, that a lot of current flowed through the switch, causing it to heat up. This current flow damaged the PIC. But why did it happen?

    I have looked in the datasheet and I see that they say the following:
    My school's text doesn't use the capacitor, but MCLR is also not tied directly to VDD, but through a resistor. Also, the datasheet does not mention using a button to reset.

    So in summary, I don't know what I did! Any advice?
     
  2. hgmjr

    Moderator

    Jan 28, 2005
    9,030
    214
    Can you post a schematic?

    hgmjr
     
  3. lowprofile

    Thread Starter Member

    Oct 31, 2011
    33
    2
  4. kubeek

    AAC Fanatic!

    Sep 20, 2005
    4,670
    804
    AFAIK on PICs you can choose to use the reset pin as another I/O pin, so maybe it was outputting high and you shorted it to ground?
    What kind of switch and power supply do you use? That must have been a hefty current to make the switch hot..
     
  5. mik3

    Senior Member

    Feb 4, 2008
    4,846
    63
    It looks like the push button is on a pin configured as an output. The output was high (5V) and was shorted by the switch to 0V causing the PIC and the small switch to overheat.
     
  6. lowprofile

    Thread Starter Member

    Oct 31, 2011
    33
    2
    I found my problem, as usual every problem is a lesson in troubleshooting. There was a short in my ICSP header that was causing !MCLR to contact +5V directly. Thanks people, sorry that the answer is something so disappointing. I wish I had found it before asking, so let this be a lesson to others! Check your assumptions!

    Also, this tells me I have a need for current limiting on my supply. I am using an ATX power supply modded to have banana jacks, and there is no current limit. The 5V rail can supply several amps. I suppose I should put a fuse on the outputs, or maybe some kind of circuit breaker (resettable).

    Thanks, and sorry for the tempest in a teapot!
     
  7. kubeek

    AAC Fanatic!

    Sep 20, 2005
    4,670
    804
    use a polyswitch fuse, they are selfresetting and dont cost too much.
     
  8. spinnaker

    AAC Fanatic!

    Oct 29, 2009
    4,866
    988
    If you don't burn you don't learn. :)
     
    mik3 and ErnieM like this.
Loading...