PICkit3を使用時,PICを認識できない時にチェックすべき事(PK3Err0045エラー)

MPLABより、PICkit3を使用してPICに書き込みを行おうとした際、OutputウィンドウにPK3Err0045のエラーが表示する事があります。

PICkit 3 detectedConnecting to PICkit 3...
Running self test...
Self test completed
Firmware Suite Version...... 01.27.15
Firmware type......................Midrange
PICkit 3 Connected.
 
PK3Err0045: You must connect to a target device to use PICkit 3.





これは、PICkit3が書き込み対象となるPICデバイスを検出できなかった事を意味しています。
このエラーが発生する場合は、PIC側の回路に問題がある事が多いです。

以下に、チェックすべきポイントを列挙してみました。

PICkit3のpin4,5(PGC/PGD)に対して…


プルアップ抵抗をかませない

これらのピンには、既にPICkit3内で4.7kのプルダウン抵抗が入っています。
ですので、プルアップ抵抗を入れてしまうと分圧による電圧降下が発生し、正常に動作しなくなります。

コンデンサをかませない

GNDと間にコンデンサを入れたくなるかもしれませんが、データやクロック信号の高速転送を妨げる事になる為、プログラムの書き込みやデバッグが正常に出来なくなります。

ダイオードを挟まない

プログラムの書き込み状況をチェックしたいがためにpin4,5にLEDを接続したくなるかもしれませんがこれは動作しません。書き込み動作であってもPGC/PGDは出力専用ではなく、入出力の双方向通信を行っています。
この為、ダイオードをつけるとPICからの応答情報をPICkit3が取得する事が出来なくなってしまいます。


PICkit3のpin1(MCLR)に対して…


コンデンサをかまさない事

この信号線もPGC/PGDと同様に、高速なON/OFF変化が行われるのですが、コンデンサが入るとこれが妨げられるので正常に動作しなくなります。
替わりに4.7k~10k程度のプルアップ抵抗をかませて下さい。



PICの回路に対して…


PICkit3の信号線が正しく接続されている事

PICkit3には6本の端子が有りますが、通常はpin1-5の5本を使用します。
これらのピンがPIC側の正しい端子に接続されている事を確認してください。

1 MCLR/VPP
2 VDD
3 Ground
4 PDG (ICSPDAT)
5 PGC (ICSPCLK)
6 LVP



参考までに、PIC16F84Aに書き込む場合は以下の配線となります。

PICkit3側           PIC16F84A側
pin1 MCLR/VPP       pin4  MCLR
pin2 VDD            pin14 Vdd
pin3 Ground         pin5  Vss(GND)
pin4 PDG (ICSPDAT)  pin13 RB7
pin5 PGC (ICSPCLK)  pin12 RB6
pin6 LVP            未接続



前回、PIC16F84Aへ書き込みを行ったときの回路です。
作業手順の詳細はこちらの記事を参考にしてください。




外部より電源を供給する事

PICkit3では設定を行う事でターゲットとなるPICに対して電源を供給する機能を持っています。
ですが、この供給能力は非常に低い(30mA程度)なので、対象の回路での消費電力が大きかったり、PC側のUSBポートからの供給が少ないと、正常に動作しなかったり動作が不安定になったりします。
PICkitからPICが正常に認識できない場合は、一度外部電源からPICへの電源供給を行ってみてください。

関連記事

コメントを残す

メールアドレスが公開されることはありません。