2011年1月25日火曜日

Writer509CDC 簡易版

前回に引き続き、PICマイコンのプログラマ(ライタ)のお話です。

今回は安く簡単に自作できて、しかもUSB接続で使える便利なプログラマの紹介です。このように書くと、とても素晴らしいプログラマのように聞こえるので、作ってみようと思われる方がおられるかもしれませんが、実は大きな欠点があります。それは、いわゆる「鶏と卵問題」です。このプログラマにはPICマイコンを使って制御しているので、作るためにPIC用のプログラマが必要なのです。

そんな、便利そうで、ちょと残念なプログラマですが、とりあえず紹介致します。「鶏と卵問題」の対策は、あとで。

このプログラマは、名付けて「Writer509CDC」です。オレンジ電子さん作の「Writer509」と互換のUSB接続タイプのプログラマです。オリジナルのWriter509は、パソコンとの接続はシリアル(RS232C)ポートを使いますが、Writer509CDCはUSBで使えるようにしたものです。オリジナルのWriter509ではPIC12F509などのマイコンを使って、シリアル(RS232)通信でのパソコンとの通信と、プログラム書き込みの制御を行います。USB接続のWriter509も既にいくつかネット上で公開されていますが、ほとんどは従来のWriter509と、USB-シリアル変換ICを組み合わせたものです。このWriter509CDCは、USB通信機能を内蔵したPIC18F14K50を使って、USBでのパソコンとの通信と、プログラム書き込みの制御を行います。

(1)回路
回路図は右の図のとおりです。パソコンとのUSB通信も、書き込みの制御もすべて1つのマイコンで行っているので、部品数が非常に少なくなっています。

回路図の0.33μFのコンデンサは、秋月電子では手ごろな値のコンデンサがなかったので、下の部品表では0.22μFのコンデンサを2つ並列に使うことにしています。

USBケーブルは、壊れたUSBマウスなどのケーブルを使うか、100円ショップ等の安いものでよいと思います。パソコンに接続するほうのコネクタを残して、反対側のコネクタ(または不要なマウスなど)を切って使います。

PICマイコンにプログラムを書き込むためには、(一部の 新しいPICを除いて)動作電圧の5Vの他に、Vppと呼ばれる9~12Vの高電圧が必要になります。今回紹介するWiter509CDCでは、この高電圧を006P型の9Vの電池を使って作っています。

Writer509CDCの使用部品
マイコンPIC14K50200円
セラミック発振子12MHz(コンデンサ内蔵)20円
トランジスタ2SA1015100円/20個
コンデンサ0.22μF ×2個100円/10個
抵抗10kΩ100円/100個
抵抗100kΩ100円/100個
電池006P角型9V
電池スナップこんなもの10円
USBケーブル

注)価格は2011年1月の秋月電子の価格


 このプログラマは回路構成が簡単なので、右の図のように150円の小さなブレッドボードで作ることもできます。ただし、小さなブレッドボードでは穴の列数がすくないので、書き込み対象のPICとしては14ピンくらいのものまでしか挿せません。18ピン以上のPICに書き込む場合は、もっと大きなブレッドボードを使うか、この小さなブレッドボードをもう1つ使うかする必要があります。


(2)マイコンのプログラム
Writer509CDCに使っているマイコンのプログラム(ファームウエア)はこちらに置いておきます。

Writer509CDC用ファームウエア(Ver.1.0)のダウンロード
(Ver.1.0にアップしました 2011/9/13)
Ver.1.0の動作確認が不十分なので、旧バージョンもおいておきます。
Writer509CDC用ファームウエア(Ver.0)のダウンロード


このプログラムはMicrochip社が提供しているUSB Frameworkを使用して作成しています。
私の作成したファームウエアのダウンロードファイル一式の中の「Writer509CDC.hex」というファイルをPIC18F14K50に書き込んで使ってください。
少し専門的な話になりますが、このhexファイルは、同じくMicrochip社のUSB Frameworkの中に含まれている「HID Bootloader」にも対応していますので、PIC18F14K50に「HID Bootloader」のファームウエアが既に書き込まれている場合は、PICプログラマがなくても、このBootloaderを使って私のファームウエアをパソコンからUSB経由で直接PICに書き込むことができます。Bootloaderについての説明は少し専門的になりまので、ここでは省略して、また後日、機会があれば説明します。


