Author Topic: PICkit3 not working  (Read 11556 times)

0 Members and 1 Guest are viewing this topic.

Offline NDaniTopic starter

  • Contributor
  • Posts: 24
  • Country: hu
PICkit3 not working
« on: August 20, 2016, 04:34:16 pm »
Dear Forum Members,

I'd need your advice with an issue with my PICkit3. For some reason, my PICkit3 cannot program any PIC. For example, when I'm trying to program a PIC18F1320, then from MPLABX, it gives me the following error message:

"Connecting to MPLAB PICkit 3...
Currently loaded firmware on PICkit 3
Firmware Suite Version.....01.43.35
Firmware type..............PIC18F
Target voltage detected
Target Device ID (0xffe0) is an Invalid Device ID. Please check your connections to the Target Device."

For any other PIC I have tried so far, it does the same, i.e. reads all 1's for the Device ID and then it fails to program the chip. Here's some additional info:
- Connections to the target device are certainly correct
- The chips I'm trying to program are not faulty, as I could program them with another programmer (not a PICkit, however, but a cheap ZIF-socket plug-in programmer)
- The PICkit seems to work otherwise, i.e its LEDs flash, MPLAB recognizes it and reads its serial number, etc.

At this point I'm pretty sure that the issue is with my PICkit3. Do you know any way I could possibly fix this? Could it be some driver/firmware issue I could solve without replacing the unit or do you think I have to buy a new one?

One thing that could have casued the problem is that the supply voltage in my target circuit rose to 20 V from the regular 5 V for a couple of seconds while the PICkit was connected. However, I would expect such a programmer to have overvoltage protection on its inputs, so I'm not sure if this could really have killed it.

If you have any advice, please share it with me.

Thank you,
Daniel
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3461
  • Country: it
Re: PICkit3 not working
« Reply #1 on: August 20, 2016, 04:52:16 pm »
it may very well be an overvoltage problem, in which case the mosfet drivers for the PGC/PGD lines were kill. there is not much protection in the pickit

Is it a genuine microchip pickit3? then open a ticket at microchip support, if it is recognized as an hardware fault you will be sent a replacement for free

but it could also be a software issue.. until recently the funniest things would happen.. you may try and re download the firmware. i don't know the "official" procedure but just select a chip from another family and try to read it. the pickit will have a new firmware in it. then re-select your pic and do the same
 

Offline NDaniTopic starter

  • Contributor
  • Posts: 24
  • Country: hu
Re: PICkit3 not working
« Reply #2 on: August 20, 2016, 05:19:27 pm »
Dear JPortici,

Thank you very much for your answer. If the PICkit really doesn't have onvervoltage protection, then it will most certainly be a hardware problem, unfortunately.

Based on what you say, I think I have already done the firmware re-installation, as I have tried to program PICs from different families and I even recall the PICkit downloading the new firmware for them.

Yes, it is a genuine PICkit. If nothing works out, I will try the ticket you mentioned, thank you very much!
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12860
Re: PICkit3 not working
« Reply #3 on: August 20, 2016, 06:29:08 pm »
You've certainly blown the 74LVC1T45 I/O buffers on ICSP_DAT (U8), ICSP_CLK (U9), and ICSP_LVP (U11) as they are powered from Vdd_target.  You've also probably blown the Vdd_Target control circuit, specifically Q7 (MMBT3904) and possibly Q6 (MMBT3906). If you are unlucky, its FUBARed due to blowing the pins controlling the I/O buffers on the PIC24FJ256GB106 MCU (U1) that runs everything.

The standalone PICkit 3 Programmer App and Scripting Tool v3.10 has a logic tool you can use to exercise the individual ICSP lines while you test them with a DMM.
Caution: it loads PICkit 2 emulation firmware tht MPLAB doesn't recognise so RTFM to learn how to revert to MPLAB mode afterwards.  Dave (EEVblog) was caught out by this . . .

