AWAB01 – AVR書込みボード

概要

AVRにプログラムを書き込むための治具です。

この手のものは世の中にたくさんあり、大抵はたくさんのデバイスに対応しています。しかし、たくさんのデバイスに対応できるが故に、ジャンパ設定が煩雑なものが多いようです。また、Arduino UNO用のシールド形式のもの物が多いように思います。

本治具は、対応デバイスを限定することで、面倒なたくさんのジャンパを不要とし、簡単に扱えるようにしました(ATmega328P、ATtiny85、ATtiny13Aで動作確認済み)。また、Arduino UNOを使ってしまうのももったいないのでシールドの形態にはしていません(USBaspとならケーブル一本で接続可能。ArduinoISPとの接続も容易)。さらに、I2C端子を設けているためLCDモジュールの接続も容易で、簡単な動作確認に使用することもできます。

特徴

  • ゼロプレッシャICソケットを採用
    • 28ピンと14ピンの二つを搭載(同時使用は不可)
    • ATmega328PとATtiny85、ATtiny13Aに対応(これら以外は未確認)
  • ATmega328Pには外部クリスタルも実装
    • 16MHz
    • 内蔵発振器の使用も可
  • ISP端子は10ピンボックスヘッダと6ピンピンベッダの二種類
  • 簡易テスト機能
    • D13にLEDを搭載(ArduinoでいうところのLED_BUILTIN)
    • I2C端子も搭載(ATmega328PとATtiny85の両方で使用可能)
    • リセットスイッチ
  • 基板サイズは秋月電子の「ユニバーサル基板 Bタイプ」に準拠

使用方法

本装置は単体では使用できませんAVRライタと組み合せてISP経由でAVRに書き込みます。

ATmega328P、ATtiny85、および、ATtiny13Aで動作を確認していますが、それ以外では動かないという意味ではありません。文字通り、「確認していません」ということです。もし、他のデバイスでも使えたら教えてください。

AVRライタ

AVRライタとしては、USBaspArduinoISPが使用できます。

USBasp

USBaspとはケーブル一本で接続でき、とても簡単です。USBaspは海外通販やAmazon、楽天市場、Yahoo!ショッピングなどで購入できます。

下はUSBaspと組み合せて使用した例です。

この写真のように10ピンのISPコネクタにケーブルで接続すればOKです(6ピンのピンヘッダも使えますが、わざわざ変換コネクタを使う必要もないでしょう)。

また、この写真ではI2CでLCDモジュールを接続しています。このように、LCDの動作も見られるので、書込み後の動作確認もできます。

ArduinoISP

ArduinoISPは、Arduino UNO(など)をAVRライタとして使うものです。Arduinoに専用のスケッチを書き込めばArduinoISPとして使用できます。下はArduino UNOの互換機をAdruinoISPにして組み合せた例です。

Arduino UNO互換機。 画像は公式ショップ(AliExpress)から。 子供向けみたいだけど、スイッチ、ブザ...

ArduinoISPの場合は、ピンの対応が次のようになっています。

Arduino UNO 本装置
10 RESET
11 MOSI
12 MIOS
13 SCK

この他、+5VとGNDをつなぎます。

あるいは、Arduino UNO上のICSPピンも使用できます。下はArduinoの公式サイトから引用した図です(二つ)。

Arduino UNOのICSP端子も使用できます。

この場合でも、RESETだけは10番ピンに接続します。上の写真で一本だけ別に伸びている緑のワイヤがそれです。Arduino UNOに別のAVRライタから書き込む場合はこのICSP端子をそのまま使いますが、Arduino UNOをArduinoISPとして使う場合(Arduinoをライタにする場合)はArduino UNOがRESET信号を受けるのではなくて出す側になるためです。

こちらの記事も参考にどうぞ。

AVRにプログラムを書き込むにはAVRライタが必要。これまで使ってきたのは、USBaspを使ってきた。USBaspは、このキットにセットに...

AVRの装着とスイッチ

ICソケットのレバーを起こしてチップを挿し込み、レバーを倒して固定します。下の写真でICソケットの左下のピン(レバーに最も近いピン)が1番です。

ATtiny85は8ピンですが、ソケットは8ピンのものが見つけられなかったので14ピンのものを使っています。下の写真のようにレバー側に寄せて挿して下さい(後ろ側は空き)。

