モジュール紹介

【PIC】PICの使い方を解説する-PICKIT3とMPLABを使うよ-

どうも、バイト戦士です。

今回は何気に一度も使ったことなかったPICマイコンを使ったので、準備や書き込み手順についてまとめました。

開発環境(ソフト)->開発環境(ハード)->プロジェクトの作成->実際に書き込み

の順で解説していきます。

多少参考になるかもしれん。

開発環境'(ソフト)を整える-MPLAB X IDE-

マイコンへの書き込みには開発環境が必要です。(ArduinoならArduino IDEだ!)

PICマイコンへのプログラムの書き込みは、「MPELAB IDE」が主流になっています。

多少別の方法もあるようですが、今回はこちらを開発環境として使用することにします。

MPLAB X IDEをインストールする

まず最初に以下のMPLABダウンロードページへアクセスします。

「ダウンロード」をおすとインストーラを選択する画面になるので、自分の環境にあったものをインストールします。

下記リンクからアクセスできます。

MPLAB X IDEインストール

続いてインストール作業を進めていきます。

①インストールを開始

「Next」を押します。

②利用規約確認

「I accept the agreement」を押します。

③プロキシ設定

「Next」を押します。
だいたい開発環境系はデフォルトの場所にインストールしとかないと後々めんどくさいことになることが多いらしいので、C直下が無難です。

④インストールするアプリケーションの種類を選択

IDEで対応させるマイコンの種類などを選択できます。

必要な項目にチェックを入れて「Next」を押します。

基本的にどのマイコンでも使えるように全部チェック入れておいていいと思います。(デフォルトで全部チェック入っています。)

⑤インストールを開始

インストールの開始について確認を求められるので、開始します。

「Next」を押します。

⑥インストール進捗状況

インストールの進捗状況が表示されるので、そのまま待ちます。(結構かかります)

終わったら「Next」を押します。

⑦インストール完了とコンパイラのダウンロード確認

IDEのインストールが終わると以下のような画面が表示されます。

3つチェックボックスがありますが、上から順に

・MPLAB X IDEの起動
・MPLAB IPEの起動
・XCコンパイラのインストール

となっています。IPEは何のことだかわからん。

XCコンパイラはプログラムをマイコンに書き込む際に必要な奴です。Cとかアセンブラとかをマイコンが認識するファイルへ変換するやつ。

チェックを入れたら「Finish」を押します。

開発環境を整える(MPLAB XC8 Compiler のインストール)

先ほどコンパラをインストールする、にチェックを入れたんですが、自動ではインストールしてくれません。

MPLAB X IDEの起動と同時に、以下のようなページが勝手に開いたと思うので、手動でインストールを行います。

MPLAB XC Compilers :コンパイラセットのダウンロード

8bit、16bit、32bitマイコン用のコンパイラが別々に用意されています。

全部インストールしますが、必要ない人は8bit用のXC8からだけでもいいと思います。

①インストール開始の案内

「Download XC8 Compiler」をクリックします。

ダウンロードが完了したらインストーラを起動します。以下のようなウィンドウが最初に出ます。

「Next」を押します。

②利用規約への同意

「I accept the agreement」を選択し、「Next」をクリックします。

③ライセンスタイプの選択

ここではコンパイラのライセンスの種類について聞かれています。

フリー、ワークステーション、ネットワーククライアント、の3つがあるので「フリー」を選択します。

「Next」をクリックします。

⑤インストール場所の確認

コンパイラのインストール場所について聞かれています。デフォルトで問題ないと思います。

「Next」をクリックします。

⑥コンパイラのセットアップ

・PC上のほかのユーザーアカウントでも使用できる状態にするか?
・環境パスを設定するか?

について聞かれています。

環境パスは自分で設定するとめんどくさかった記憶があるので今回は両方ともチェックを入れました。

「Next」を押します。

⑦コンパイラのインストール準備完了

「Next」を押します。

⑧インストール進捗状況

完了したら「Next」をクリックします。

⑨インストール完了通知とライセンス情報

インストールの完了通知および現在のライセンスに関する情報が表示されます。

フリーユーザーなら「Next」を押す、と書いてあるので押します。

⑩コンパイラインストール完了通知

以上でXC8コンパイラのインストールは完了です。