If any of the ICSP lines are blown, raise a support ticket with Microchip immediately to get it replaced.  Don't screw around trying to repair the hardware unless you are in a country under US export restrictions that Microchip cant ship to!
« Last Edit: August 20, 2016, 07:53:47 pm by Ian.M »
 

Offline KL27x

  • Super Contributor
  • ***
  • Posts: 4103
  • Country: us
Re: PICkit3 not working
« Reply #4 on: August 20, 2016, 07:38:11 pm »
Has it EVER worked?

I don't use X, yet. With IPE, I have found I needed to do a manual update of the firmware on every new PICKit3 I have.

Quote
i don't know the "official" procedure but just select a chip from another family and try to read it.
Even though it auto-loads the correct device family variant of the firmware, it would do exactly what you are describing. The auto-load seems to not do the same thing as the manual download.

In IPE there is an option under setting > manual download firmware. You don't even have to download the correct device family variant. Once manually updated to the latest version, the auto-download works.


Quote
One thing that could have casued the problem is that the supply voltage in my target circuit rose to 20 V from the regular 5 V for a couple of seconds while the PICkit was connected. However, I would expect such a programmer to have overvoltage protection on its inputs, so I'm not sure if this could really have killed it.
If the impedance (max current) was stiff, I would think this could burn up any number of things. But there's a chance, maybe, it burned out your target circuit/chip before it damaged the PICKIT3.
« Last Edit: August 20, 2016, 07:51:59 pm by KL27x »
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12860
Re: PICkit3 not working
« Reply #5 on: August 20, 2016, 08:02:41 pm »
NXP and Diodes Inc. 74LVC1T45  are rated for an Abs. Max. Vcc of 6.5V.  Applying more than three times, even transiently would certainly cause damage.  If you are debugging a circuit that can exceed 5.5V Vdd under fault conditions, you should add a high current crowbar circuit set to 5.5V and an ultra-fast fuse to protect the PICkit 3.

One thing that could have casued the problem is that the supply voltage in my target circuit rose to 20 V from the regular 5 V for a couple of seconds while the PICkit was connected.
How did that happen?  Was it a regulator chip with a bad connection to Gnd or Adj (e.g. in a solderless breadboard)?
« Last Edit: August 20, 2016, 08:05:45 pm by Ian.M »
 

Offline stj

  • Super Contributor
  • ***
  • Posts: 2155
  • Country: gb
Re: PICkit3 not working
« Reply #6 on: August 20, 2016, 08:05:51 pm »
wouldnt a 20v spike also trash the target?
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12860
Re: PICkit3 not working
« Reply #7 on: August 20, 2016, 08:08:56 pm »
Probably. but some older 5V PICs are (unofficially) known to have >50% survivability after 12V Vdd transients, so it isn't certain.  I would expect it to blow the s--t out more recent devices.

The logic tool in the v3.10 app will answer the question of whether or not the PICkit 3 is blown.  If it cant enable and control target Vdd, or if the inputs are stuck or if it cant output the correct levels for logic '1' and '0' its borked.

The I/O lines are protected by a ON SEMI 1SMA5918BT3G 5.1V 1.5W Zener clamo to Vss and a series TYCO/RAYCHEM MICROSMD005F 50mA (30V) Polyfuse.  They also have a 4.7K pulldown resistor  so you cant simply check they are all Hi-Z in input mode.
« Last Edit: August 20, 2016, 08:16:39 pm by Ian.M »
 

Offline NDaniTopic starter

  • Contributor
  • Posts: 24
  • Country: hu
Re: PICkit3 not working
« Reply #8 on: August 20, 2016, 08:21:46 pm »
Thanks to all of you!

Has it EVER worked?

Yes, the PICkit worked fine until the "accident".

wouldnt a 20v spike also trash the target?

It probably did - I can't really verify without a working programmer. But my PICkit doesn't program chips that surely work fine, either.

How did that happen?  Was it a regulator chip with a bad connection to Gnd or Adj (e.g. in a solderless breadboard)?