スライドスイッチは、ATmega328Pの場合は常に上側(上記写真の場合)。ATtiny85の場合は書込み時は上側、書込み後にI2Cを使用する(テストする)際には下側に設定してリセットスイッチ(タクトスイッチ)を押します。ATtiny13Aの場合はI2Cを使うことはないでしょうから、スライドスイッチは上側固定でOKです。つまり、どのデバイスであっても、書込み時はスライドスイッチは上側です。

注意
Arduino NanoでArduinoISPを使用してATtiny85に書き込みを行った場合、I2Cの動作確認を行うならArduino ISPとのSCKの配線を外してください。詳細はこちら記事のコメントご覧ください。
/archives/28679#comment-1127

LED

LEDはD13に接続されています。ArduinoでいうところのLED_BUILTINです。また、このピンはSCKと共通ですので、書込み時はチラつきます。さらに、I2CのSCLとも共通ですから、I2Cを使用する場合にはやはりチラつきます(通信していれば)。

ヒント
このLEDを使って動作チェックができます。LEDが定期的に点滅するとか、起動時に特定のパターンで点滅するようにプログラムを組んでおくと良いと思います。ボード上のリセットボタンを押せばプログラムが頭から走りますので、LEDの動きを見ることで正しく書けたことを確認できます。

書込み

avrdudeを使って書き込みます(Arudino IDEからも利用できます。Arduino IDEはボードへの書込み時にavrdudeを呼び出しています)。書込みについてはあちこちのサイト説明があります。当サイト内ではこちらです。

Atmel Studio 7.0でビルドしたバイナリをAVRに書き込む方法をまとめておく。 書込みツール AVRにプログラムを...
Arduinoで開発したプログラムを実際の装置に組み込む場合、Arduinoである必要はなくAVRマイコンそのものとして使えればよいはず。...
Arduino IDEで素のATmega328Pに書き込めるようになったので、今度はATtiny85に書き込めるようにしてみる。この手の情...
ATtiny85でもI2Cの液晶が使えるようなのでやってみた。結論から言うと、Arduino IDE用のライブラリがあるので、それを使えば...
Arduino IDEを使ってATtiny13Aに書き込むという情報は検索すればたくさん見つかる。大筋の手順はこちらのATtiny85の場...
Arduino IDEはコンパイルが絶望的に遅い。また、基本的な動作がコンパイルして即ターゲット(ボード)に書き込むというスタイルなので、...

製作編

ここでは、本機を組み立てる際に注意すべき点について記します。あまり難しいところはないですが、いくつか気を付けるべき点があるので、まずは一通りご覧ください。

回路図と部品表

回路図と部品表はPDFで用意しております。

下の図は回路図の雰囲気を掴んでいただくための参考です。

部品チェックと仕分け

まず最初に、部品をチェックして下さい。

本機ではコンデンサの一部にチップ部品を使用しています。すべて同じ定数(0.1μF~1μF程度)ですので、混同の心配はありません。また、手ハンダが比較的し易い2012サイズ(2.0×1.2mm)で、ランドも大きめのサイズにしていますので難しくはありません。

チップ部品が見えないのは 「老眼でチップ部品は見えなく…」などという声をよく聞くけど、チップ部品が見えないのは老眼のせいじゃない。老眼のせ...

組立て

最初に、基板の端面をヤスリがけしてください。製造上の都合により、一辺だけザラついています。

あとは定石通り、背の低い部品から取り付けていくのがお勧めです。

チップコンデンサ

基板の裏面に三個所あります。

この他、表面に一か所あります(後述)。

抵抗

R2とR3はI2Cのプルアップ用です。上の写真にあった液晶モジュールでは液晶モジュールにこのプルアップ抵抗は実装されているので、本機ではR2とR3は実装しません。もし、外付けのI2C装置にプルアップ抵抗がない場合はR2とR3を実装してください。その際、JP1も取り付けて下さい。R2とR3を実装した状態でもJP1で切り離せるようになっています。詳しくは回路図をご覧下さい。

R2、R3、JP1はキットには含まれませんので、必要に応じて用意してください。

クリスタル

ケースでランドがショートしないよう、少し浮かせて実装します。ハガキくらいの厚さの紙で下の写真のような実装治具を作ると良いと思います。

ハンダ付けした後で、この紙を引き抜きます。

クリスタルの左側で抵抗の下に見えるC6が表面のチップコンデンサです。このコンデンサのランドはチップ部品でもリード部品でも実装できるように作ってあります。そのため、チップ部品だとスルーホールにハンダが吸い込まれてしまって少しやりづらいかもしれません。とはいえ、それほど難しいものではないと思います(ハンダが少し多めに必要なくらい)。