「Finish」を押して終了します。

他の16,32ビット用も同じ手順でインストールします。

プログラム書き込み環境を整える(ハードウェア)

次にハードウェアの書き込み環境を整えます。

PICはマイコン単体なので以下のようにUSBコネクタとかはありません。

なので書き込むための装置が必要になります。

書き込み装置は自作もできるらしいですが、単純に楽なのでPICKIT3を使います。

PICKIT3なんですが、マイクロチップ社の公式モデルはすでに販売・流通が停止しているようです。
海外サイトとかでもないのかなぁ~と調べたんですが、純正と言って出してるのもほぼ互換機みたいです。

現状互換機しかないようなので、Amazonで購入しました。

ほかの海外サイトでも販売されてますが、送料込みで考えるとだいたい似たような価格帯になりそうです。

・PICKIT3 本体

・マイコン固定用のゼロプレッシャー治具(上記商品の場合は青緑色のやつです)

・USBケーブルとPICKIT3と治具接続用のケーブル

の3つがあれば問題ありません。

プロジェクトを作成する

上記までの説明で、ソフト・ハードの開発環境が整いました。

次は実際にプロジェクトを作成し、書き込みを行います。

まずはMPLAB X IDEを起動します。

「File」- > 「New Project...」をクリックします。

とりあえずマイクロチップ社の書き込み体系で書き込みたいので一番上のものを選択しました。(ここの項目はよくわからない、、、)

次に書き込み対象のハードウェアについて聞かれるので、手元に用意したマイコンの型番を選択します。

Toolはなしでも先に進めました。

デバッグ用ヘッダーはNoneのままで次へ進みます。

コンパイラの種類を選択します。

今回は上のXC8(先ほどインストールしたコンパイラ)を選択します。(「-as」が付くのはアセンブラ用)

プロジェクトの名称・保存場所などを求められるので、適切に埋めて「Finish」を押します。

これでプロジェクト(のワークスペース)が作成されました。

次にメインとなるCファイルを追加していきます。

左上のプロジェクトエクスプローラーにはファイルの種類に応じたフォルダが用意されています。
ヘッダやmainファイルなどを分けて保存できます。

今回はソースファイル(man.c)に追加したかったのでここで右クリックを押して作成します。

ここでは新規に追加するファイルの設定を行います。

名前は適当につければ大丈夫です。

以上でソールファイルの追加は完了です。

PICKIT3を使用してマイコンへプログラムを書き込む

次にPICマイコンへの書き込みテストを行ってみます。(プログラムの内容はなにもない状態)

まずはPICKITを付属のUSBケーブルでパソコンへ接続します。

ネットにつながっていればUSBドライバ等は勝手に入ってくれるはずです。

PCとジグとの接続

それが終わったら以下のようにPICKIT本体とゼロプレッシャージグを付属のケーブルで接続します。

この時のピン配置ですが、マイクロチップ社のPICKIT3取説にピン配置が明記されてます。

白い△マークが書かれた場所が、1番ピンになります。

MCLR と書かれているピンが△マークとつながるようにします。

ゼロプレッシャー治具の方にもピン配置が書かれているので、これに合わせて接続します。

ピン数に応じたジャンパの設定を行う

次にマイコンをPICKIT3と接続します。

このゼロプレッシャー治具ですが、どのマイコンでも同じく使えるわけではなく、基板上にあるジャンパをマイコンのピン数に応じて変更する必要があります。

ゼロプレッシャー治具を裏返すと、以下のようにジャンパ設定の指示が明記されています。

今回使用している「PIC16F1827」は「DIP18パッケージ」になるので、下に書かれた表記に従ってジャンパを以下のように設定します。

・J1:B    
・J2:2と3
・J3:2と3

以下に参考画像を添付します。

[A (B) C] [1 (2 3)] [1 (2 3)]

マイコンを載せる

次にマイコンを載せます。

この治具の使い方ですが、結構癖があります。

裏面を見るとジャンパの設定とともに、切りかき(三角形)のついた印があると思います。これがマイコンを載せる際の位置と向きを表しています。

つまり、マイコンによってつける位置と向きが変わってくる、ということです。(毎回端から詰めていけばいいわけじゃない。)

めんどくせぇ。。。。。

