AVRライター

2015.7.7
小山智史(弘前大学)
AVRライター[pdf]
1. HIDaspx(ヒダピオ) ISPライター
HIDaspxは千秋広幸氏が開発したAVRライタです[1]。「ヒダピオ」は浅田寿展氏が開発した制御学習教材で[2]、そのハードウェ
ア部分(HIDaspxそのもの)が(株)トップマンから「ヒダピオ学習回路」として販売されているので[3]、ここではこれを用います。
インシステムで(マイコンが装置に組み込まれた状態で)書き込むタイプの「ISPライター」としました。マイコンに接続しやすいように
ICクリップを用います。書き込み時には必ず回路の電源(電池)をオン状態にしておきます。
ライタソフトはHIDspxを用い、ヒダピオの場合は「-php」のオプションをつけます。書き込みは高速です。
(製作メモ)
部品表
名称
入手先等
ヒダピオ学習回路 6530-700
トップマン @1950
細ピンヘッダ 14P
秋月 @15
抵抗 1/4W 100Ω 4個
秋月 @100(100本)
ICクリップ ITC-20A(ATtiny2313/4313用) 秋月 @1360
ICクリップ ITC-8A(ATtiny45/85用)
秋月 @480
リボンケーブル 5芯
千石 @273(6芯×1m)
細ピンヘッダに抵抗とケーブルを半田付け
し、
リボンケーブル(5芯)でICクリップ(20P)に接
続
細ピンヘッダに抵抗とケーブルを半田付け
し、
リボンケーブル(5芯)でICクリップ(8P)に接続
ヒダピオと接続し、テープで固定
ヒダピオと接続し、テープで固定
動作中のATtiny2313/4313に
クリップで接続して書き込み
ATtiny2313/4313用ISPライター
動作中のATtiny25/45/85に
クリップで接続して書き込み
ATtiny25/45/85用ISPライター
ICの1番ピンの箇所には●印がついているので、方向を間違えないようにICクリップにも同じ箇所に●印をつけておきます。
1
2. HIDaspx(ヒダピオ) ZIPソケットライター
上と同じくHIDaspx(ヒダピオ)を使ったライターですが、ISPタイプではなく、AVRマイコンIC単体をICソケットに装着して書き込むタ
イプです。プログラムが完成していて、組み立て前にプログラムを書き込みたい時にはこれがあると便利です。マイコンを装着しや
すいようにゼロプレッシャーICソケット(ZIPソケット)を用います。
(製作メモ)
部品表
名称
入手先等
ヒダピオ学習回路 6530-700 トップマン @1950
ゼロプレッシャーICソケット 20P サトー電気 @350
ブレッドボード EIC-301
秋月 @190
ジャンパーワイヤ EIC-J-S
秋月 @250
L型ピンヘッダ 40P
秋月 @50
抵抗 1/4W 100Ω 4個
秋月 @100(100本)
細ピンヘッダ 14P
秋月 @15
以下の写真の方法で組み立てると、半田付けをしないですみます。
ブレッドボードに部品を配置・結線
L型ピンヘッダで接続するとライターが完成
2
3. Arduino UNO版 ArduinoISPライター
Arduino開発環境(ArduinoIDE)の[スケッチの例]にあるArduinoISPをArduino UNOに書き込み、ArduinoをISPライタとして使う方法
です。ライタソフトはArduinoIDEにあるAvrdudeを使います。
(製作メモ)
部品表
名称
Arduino UNO R3
秋月
L型ピンヘッダ 40P
秋月
抵抗 1/4W 100Ω 4個
秋月
電解コンデンサ 10μF 1個 秋月
ICクリップ ITC-20A
秋月
リボンケーブル 5芯
千石
入手先等
@2940
@50
@100(100本)
@10
@1360
@273(6芯×1m)
1. Arduino IDEで[ファイル][スケッチの例][ArduinoISP]をArduino UNOに書き込みます。(注)下記3のコンデンサを接続した状態では書
き込みができないので、必ず書き込みをしてからコンデンサを接続してください。
2. L型ピンヘッダを6ピンおよび8ピンに切断し、Arduino UNOに図のように取り付けます。
3. ピンヘッダに抵抗とコンデンサを半田づけし、抵抗とICクリップをリボンケーブルで接続します。
4. 8ミリビデオのケースにちょうど収まります。
3
4. Da Vinci版 ArduinoISPライター
Arduino Leonardo互換のDa Vinciを使うとコンパクトなISPライターを作ることができます。ただし、製作過程は少々複雑です。
(製作メモ)
部品表
名称
入手先等
Da Vinci 32U
ストロベリーリナックス @1300
抵抗 1/4W 100Ω 4個 秋月 @100(100本)
ICクリップ ITC-20A 秋月 @1360
リボンケーブル 5芯 千石 @273(6芯×1m)
1. まずArduino UNOでArduinoISPライターを作る。
2. ArduinoISPライターからISPケーブルで Da VinciのICSP端子に接続する(Da VinciはUSB接続しない)。
3. boards.txtの150行目付近を以下のように変更する(ブートローダーを使わなずに書き込むため)。
#leonardo.upload.protocol=avr109
leonardo.upload.using=arduino:arduinoisp
4. ArduinoIDEを起動し、[ツール][マイコンボード]でArduino Leonardoを選択する。[ツール][書込装置]でArduino as ISPを選
択する。
5. Da Vinci 32U(DFUタイプ)の場合は、[ツール][ブートローダを書き込む]でLeonardoのブートローダーを書き込む。これにより
「クロック 1/1」のヒューズ設定となる。(Da Vinci 32U with Arduino Bootloaderの場合はクロック 1/1になっているのでこの操
作は不要)
6. [ファイル][スケッチの例][ArduinoISP]の47行目付近を以下のように変更して書き込む。
#define RESET
↓
#define RESET
SS
8
7. ArduinoIDEで利用する場合は、hardware/arduino/programmers.txtに以下を追加する。
arduinoispleo.name=Arduino as ISP(Leonardo)
arduinoispleo.communication=serial
arduinoispleo.protocol=arduino
arduinoispleo.speed=19200
8. ArduinoIDEで利用する場合は、hardware/arduino/boards.txtの[ArduinoISP/ATtiny4313]に以下を追加する。
arduinoisp4313.name=ArduinoISP/ATtiny4313(8MHz)
arduinoisp4313.upload.using=arduino:arduinoisp
arduinoisp4313.upload.maximum_size=4096
arduinoisp4313.bootloader.low_fuses=0xe4
arduinoisp4313.bootloader.high_fuses=0xdf
arduinoisp4313.bootloader.path=dummy
arduinoisp4313.bootloader.file=blink4313.hex
arduinoisp4313.bootloader.unlock_bits=0x3F
arduinoisp4313.bootloader.lock_bits=0x3F
arduinoisp4313.build.mcu=attiny2313
arduinoisp4313.build.f_cpu=8000000L
arduinoisp4313.build.core=arduino
arduinoisp4313.build.variant=attiny4313
[1] AVRaspx, http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2FHIDaspx_news02
[2] ヒダピオ, http://www.hidapio.jp/
[3] ヒダピオ学習回路, http://www.topman.co.jp/ky/download/hidapio/hidapio_00.html
[email protected]
4