(3)使い方
回路が完成して、PIC18F14K50ファームウエアの書き込みができたら、書き込み対象のPICをWriter509CDCに接続します。上の回路図、またはブレッドボードの図では、接続例としてPIC16F630の場合の配線を描いています。
書き込み対象のPICの接続ができたら、Writer509CDCのUSBケーブルをパソコンのUSBポートに接続します。ただし、パソコンに接続する前にもう一度、回路の配線を確認してください。配線が間違っていた場合、最悪パソコンを壊してしまう危険性があります。そのあたりは自己責任でお願いします。
Writer509CDCを初めてパソコンに接続した場合、パソコンが新しいハードウエアを認識し、ドライバーのインストールを求められます。そのとき、ドライバの検索先として、上のマイコンファームウエアのダウンロードファイル一式の中に含まれる「inf」フォルダを指定してください。それで、あとは自動的にドライバがインストールされるはずです。ドライバーがインストールされると、Writer509CDCはUSBの「CDCクラス」として認識されます。そしてパソコンとWriter509CDCは「仮想COMポート」経由で通信を行います。
ここまでくれば、あとは普通の(オリジナルの)Writer509と同じように使用できます。パソコン側の書き込み用ソフトはオレンジ電子さんのWriter509のページからダウンロードして使ってください。ソフトの使い方も同じくオレンジ電子さんのページをご覧ください。

一応、私の作った書き込みソフトもあります。拡張PIC16F(PIC12F182、,PIC16F1823など)にも対応する目的で作りました。

◆Windows版書き込みソフト<W509CS
◆Linux、Mac OSXなどクロスプラットフォーム版<W509Mono

(4)その他:Vppの電圧について
PICマイコンの比較的古いものでは、高電圧に12V程度必要なため、Vppに9Vの電池を使った回路では書き込めないものもあります。書き込もうとするPICでVppに何V必要化はWriter509の作者オレンジ電子さんのホームページを 見て確認してください。ちなみに、私がこのブログでこれまでに紹介した作品で使っているマイコンのうち、PIC12F683とPIC16F630は Vpp=9Vで書き込み可能です。PIC12F615はスペック上はVpp=10V以上必要なので書き込みできないことになりますが、新しい電池を使えば ぎりぎり書き込めるかもしれません(実際には試していないのでわかりません)。
Vppの高電圧もマイコンを使って作る方法もあって、実は私のWriter509CDC用プログラムにはそのための動作も用意してありますが、それを利用すると回路が少し複雑になるので、それについてはまた後日紹介します。
Writer509CDC全機能版はこちら

(5)「鶏と卵」問題:ファームウエアの書き込みについて
正直なところ、この問題を簡単に解決できる方法はないのですが、手間をかける覚悟があるのなら、なんとかする方法はあります。その方法については、また後日紹介させていただきます。
と言って、終わってしまうとせっかくここまで読んでいただいた方に申し訳ないので、もし、「なんとしてもこのプログラマを作りたい!」と言う方は、ご相談ください。場合によっては何とかお力になれるかもしれません。
鶏と卵問題対策はこちら

(2011/9/13 追記)
ファームウエアをVer.1.0に更新しました。
ターゲットへの書き込みクロックを少し高速化しました。


にほんブログ村 その他趣味ブログ 電子工作へ
↑最後まで読んでいただいた方はこちらのリンクをクリックしてランキングにご協力下さい。
↓ついでに、下のリアクションもチェックお願いします。

2011年1月13日木曜日

PICマイコンのプログラマ その1