うっかり端によせて接続して4番と15番にVCCを加える、みたいになったらちょっとまずいかもしれない。

PIC16F1827(18ピン)を接続する場合、マイコンの切り欠き側が白い太線を向くるように治具に接続することになります。

白い線の上に、1,16番ピンが来る形です。

ちょっと使いにくいので毎回同じマイコンしか使わないならユニバーサル基板とかで用意しておいてもいいかもしれませン。

念のため、接続した後にケーブル接続用端子ののVCC、GNDとゼロプレッシャー治具側の接続を確認しておいた方がいいと思います。

PIC16F1827のVCC端子は14番ピンなので、上記画像でいうと右側の列の下から6番目の穴がVCCになっていれば問題ないと言えます。

私が購入したやつは問題ありませんでした。

PICKIT3の電源供給設定を行う

上記までで接続が完了したので、次は実際に書き込みを行っていきます。

まずはPICKIT3の電源供給についての設定を行います。

PICKIT3ではマイコンへの書き込み時に電源電圧を供給できる機能がありますが、デフォルトだとOFFになっているので有効化します。

MPLAB X IDEを起動し(先ほどmain.cを作成した状態)、「Production」- > 「Set Projecxt Configuration」 - > 「Customize」を選択します。;

すると以下のようなウィンドウが出てきます。

ここではPIC・コンパイラ・書き込みハードの設定などを行います。

今はPICKIT3の設定を行いたいので、左の選択欄から「PICKIT3」を選択、上部の「Option categories」から「Power」を選択します。

「Power」の項目では以下のような内容が表示されます。

「Power target circuit from PICKIT3」というチェックボックスがあるので、チェックを入れます。

書き込み電圧はかなり自由に設定することができます。低すぎると失敗することがあるので今回は5Vに設定します。

マイコンへプログラムを書き込む(焼く)

以上で準備は整ったので、プログラムを書き込んでいきます。

MPLAB X IDEの上部にあるマイコンへの書き込みボタン(赤枠)をクリックします。

ウィンドウを最大化していないと選択式のウィンドウの中に隠れてしまうので、見つからないときは最大化した方がいいと思います。

マイコンへ書き込めない際の対処

上記の操作で書き込みが完了すれば問題ないですが、PICKIT3の個体差により書き込みができない場合があるようです。

自分の環境では以下のようなエラーが出ました。

内容としては、「PICKIT3では5Vでの電源供給が厳しいので外部電源を用意してほしい」といった感じです。

なので外部電源を用意します。

※対処法として、一個前の書き込み電圧を4V程度まで低下させる方法があります。
 この方法で書き込みができた場合、これ以降の処理は不要です。

今回購入したゼロプレッシャー治具には、外部から電源を供給するためのUSBポートのランドが設置されているのでこれを利用することにします。

接続は以下のようになっているので、極性を間違えないように電源を接続します。

以下のような感じで接続。

これで準備は完了。

ちなみにですが、USBはハブとかじゃなくてスマホ充電用とかのACアダプタを使わないとダメなようです

試しにPICKIT3の電源を取っているものと同じところから電源を引いてみたんですが、そもそも電流値が足らないことが失敗の原因となっているようです。

マイコンへプログラムを書き込む(再)

電源を整備したので、マイコンへ再度プログラムを書き込みます。

先ほどと同じく上部の書き込みボタンを押します。

Outputウィンドウの内容を見てみましたが、このボタンでデバッグ、ビルド、書き込み、ベリファイまでやってくれます。

エラーがなければ、書き込みは完了です。

まとめ

今回はPICマイコンの書き込み方法について、

・開発環境(MPLAB X IDE)のインストール
・コンパイラ(MPLAB XC Compiler)のインストール
・MPLAB X IDEでの新規プロジェクト作成方法
・PICKIT3を使用してマイコンへプログラムを書き込む際の設定
・PICKIT3を用いた実際の書き込み方法
 +書き込み失敗時の対処(別電源供給)

についてまとめました。

今回別の工作で初めて使いましたが、100円とかで使えるマイコンってやっぱ魅力的だよね。

今回の記事でひとまず書き込みはできると思います。環境が変わったら適宜更新していこうと思います。

それでは。

-モジュール紹介