A 7805 regulator chip powered both a PIC16F1825 and an LMC6482 op-amp. For a short time, the op-amp got 20 V on its non-inverting input due to an unintended short-circuit (the op-amp isn't supposed to get more on its inputs than supply voltage + 0.3 V). At the same time, I measured the supply voltage rail to rise to 20 V as well. Maybe that voltage somehow 'got through' to the positive supply voltage pin of the op-amp.

So I think every trace suggests that I have blown the PICkit, sadly. :( I will try out the logic tool you mentioned, though.
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12860
Re: PICkit3 not working
« Reply #9 on: August 20, 2016, 08:34:08 pm »
Maybe that voltage somehow 'got through' to the positive supply voltage pin of the op-amp.
The LMC6482 op-amp uses CMOS technology.  The Vdd + 0.3V input voltage limitation indicates the inputs have ESD protection diodes that will dump current from the input onto the Vdd rail if you exceed that limit.
« Last Edit: August 20, 2016, 09:59:54 pm by Ian.M »
 
The following users thanked this post: Kilrah

Offline NDaniTopic starter

  • Contributor
  • Posts: 24
  • Country: hu
Re: PICkit3 not working
« Reply #10 on: August 20, 2016, 09:51:07 pm »
Thank you, that explains it pretty well.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: PICkit3 not working
« Reply #11 on: August 20, 2016, 10:19:01 pm »
Quote
I would expect such a programmer to have overvoltage protection on its inputs,

Only in the form of some small value resistors (<100R).

You should try to figure out if the programmer is gone: use a standalone programming utility and see if it can identify a known good chip correctly (not in your current set-up).

Once that's confirmed, you can move forward.

Assuming that the connection is good, my bet is that your programmer is gone.
================================
https://dannyelectronics.wordpress.com/
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12860
Re: PICkit3 not working
« Reply #12 on: August 20, 2016, 10:36:19 pm »
Quote
I would expect such a programmer to have overvoltage protection on its inputs,

Only in the form of some small value resistors (<100R).
Not so.  The PICkit 2 had series resistors, but the PICkit 3 uses MICROSMD005F 50mA polyfuses.   Both have clamps, but they don't protect the Vdd_target ICSP pin.
 

Offline stj

  • Super Contributor
  • ***
  • Posts: 2155
  • Country: gb
Re: PICkit3 not working
« Reply #13 on: August 21, 2016, 01:55:01 am »
Quote
I would expect such a programmer to have overvoltage protection on its inputs,

Only in the form of some small value resistors (<100R).
Not so.  The PICkit 2 had series resistors, but the PICkit 3 uses MICROSMD005F 50mA polyfuses.   Both have clamps, but they don't protect the Vdd_target ICSP pin.

pickit3 has resistors.
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12860
Re: PICkit3 not working
« Reply #14 on: August 21, 2016, 02:23:30 am »
Those resistors were only effective against input overvoltage in the range Vdd_target + 0.5V to 5.1V, and only if target Vdd can sink the current through them.  Above that the polyfuse and Zener clamp provide all the protection.

Current production has zero ohm jumpers fitted for R26, R43 and R45, so my no protection resistors statement stands.
« Last Edit: August 21, 2016, 02:26:30 am by Ian.M »
 

Offline NDaniTopic starter

  • Contributor
  • Posts: 24
  • Country: hu
Re: PICkit3 not working
« Reply #15 on: August 21, 2016, 11:17:09 am »
You should try to figure out if the programmer is gone: use a standalone programming utility and see if it can identify a known good chip correctly (not in your current set-up).

Yes, already done that and another programmer can - so not too many questions left, I guess.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: PICkit3 not working
« Reply #16 on: August 21, 2016, 11:31:41 am »
Quote
Yes, already done that and another programmer can

Not really sure what that means.
================================
https://dannyelectronics.wordpress.com/
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12860
Re: PICkit3 not working
« Reply #17 on: August 21, 2016, 11:59:19 am »
I'd read that as: The O.P. has tried a different chip, that he's checked on a different programmer so its known good..

Presumably its still got the same problem ==> The Pickit 3 is probably blown. :(
« Last Edit: August 21, 2016, 01:16:20 pm by Ian.M »
 

Offline NDaniTopic starter

  • Contributor
  • Posts: 24
  • Country: hu
Re: PICkit3 not working
« Reply #18 on: August 21, 2016, 12:31:46 pm »
Yes, I meant: another programmer can identify known good chips.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: PICkit3 not working
« Reply #19 on: August 21, 2016, 01:11:20 pm »
Quote
another programmer can identify known good chips.

Basically, for your particular set-up, you have three possible explanations:

1) bad programmer;
2) bad connection;
3) bad target;