今日ははPICマイコンのプログラマ(ライタ)のご紹介です。
私の電子工作ではマイコンを使っています。マイコンは、複雑な動作をする電子回路を、簡単な回路構成(ハードウエア)で作ることができる便利な部品です。回路構成が簡単なかわりに、その回路がどのように動作するかは、マイコンのプログラム(ソフトウエア)で決めることになります。 マイコンは買った新品の状態では何もプログラムが入っていません。私がこのブログで紹介している作品を作ろうと思っていただいても、必要な部品を買い揃えるだけでは作ることができません。その回路の動作を決めるプログラムをマイコンに書き込む必要があります。マイコンにプログラムを書き込むためにはそのマイコン専用の書き込み器、プログラマ(ライタとも言います)が必要です。
私が使っているマイクロチップ社のPICというマイコンの場合、そのプログラマは、大きく分けて次の3種類あります。
(1)マイクロチップ社純正のプログラマ
機能の違いで安いものから高いものまでいくつかありますが、趣味レベルでは安いもので十分と思います。もっとも安いのは旧モデルになりますがPICkit2で、秋月電子で3500円で売っています。その後継の最新型はPICkit3で、同じく秋月電子で4500円です。

(2)純正以外の市販のプログラマ
例えば、やはり秋月電子でAKI-PIC2というものがあります。これは上記のPICkit2と互換とのことです。値段は5300円と少し高いですが、ゼロプレッシャーソケットがついていて使いやすいです。

(3)自作のプログラマ
検索するといろいろなものが見つかると思います。
有名なものでは、JDMプログラマ、その亜種であるRCDライタなどがあります。その他、Writer509PICerFTなども使いやすくて人気があるようです。
JDMプログラマやRDCライタは比較的安い部品だけで作れる反面、PCのシリアルポートを、少しクセのある使い方をしているため、PCとの相性の問題がある場合があるようです。
Writer509はシリアルポートを素直な使い方をしているので、安定性がよいようです。また、USB-シリアル変換を使えば、シリアルポートのないPCでも使えます。USBで使用できる回路も簡単で作りやすいのですが、1つ大きな欠点があります。それは、このライタ自身にPICマイコンを使っているため、ライタを作るためにライタが必要という「鶏と卵問題」です。リンク先のページでその問題を回避する方法も紹介されています。
PICerFTはUSB接続で、しかも部品代も比較的安く、「鶏と卵問題」もないというとても優れたプログラマのようです。

以上のように、PICマイコンのプログラマには市販品から自作のものまで、多種多様なものがあります。電子工作初心者で、工作に自信がない方は安全、安心、そして時間の節約のため(1)か(2)の市販品を買われることをお勧めします。昔は市販のプルグラマがもっと高かったので自作する人も多かったようですが、今では市販品も安くなったので、プログラマを自作する人は、お金の節約よりも、作ること自身を楽しむ目的が大きいのかもしれません。

ちなみに、私はどんなプログラマを使っているかと言いますと、最初の1台は純正ではない市販品のプログラマを購入して使っていました。そして、今は自作のプログラマを愛用しています。愛用の自作プログラマはどんなものかと申しますと、(3)で紹介したどれでもありません。それは、Writer509をベースに改良したもので、PIC18F14K50という比較的安くてUSB機能を内蔵したマイコンを使った、USB接続のWriter509互換器です。その詳細は後日紹介させていただく予定です。


にほんブログ村 その他趣味ブログ 電子工作へ
↑最後まで読んでいただいた方はこちらのリンクをクリックしてランキングにご協力下さい。
↓ついでに、下のリアクションもチェックお願いします。

2011年1月12日水曜日

冬の間の活動

今更ながら、あけましておめでとうございます。
気が付けば、前の更新から1ヶ月近くたち、1月も半ばになってしまっていました。今月も私は出展しませんでしたが、長岡京の「ものづくり市」は寒い中でもがんばってやっておられたようです。
前にも少し書きましたが、私は自分が寒いのと、お客さんも寒くて電子工作なんて作っていられないと思うので、冬の間は「ものづくり市」など屋外での活動は休止しています。

しかし暖かくなるまで何もしないというのも寂しいので、機会があれば、どこか屋内で活動したいなぁ、とも思っております。どなたか、そんな機会と場所をご提供いただける方がおられましたら、ご一報ください。適当な友達グループ数人とかでも結構です。これまで紹介してきたネタや、またはご要望に応じて新しいネタで、電子工作の出前をさせていただきます。ただし、京都から日帰りで行ける範囲でお願いします。

ご興味のある方は、とりあえず、下のコメントか、横の「メール送信」でご連絡ください。