2015年4月11日土曜日

Arduino 互換機を自作する(4):仮組み~完成

もくじ
  1. Arduino 互換機を自作する(1):導入
  2. Arduino 互換機を自作する(2):部品を選ぶ
  3. Arduino 互換機を自作する(3):ブートローダーを書き込む
  4. Arduino 互換機を自作する(4):仮組み~完成


今回は前回ブートローダーを書き込んだ ATmega328p を使って
ついに Arduino 互換機を組み立てます。

外部クロック版の回路図は次のようになります。
一見、部品が多いように見えますがHEADER-1~4 はただのヘッダピンです。
また、FTDI USB シリアル変換モジュールはヘッダピンに挿しているだけなので
はんだ付けは不要です。
ArduinoExternalClockCircuit.jpg

内部クロック版の場合はこんな感じ。
面倒なのでヘッダピンの記載は省略しました。
ArduinoInternalClockCircuit.jpg

外部クロックの方がオシレーター(水晶発振器)関連の分だけ
部品が多いですが、それ以外はどちらも手順は同じです。

ブレッドボード上に仮組みする


はんだ付けの前にブレッドボード上で動作確認します。
仮組みの時点ではヘッダピンは不要です。

組み終わったら、FTDI USB シリアル変換モジュールから
PC に USB 接続して Arduino IDE からスケッチを書き込みます。

スケッチ書き込み時に指定する Arduino の機種は
前回、ブートローダーの書き込み時に指定したものと同じです。

動作確認の定番と言えば「Lチカ」ですね。
サンプルスケッチの Blink を実行すると D13 の
LED が点滅すると思います。

ユニバーサル基盤に配置




ブレッドボードで上手く動作したら、
今度はユニバーサル基盤上に実装します。
ヘッダピンは切り離して使えるタイプのものを
6ピン、5ピン、4ピン、14ピンの4個に分けておきます。

はんだ付けをする前に全ての部品を一旦配置してみて、
配線を飛び越えないといけない部分などの取り回しを
確認しておくことをお奨めします。

ポイントになりそうなところをいくつか説明しておきます。

22pin GND と 20pin AVcc
これらのピンはそれぞれ 8pin GND と 7pin Vcc に
ショートさせるのが推奨されています。
ただし、これはノイズ対策が目的なので、
モーター制御などのノイズが発生するケース以外は
やらなくても一応は動作します。

チップの裏側から配線を飛ばすのが簡単ですが、
7pin-20pin と 8pin-22pin の結線が互いに交差してしまうので
どちらか一方はチップの外側を迂回させるか、
被膜付きのジャンパー線を飛ばす必要があります。

FTDI USB シリアル変換モジュール
今回に限ったことではありませんが、ATmega328p の RX を
モジュールの TX に、TX を RX に繋ぎます。
RX-TX とはそういうものです。

モジュールの 6pin GND が ATmega328p の
1pin RESET 側に来るように6ピンのヘッダピンへ
配線すると、少々トリッキーですが下図のように
固定抵抗やコンデンサを駆使して線の交錯を避けられます。
図のうち赤い線が基板背面、緑と部品が基板表面です。
ArduinoMakingGNDConnection.png

このようにしてピンヘッダを付けておくと、
USBシリアル変換モジュールのピンソケットを
そのままピンヘッダに挿せるので便利です。

以前も書きましたが、このような使い方ができるため、
USBシリアル変換モジュールはケーブルの付いていない
ピンソケットタイプのものがお奨めです。

ユニバーサル基盤にはんだ付け


慣れている方にとっては常識でしょうが、
一応、ユニバーサル基盤ではんだ付けするときの注意を。

  • 配線は部品の脚を使う。
    固定抵抗などの脚を基板裏側で曲げながら
    他の部品と繋いでいきます。
    出来るだけリード線を使わない方がすっきりします。

  • 両端と曲がり角だけはんだ付けする。
    脚を曲げて繋ぐ際、直線部分ははんだ付けしません。
    ハンダがもったいないしブリッジしやすくなるので。
    私は曲がり角でズレないようにはんだ付けしますが、
    人によっては本当に両端しかしないのかも。

  • 隣同士の部品はハンダブリッジで繋ぐ。
    すぐ隣に接続先がある場合はわざとはんだをブリッジさせます。
    部品の脚を曲げると弓型になってしまって不細工です。


ユニバーサル基盤を割る


普通ははんだ付けの前に割るのかもしれませんが、
私は途中で配置変更ができるようにはんだ付けが
終わるまで割りません。
そのため、割るのに失敗すると部品が全部無駄になります。

ユニバーサル基盤の不要な部分を割るには、次のようにします。

  1. 表面にカッターで一直線に切れ込みを入れる。
    穴と穴の間を順に結んでいけばOK。

  2. 切れ込みを入れた直線に定規を当ててペンチで挟む

  3. 定規の側から見て谷折りにへし折る

もっと上手に割れる方法をご存知の方は教えてください。


以上で、このような Arduino 互換機が完成です。
写真左下の6ピンのピンヘッダにUSB シリアル変換モジュールを挿せば
PCと接続できます。
青いコンデンサのあたりを整理するともう少し小さくできるかも。
ArduinoMaking_board.jpg


まだ作り方を調査中ですが、いずれここに MAX3521e という
USB ホストコントローラーを載せて USB Host Shield 内蔵に
したり、モータードライバも内蔵して Wii リモコンラジコン
モジュールを作れないかと考えています。

設計できたらそのうち紹介します。

2 件のコメント:

  1. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    ユニバーサル基板は万能ハサミで切ると綺麗に切れますよ

    返信削除
  2. SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    情報ありがとうございます。
    安く手に入ったら試してみます。

    返信削除