For you to trouble shoot, you have to isolate each possible to figure out which is at fault.

since you have a good programmer, seems to be programming the existing target with the existing connection would be the best approach to see if the programmer is at fault.
================================
https://dannyelectronics.wordpress.com/
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12860
Re: PICkit3 not working
« Reply #20 on: August 21, 2016, 01:21:55 pm »
No. a better approach would be to test it with the v3.10 app's logic tool as that lets you exercise Vdd, and also exercise  ICSPCLK, ICSPDAT and PGM/AUX individually so you can determine what's blown.

Also, it doesn't use any part of MPLAB X which eliminates most software or configuration issues.
 

Offline NDaniTopic starter

  • Contributor
  • Posts: 24
  • Country: hu
Re: PICkit3 not working
« Reply #21 on: August 21, 2016, 05:51:53 pm »
For you to trouble shoot, you have to isolate each possible to figure out which is at fault.
since you have a good programmer, seems to be programming the existing target with the existing connection would be the best approach to see if the programmer is at fault.

Thank you for the advice. The good programmer I have is not an in-circuit programmer, but one with ZIF socket, in which you have to plug a DIP chip into - so I cannot directly replace the PICkit with it. But I could test with it, that the PIC I was trying to program is working.

Anyway, I have excercised the PICkit pins with the logic tool and I could determine that pin 4 (PGD) is faulty: it always reads a 1 regardless to the voltage applied to it. The other pins work fine. So it is pretty certain now that pin 4 on the programmer is blown.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: PICkit3 not working
« Reply #22 on: August 21, 2016, 06:32:34 pm »
Quote
it always reads a 1 regardless to the voltage applied to it.

That's almost an impossibility: that means that pin is shorted to Vdd and have the ability to conduct unlimited amount of current.

Quote
So it is pretty certain now that pin 4 on the programmer is blown.


I think it is likely that the programmer is a bust but i don't think you have proven that to be the case. If I were you, I would put a scope (or led + resistor) on the icsp data + clock pin (on the programmer side, not on the target side), and see what you see.

If that's confirmed to work, put it on the target side and see if you see a difference.
================================
https://dannyelectronics.wordpress.com/
 

Offline stj

  • Super Contributor
  • ***
  • Posts: 2155
  • Country: gb
Re: PICkit3 not working
« Reply #23 on: August 21, 2016, 06:51:40 pm »
does pin4 on your icsp header connect to anything other than the pic? is it a shared pin?

just wondering if your pcb did the damage!
 

Offline KL27x

  • Super Contributor
  • ***
  • Posts: 4103
  • Country: us
Re: PICkit3 not working
« Reply #24 on: August 21, 2016, 08:03:48 pm »
Quote
Thank you for the advice. The good programmer I have is not an in-circuit programmer, but one with ZIF socket, in which you have to plug a DIP chip into - so I cannot directly replace the PICkit with it.
I would think you can easily solder a new pin header or cable to your ZIF socket programmer for doing ICSP. If you are not comfortable with doing a permanent modification, you could make small adapter that sticks into the ZIF socket. Your programmer might be just as good as a PK3 for ICSP, who knows? I suppose Vdd is not adjustable on this programmer, though?  That would be one gotcha. Or miserably low drive current.
« Last Edit: August 21, 2016, 08:08:52 pm by KL27x »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf