PAGE TOP

PICkit 3で書き込み時の電力不足

PICkit 3で書き込み時の電力不足


PICマイコンのプログラムを開発中。

MPLAB X IDEでコーディング、コンパイルし、MPLAB X IDEやMPLAB X IPEでPICkit 3を使ってPICマイコンに書き込むという流れ。


MPLAB X IDE/IPEをV5.25にアップデートしたらPICkit 3接続時に電力不足のエラーがでるようになった。
これまで使っていたバージョンは忘れたが、そんなに古いバージョンは使用していなかった。
(5以上にはしていたはず。)

今回ターゲットにしているのはPIC16F886で、秋月電子で買った「Pickit対応ICPS書き込みアダプターキット」を使用してプログラムを書き込んでいた。

I2Cのテストプログラムを作っており、ターゲットの回路は現時点では確認用のLEDが1個のみ。
これまではターゲット回路の電源を入れずにPickit 3にUSBからの電力供給という設定でも書き込みはできていた。
しかし、MPLAB X IDE/IPEをバージョンアップしてからは同じ設定なのにエラーになるようになった。

3台のPCで試したが、どのPCでもダメ。
昔ながらのソフト「PicKit3 Programmer」を使うとどのPCからでもUSBからの電力供給で書き込みはできた。
MPLAB X IDE/IPEでの電圧チェックがシビアになったのか?

MPLAB X IPEの電圧設定画面

(写真上) これは、MPLAB X IPEのPower Settingsの画面

Pickit3から5Vを供給する設定。

 

MPLAB X IPEのエラー画面

(写真上) MPLAB X IPEのエラーの内容はこんな感じ

MPLAB X IDEでも同じエラーになる。

メッセージとしては、次のような内容が出力されている。

Invalid VDD source setting. The debugger cannot supply power to the target if external power is already being supplied.
Connecting to MPLAB PICkit 3…
Currently loaded firmware on PICkit 3 Firmware Suite Version…..01.56.00
Firmware type…………..Midrange

The target circuit may require more power than the debug tool can provide. An external power supply might be necessary. Connection Failed.

また、こんな感じのメッセージも。

*****************************************************
Connecting to MPLAB PICkit 3…
Currently loaded firmware on PICkit 3
Firmware Suite Version…..01.56.00
Firmware type…………..Midrange
PICkit 3 is trying to supply 5.000000 volts from the USB port, but the target VDD is measured to be 4.625000 volts. This could be due to the USB port power capabilities or the target circuitry affecting the measured VDD.

The target circuit may require more power than the debug tool can provide. An external power supply might be necessary. Connection Failed.

google君は

PICkit 3はUSBポートから5.000000ボルトを供給しようとしていますが、ターゲットVDDは4.625000ボルトと測定されています。これは、USBポートの電力機能または測定されたVDDに影響するターゲット回路が原因である可能性があります。 ターゲット回路は、デバッグツールが提供できる以上の電力を必要とする場合があります。外部電源が必要になる場合があります。 接続に失敗しました。

と翻訳してくれた。

まあ、USBポートからは4.625000ボルトしか出てないよということらしい。

ひとまずの対応としては

USBから供給する電源の電圧が足りないのなら、ターゲットのボードの電源を入れることで解決。

ただ、現時点では単純なテストをしているだけのプログラムなので、PICマイコンへのプログラムの書き込みに使用するMCLR、ICPSCLK、ICPSDATのどのピンにも何ら接続はしていない。

しかし、この先これらのピンを他の用途で使用し始めたらターゲットボードを使っての書き込みができなくなる可能性も。

これはダメじゃ。

次の対策としては

PC本体のUSBポートからの電圧が足りないのであれば・・

市販されているUSBハブはPCからの電力供給のみのバスパワー対応の他に、USBハブに電源アダプターがついたセルフパワーのものがある。

これで試したところ、無事書き込むことができた。

メデタシ、メデタシ。

MPLAB X IDE/IPEの電力チェックの部分がバージョンアップでシビアになったのではないかと思う反面、これまでたまたま動いていたのか?という疑問もないではないが。根本的な原因は不明。
(以前使っていたところと同じUSBポートを使って試したので、ポートの違いによる電圧の差異の影響ではないと思う。)

だが、電源アダプター付きUSBハブは邪魔

PICマイコンに書き込む都度USBハブを繋ぐのは面倒だし、邪魔。

PC内部の電圧はオプションボードや接続しているハードディスクの数なんかによっても違っているんだろうなぁと思いながらも、アタイには、PCの電源は12Vと5Vという固定観念がある。

また、Pickit3への電力供給もPICマイコンの種類によって、律儀に3.3Vか5Vのどちらかとキッチリした値に設定してきた。

で、ふと思った。

そういえば、今回使用しているPICマイコンのPIC16F886は、2.0Vから5.5Vのワイドレンジ。
(・・書き込むときの最低電圧は不明だが。)

MPLAB IPEは「ターゲットVDDは4.625000ボルトと測定されています。」というメッセージを出している。

MPLAB X IPEの電圧設定変更

(写真上) 4.625000ボルトが測定されているんなら、Pickitに供給する電圧をそれ以下に指定すればいいんじゃねぇ?

ということで、4.625ボルトにしてみた。

すると、エラーは表示されなくなり、書き込みもちゃんとできた。

今度こそメデタシ、メデタシ。

・・(あまりないとは思うが)例えば5.0Vから5.5Vを必要とするマイコンだったら・・・
セルフパワーのUSBハブの使用ですな。


趣味の部屋 スマホ/タブレットサイト 趣味の部屋 PCサイト