C3とC4もチップ部品・リード部品両用のパターンにしていますが、こちらはリード部品を添付しています(ついでに言うなら、クリスタルも表面実装品用のパターンを付けています)。

2×3ピンヘッダ

採用した部品ライブラリが良くなかったようで、裏面にランドがありません。しかし、スルーホールになっているので、ハンダを流し込めばしっかり接続・固定できます(他の部品と同じようにハンダ付けすれば大丈夫です)。

付け終ったら、念のためこの状態で各ピンの導通確認をしておくと良いと思います。隣の10ピンのパターンとの接続を見るのが簡単でしょう。

ICソケット

ICソケットはピン数が多く、また、ピンが比較的曲がりやすいため基板に差し込むのが結構大変です。素直に差し込めない場合は、おそらくピンがわずかながら曲がっていると思われます。よくチェックして差し込んでください。袋詰の際に、基板にささることをチェックしているので極端に曲がっていることはないはずです。

また、上写真のように本レバーを起こした状態でハンダ付けします。レバーを倒すと端子が閉まるので、その状態でハンダ付けすると毛細管現象でハンダが吸い込まれて、端子開かなくなってしまう恐れがあります。レバーを起こした状態で、手早く、かつ、確実にハンダ付けしてください(と書くと難しそうに見えますけど、要は、必要以上に長時間熱を掛けず、普通にハンダ付けすれば大丈夫です)。

裏カバー

本機は秋月電子の「ユニバーサル基板 Bタイプ」と同じ寸法にしていますので、それ用のアクリル板を裏に取り付けてカバーとすることができます。が、アクリル板は値段が高いので、ユニバーサル基板自体をカバーとして使うのも手です。

もっと安価に済ませるには、適当なプラスチック版や厚紙を使うことです。

牛乳や焼酎の紙パックが都合がいいです。穴を開けて結束バンドで固定してみました。この例では、紙を必要なサイズに切ってから穴を開けましたが、穴が端の方にあるので開けづらかったです。穴を開けてから、紙を切った方がやりやすいかもしれません。回路図のPDFに原寸大の図を付けていますので、型紙としてご利用ください。

キット内には裏カバーや結束バンドは含まれません。必要に応じて用意してください。

頒布

頒布品はキット(部品セット)です。完成品ではありません。

ご希望の方は、下記注意事項等をご確認の上、下のフォームからお申し込みください。

【注意事項】

  • 部品の調達の都合上、上の写真とは異なる場合があります。
  • コストダウンのため、ほとんどの部品は海外通販で調達しています。
  • 本機のマニュアルは当ページがすべてです。紙媒体はありません。また、本機は電子工作の経験がある程度ある方を対象としております。抵抗のカラーコードやコンデンサの値の読み方など、基本的なところの説明はしていません。電子工作の基本については、こちらのページに参考になりそうなサイトなどをまとめてあります。
  • 資源の有効活用のため、梱包材は再利用することがあります。ご了承ください。
  • 仕様や頒布価格は予告なく変更することがあります。
  • 本機の組立てや使用による怪我・事故等には責任を負いません。

【価格】

  • 頒布価格: 1,000円
    • チップ部品(コンデンサ)は、念のため予備を入れてあります。
  • 送料: 300円
  • 支払い方法: 銀行振込(楽天銀行、ゆうちょ銀行、PayPay銀行)、PayPay

【申込みフォーム】

※これは申込み専用フォームです。申込み以外(問合せ等)には使用できません。

こちらにご入力いただいたメールアドレス宛に、追って、振込先等をお知らせします。入力ミスのないようお願いします。また、ここにご住所等は書かないようにお願いします。

このフォームでお申し込みいただいた時点では、注文が確定されるわけではありません。タイミングによっては、在庫が切れている場合もあります。自動注文システムではなく手動での対応ですので、何卒、ご了承下さい。




    ※携帯メール(スマートフォンを含む)、ISP(プロバイダ)メール、Yahoo!メール、hotmailは届かないおそれがあります。避けるよう、お願いします。jarl.com転送メールはトラブルが多いので使用しないでください。


    ※「送る」ボタンを押すと控えがメールで届きます。必ずご確認下さい。届かない場合は入力したメールアドレスが間違っている可能性があります。