USBasp



USBに直接接続できるライターがあると便利だと思い製作しました。
参考にしたページは、kumanさんのAVR試用記です。
回路図はkumanさんのページの「USBasp 必要最小限にしたもの」をそのまま使わせていただきます。感謝感謝です^^
kumanさんの回路図の左下の抵抗が「1k5」とありますが、1.5kΩだそうです。見たことの無い表記だったので解らなかったです。
お菓子のフリスクのケースに収まるようにしコンパクトに仕上げました。


ケースに入るようにユニバーサル基板をちょうどいい大きさにカットします。


kumanさんのページの回路図(必要最小限にしたもの)を参考に部品を半田付けします。
少し部品を追加してあります。スイッチだけですが・・・
右上のスイッチで、ライター使用とライターのファームウェア書き換えの切り替えができるようにしました。
kumanさんは、mega8で製作されていますが、私は秋月電子で250円で購入でき入手することが容易なmega88で製作しました。

基板の裏です。汚いですね・・・
USBケーブルのコードを基板の穴に入れたり出したりして抜けにくくしてあります。


USBケーブルとISPのケーブルのためにケースの一部を加工しました。
ニッパーでやったらケースが割れてしまい失敗しました。もうひとつあったのでよかったのですが・・・
2回目は弓ノコで切ったので大丈夫でした。


ケースに収まりました。良い感じです。スイッチの頭が少しはみ出てしまいましたが・・・


ISPコネクタは収縮チューブで綺麗に仕上げてみました。


一応ハードウェアは完成しました。輪ゴムでUSBケーブルを固定できます。

部品一覧
AVRマイコン mega88 秋月電子で250円です。
ユニバーサル基盤 紙エポキシの基板です。加工しやすいので採用しました。
スライドスイッチ ライター、ファーム書き換えの切り替えに使います。
抵抗 1.5kΩ 持っていなかったので、ある方からいただきました。
抵抗 47Ω 2本 秋月で100本100円でした。
クリスタル 12MHz 水晶発振器です。精度がいいです。
コンデンサ 22pF 2個 クリスタルに付ける負荷コンデンサです。
コンデンサ 0.1μF ノイズカット用のバイパスコンデンサです。
USBケーブル 余っていたので使いました。基板に直付けします。
ピンソケット ISPコネクタに使います。
フリスクのケース かっこいいので黒いのを使います。
収縮チューブ ホームセンターで購入。
ファームウェア書き込み

ハードウェアができあがったので、ライターのファームウェアを書き込みます。

こちらから、avrspx-080120.zipをダウンロードしてください。kkkさんやsenshuさん、他にも様々な方々のおかげで素晴らしいファームウェアが無償で提供されています。感謝です。

ダウンロードしたファイルを解凍し、eggフォルダの中にあるusbaspx113_m88.hexを他のライターでUSBaspに書き込みます。
今回は、mega88で製作したので、usbaspx113_m88.hexを書き込みましたが、mega8、48、168用のファームウェアも用意されているので、使ったマイコンによって書き込むファイルを変えてください。


ファームウェア書き込み用に即席でつくりました。コードの長さも適当です。
下の方の赤と黒のコードを安定化電源につなぎ、電源電圧を5Vにして、前につくったライターと今回製作しているUSBaspのISPコネクタをそれぞれ接続しUSBaspのスライドスイッチ切り替え、ファームウェア書き込みモードにします。あとは、パソコンからファームウェアをUSBaspのマイコンに書き込みます。
ファームウェアの書き込みが終わったら、ヒューズビットを下記のように書き換えます。

 ATmega8
Fuse high byte: 0xc9
Fuse low byte: 0x9f

 ATmega48
Fuse high byte: 0xdd
Fuse low byte: 0xd7
Extended Fuse byte: 0xff

 ATmega88/ATmega168
Fuse high byte: 0xdd
Fuse low byte: 0xd7
Extended Fuse byte: 0xf9

初めてのヒューズビット書き換えで緊張しました・・・


ファームウェアの書き換えとヒューズビットの書き換えが終わったら、USBaspをパソコンに挿します。
「新しいハードウエアが見つかりました」、「新しいハードウエアの検索ウィザードの開始」とかでてきたら成功ですが、私はでませんでした・・・・・・・・・・・・・・・・・
配線ミスや半田不良などがあるのかと思い、テスターとかを使って点検しましたが、ミスはありませんでした。ファームウェアを書き込みなおしたりしましたがダメでした。
いろいろ調べたら一部のノートパソコンでは認識されない不具合があるそうです。私のEeePCが一部に含まれるなんて・・・ショックでした・・・
もしかしてと思い、安定化電源の電圧を5Vから3.3Vに変えてパソコンにさしたら、認識されました。avrspxという書き込みソフトでtiny2313にプログラムを書き込みLEDをチカチカさせることができました。
しかし、ターゲットの電圧が5Vのときに使用できません。
対策法として3.9kΩと2.2kΩの抵抗をいれれば良いようですが、持っていません。
この対策法は抵抗分圧により3.3Vを作りだしていると解釈し、手持ちの10kΩの可変抵抗を使って分圧できるんじゃないかと思い実験してみました。
テスターで電圧を測り3.3Vを確認してから、パソコンにさしたのですが、認識されませんでした・・・
1kΩの抵抗をいっぱい持っていたので、直列で接続し、2kΩと4kΩをつくって実験しましたがダメでした・・・
ツェナーダイオードを入れれば、ほぼ100%解決するそうですが持っていません。
電源電圧が4.5Vまでなら認識できたので、ダイオードで電源電圧を0.6V降下させればいいと思ったのですが、乾電池4本の6Vで駆動している装置に書き込みできませんし、ライターとターゲットの電源電圧に0.6Vの差が生じるのはダメだと思いやめました。
もう諦めて通販でツェナーダイオードを購入しようと思い始めてました・・・
しかし、USBハブで認識されたとの報告が!!
まさかと思い手持ちのUSBハブで中継しパソコンに挿したら認識されました\(^o^)/


ヤマダ電機で280円で安かったから買ったけど使っていなかったUSBハブが役に立つときが訪れました。買っておいて良かった^^


USBaspが認識されたらインストールウィザードが開始されます。最初にダウンロードしたファイルのavrspx-080120\usbaspx113 20060830\win-driverにドライバーが入っていますので指定してインストールします。
成功すれば、マイコンピュータのプロパティ→ハードウエア→デバイスマネージャを開けるとLibUSB-Win32 Devicesという項目が追加されていると思います。ここの田マークをクリックすれば、USBaspというのがあります。これでパソコンにUSBaspのインストールが完了しました。


USBaspを使う

USBaspでマイコンにプログラムを書き込むためにavrspx.exeというソフトを使います。
avrspx.exeも沢山の方々のおかげで私たちが快適に使うことができます。感謝です。
最初にダウンロードしたファイルのbinフォルダの中にavrspx.exeを使うためのファイルが一式入っています。

@USBaspを接続し、コマンドプロンプトを起動します。
Aavrspx.exeというファイルをコマンドプロンプトのウィンドウにドラッグアンドドロップします。
Bコマンドプロンプトをアクティブウィンドウにし、エンターキーを押すと、オプションの書式とライタの種類が表示されます。
Cターゲットへのプログラムの書き込みは avrspx.exe スペース の後に.hexファイルをドラッグアンドドロップし、エンターキーを押します。

avrspx.exeについていろいろと書きましたが、kumanさんのページの方が詳しく丁寧に解説されていますので、そちらを参考にしていただいたほうがいいと思います。
奥研TOPへ