AVRライタのページはここ(シリアル接続)とここ(USB接続)
(このページで取り扱っている)RCDライタのユニバーサル基板版ならここ←冒頭に今一番お薦めのPICライタ、PICerFTへのリンクがあります。
必要な環境
残念ながら(安い代わりに)少し環境を選びます。写真を見れば一目瞭然ですが、RS232C(シリアル)ポートがついたパソコンが必要です。シリアルポートのないパソコンにUSBシリアル変換ケーブルを接続して使用することは(絶対に出来ないというわけではないですが)基本的に出来ないと考えて下さい。またOSはMacやLinuxでは駄目で95以降の何らかのWindowsが必要です。
クリックすると大きな画像で表示されます。 説明付きの図はこちらです。
ハード側の製作
RCDライタ
ここで紹介するPICライタはほぼ「RCDライタ」という種類のライタそのものです。ただRCDライタに関する殆どの情報はPIC12Fシリーズ、PIC16Fシリーズに関するもので、PIC18Fシリーズについてのものは非常に少ないので、ここにページを設ける必要があると感じた次第です。
RCDライタはシリアルポートのピンのうち、合計5ピンを使用します。上でUSBシリアル変換ケーブルを接続して使用することは基本的に出来ないと書いた理由はここにあります。シリアルポートの2,3,5ピンだけを使用するタイプのライタなら基本的にどんな種類のUSBシリアル変換ケーブルででも利用できます。
RCDライタ(ていうかJDMライタ)にはdsPICに書き込みが出来るという特徴もあります(私自身は未確認)。
(2014-1-27追記)ユニバーサル基板上にメッキ線のみで配線したRCDライタ(別ページ)を作りました。
部品以外に必要なもの
簡単だと期待させて申し訳ありませんが、部品以外に必要なものは半田ごてと半田です。ブレッドボードを使うので殆ど半田付けは必要ないのですが、D-SUB 9ピンメスコネクタと(ブレッドボード用の)ジャンプワイヤーをつなぐ為にはどうしても(多分ほぼ絶対に)半田づけが必要です。多少細かい作業ですが100円ショップ・ダイソーの420円の半田こてでもなんとかなると思います。コネクタの9ピンのうちの5つのピンとジャンプワイヤーとを半田づけする必要があります。
※本ページの作例ではD-SUB 9ピンコネクタとブレッドボードとをつなぐのに普通のリード線を用いていて、そのブレッドボードと接続するところでピンヘッダを間に挟んでそこに半田付けしていますが、ここにジャンプワイヤーを用いればブレッドボード側については半田づけは不要ですし、ワイヤーストリッパーも不要です。
(2012-2-5追記)この部分について、もっと便利なものがありました。秋月の DSUBコネクタDIP化キット(メス) です。残念ながらキットなのでやはり半田づけは必要ですが、かなり作業が簡単になるのは間違いありません。これを使う場合は以下の部品表や部品配置の説明等も適宜読み替えて下さい。
あともちろんシリアル(RS232C)ケーブルが必要です。(一般的な)ストレートケーブルが必要です。(電子工作ファンの常識だと思いますが)ネジの規格はミリでもインチのどちらでも構いません。秋月のケーブルはパソコンショップで売っているものと規格が違っていてパソコン用途ではねじが閉まらないんですが、安いのでみんな昔から気にせず買っています。
部品表
基本的にはRCDライタのバージョン 2.5に準拠して作成しています。※印は本ページ独自の部分です
部品名 | 備考 | 数量 | 大凡の合計価格 |
カーボン抵抗 220Ω | 1 | ||
カーボン抵抗 1kΩ | 3(R2の予備も含めて) ※ | ||
カーボン抵抗 2.2kΩ ※ | バージョン2.5回路図の1kΩから変更 | 1 | |
カーボン抵抗 10k | 1 | ||
ツェナーダイオード 5.1V 1/2W | 1 | ||
ツェナーダイオード 13V 1/2W | 1 | ||
小信号シリコンダイオード | 小信号ダイオードとか小信号高速スイッチングダイオードとか呼び方様々 型番は1N4148とか1S2076Aとか何でもよし ※ | 5 | |
積層セラミックコンデンサ 0.1μF | 積層でないタイプのセラミックコンデンサとかポリエステルコンデンサでも可 ※ | 1 | |
電解コンデンサ 470μF 16V | 1 | ||
可変抵抗(VR) 10kΩ | 1 | ||
D-SUB 9ピン(RS232C)・メス・コネクタ | 基板用ではない(安い)タイプ | 1 | |
赤色LED | 1 | ||
ブレッドボード ※ | ある程度の大きさが必要 | 1 | |
ブレッドボード用ジャンプワイヤーセット ※ | ブレッドボード購入時に付属している場合は不要です | 1 | |
(R2の予備)カーボン抵抗 1.5kΩ ※ | 1 |
作例のブレッドボードはこれです。必要な分のジャンプワイヤーもセットになっていてお得なセットです。上で説明したように(作例とは異なり)D-SUB 9ピンコネクタとブレッドボードとの接続にもジャンプワイヤーと用いたとしても、ジャンプワイヤーは大幅に余ります。
これら部品の合計価格は送料を除いて(お得なブレッドボードを選べば)1500円程度に収まると思います。特殊な部品はありませんので通信販売に頼らなくても地元の電子部品屋で全て揃うと思います。
部品配置の説明付きの写真(主にこちらを頼りにして組んで下さい)。回路図はこちらです。
- 写真の出来が悪くてすみません。下の写真でもまだわずかに確認しずらいので文字にしておきますが、D5は電解コンデンサの負極側(白いラインのある側の極)につながっています。つまり茶色のジャンプワイヤーと同じラインに差し込まれています。
- ここで既に触れましたが、この作例ではD-SUB 9ピン(RS232C)メスコネクタ側からは普通のリード線を伸ばしてきていて、その線とブレッドボードの接続箇所は、中間にピンヘッダを挟んでそこに半田づけする形式をとっています(未使用ピンも含んだ9ピン全て揃っていて番号が確認しやすいという長所があります)。しかしリード線の代わりにブレッドボード用のジャンプワイヤーを使えばこの部分での半田づけを省略することができます。半田づけはD-SUB 9ピンコネクタとジャンプワイヤーとの接続に関しておこなうだけで済むことになります。
- 見てのとおり、D-SUB 9ピンコネクタの9ピンのうち、3,4,5,7,8ピンの計5ピンとだけ接続すれば済みます。
- PIC18F2420を対象とする場合は、R2の抵抗値を2.2kΩあたりへと変更する必要があります。ただし、ここは環境(パソコンのシリアル(RS232C)ポートの細かな仕様、PICの型番・リビジョン)に依存する部分ですから、あなたの環境では2.2kΩは不適切である可能性があります。場合によっては2.2kΩの代わりに1.5kΩや1kΩが試せるように部品表には予備を追加しています。
- もちろんICSPも可能な筈ですが、ICSPケーブルを作るのも面倒ですから、ここではマイコン単体に書きこむ手法を紹介しています。
- PIC18F452にも書き込みを試みてみました。PIC18F452の場合はR2の値が1kΩ, 1.5kΩ, 2.2kΩのいずれの場合でも正常に完了しました。
- またPIC18F2420, PIC18F452ともにR1の値が1kΩ, 1.5kΩのいずれの場合でも正常に完了しました。つまり、ここまでバージョン2.5準拠(R2の抵抗値を除けばバージョン2.5と同じ)で作成すると書いてきましたが、バージョン2.3準拠(R2の抵抗値を除けばバージョン2.3と同じ)で作成しても構わないということになります。
- VR(可変抵抗)は私がPIC18F2420とPIC18F452で試した限りは0~10kΩのほぼどんな値に設定しても正常に書き込みが完了しました。ただし環境によっては可変抵抗ならではの調整能力が必要な場合もあるのでしょう。
クリックすると大きな画像で表示されます
上の説明付きの写真では確認しずらいところをこちらで確認して下さい。
(もちろん)PIC12Fシリーズ、PIC16Fシリーズに対しても使用できます
たとえばPIC12F683に書きこむときは↑上の写真の状態まで組んだ上にさらにこの写真のように5本のジャンプワイヤーを加えます。
クリックすると大きな画像で表示されます
上で記したように本ページの作例ではPIC18F2420に合わせてR2の抵抗値をカスタマイズしていますが、私が確認した限りでは、R2の抵抗値がカスタマイズしたままの2.2kΩの状態で(1kΩや1.5kΩに戻さなくても)、PIC12F683に対して正常に書き込みがおこなえました。ただし、万が一あなたの環境で正常に書き込みがおこなえない場合は、R2を予備に用意した(筈の)1kΩや1.5kΩに差し替えて再度試してみて下さい。
ソフトウェア側
必要なソフト(必要なのは書き込みソフトとデバイス定義ファイル)
使用する書き込みソフトはWinPic日本語版です。無料です。私が書き込み確認をおこなった際のリビジョンは「WinPic日本語版(2006年11月15日にコンパイル)」です。
解凍してインストーラーを起動すればインストール自体はすぐに済むと思います。ただしたとえばPIC18F2420に書き込みをおこなう為には、Microchip社から「PIC18F2420.dev」という「デバイス名.dev」形式のファイル名を持つ「デバイス定義ファイル」を取得して、書き込みソフトが読み込める、所定のフォルダ内に置いておかなければなりません。
書きこみソフトが各種マイコン(デバイス)に対して正しく書き込みをおこなう為には、書き込みソフト側が各種マイコン(デバイス)毎の詳細な情報を掴んでいる必要があるからです。
「PIC18F2420.dev」やその他の種類のマイコンの「デバイス定義ファイル」はMicrochip社から「MPLAB IDE」という無料のソフトをダウンロードしてインストールすれば、インストールされたファイル群の中に含まれるという形で取得することができます。
「デバイス定義ファイル」は小さなテキストファイルなので、わざわざMicrochip社から取得して頂くんじゃなくて、私が持っているものを本ページに直接掲載したいところなのですが、Microchip社の著作物なので一応著作権上掲載できません。
Microchip社のトップページから「Development Tools」をクリックすれば「MPLAB IDE」が見つかる筈です。
MPLAB IDEをインストールすれば、「PIC18F2420.dev」を含め、Microchip社の多くの種類のマイコン用の「デバイス定義ファイル」が同時にインストールされます。
ところで、せっかく「MPLAB IDE」をインストールしたのなら、ついでに「MPLAB C Compiler for PIC18 MCU」等もインストールすることをお薦めします。同じくMicrochip社からダウンロードできます。実質的には無料ソフトです。MPLAB C Compiler for PIC18 MCU」もインストールし終わると、こちらとかこちらに掲載されているC言語のソースを自分でコンパイルしたり自分の好みに合わせた改造をおこなうことが可能になります。
「MPLAB IDE」と「MPLAB C Compiler for PIC18 MCU」のインストールを丁寧に説明したページがあります。→こちら
WinPic日本語版の設定
なんか「Windows2000ぽいな」というのは無視して下さい。
当然対象デバイスの種類を指定します。
ここに、先にイントールした(筈の)MPLAB IDEのフォルダの中の「Device」フォルダの場所を指定して下さい。標準では「C:\Program Files\Microchip\MPLAB IDE\Device」あたりだと思います。わからなければ「*.dev」で検索してみて下さい。あと、ここは空欄のままにして代わりにWinPic日本語版がインストールされたフォルダの「devices」フォルダにたとえば「PIC18F2420.dev」などの「デバイス定義ファイル」を個別にコピーして置いておくことでも代替できますので、「デバイス定義ファイル」を他のパソコンから持ってこられるような場合等にはこちらの手法を選択すればいいでしょう。
あとはデフォルトの設定のままです。
書き込み作業
書き込み作業についての説明は特に要らないでしょう。用意したHexファイルを読み込んでから書きこむだけです。
もしあなたの環境で正常に完了しなかった場合は(照合でエラーが発生した等)、R2の抵抗値を変更すれば正常に完了するようになる可能性があります。予備の抵抗で試してみればいいでしょう。