チラシの裏の電子工作

電子工作、PC関係の備忘録というか、チラシの裏

激安Arduino互換機を作ろう

とにかく安上がりなArduino互換機を作るためのレシピというかメモ。
可能な限り秋月で揃えられるようにしてみました。

  • メリット
    とにかく安い。部品代500円程度
    回路図やらを見る練習になる(かも)。
    慣れたら色んな組みあわせで遊べる(かも)。
 
  • デメリット
    かなり面倒くさい!特に通信部分。
    シリアルにRTSが無いので、自動リセットがきかない。
    (スケッチを描き込む時に、タイミングよくリセットボタンを押さないと書き込めない)
    通信速度があまり早くない。9600ボー前提、それ以上は出たらラッキーぐらいで。
    .

【必要な道具類】
  • ブレッドボード
    ある程度の大きさがあった方がイイと思います。
    これは大きさ的には申し分ないけど、電極用の穴が片側に各1個ずつしか無いのが難点。
    これは使いやすいけど大きさに難あり。2個繋げて使うといいかも。
    これも悪くない気がする
  • 秋月のFT232RL
    これをそのまま通信部分の部品として使っても良いのですが、単価が高いので…
    ちなみに、今回はファームを焼いたりフューズビットを設定したりするのに使います。
    ようは、AVRライタ代わり。
    他にAVRライタを持ってる人は不要です。
  • 配線材
    ブレッドボードに直接突き刺せるので、単芯ケーブルが安くてオススメ。
    ブレッドボードのジャストサイズは、0.65mmだそうです。
    10m350円程度で売ってます。
    お金持ちな方はブレッドボードジャンプワイヤーを買ってください
  • 折れない心

【材料:CPU周り】
内蔵発振を使う事で、水晶とコンデンサを省略します。
但し、稀に内蔵発振だとシリアル通信時にエラーが出る場合があります。
その場合、ATmega168の個体差のようなので、CPUを変えてみると良いかも。
  • タクトスイッチ 7円 (100個700円)
    単品10円のもありますが、どうせ工作しだしたらいっぱい使いそうだし…
    ってワケで100個入りをチョイス
合計:207円。


【材料:通信部分】
CDC232を使用します。作者様に感謝!
※通信部分が不要な場合は、この通信部分もコストカットできます。

  • ATtiny2313-20PU 100円
  • クリスタル12Mhz 50円 (10個500円)
    ※16Mhzでも使えますが、定義を自力で書き換える必要があります。
  • 赤色LED 3.5円 (100個350円)
  • 抵抗1.5KΩ 1円 (100個100円)
  • 抵抗75Ω 1円*2個 (100個100円)
    ※オリジナルでは68Ωですが、75Ωでも動きました
  • 抵抗10kΩ 1円 (100個100円)
  • 抵抗470Ω 1円 (100個100円)
  • コンデンサ0.1μF 10円 (10個100円)
  • コンデンサ22pF 5円*2個 (20個100円)
    ※オリジナルは18pFですが、22pFでも動きました
  • USBコネクタ 50円
    ミニ端子でも良いと思いますが、よく考えたらブレッドボードにそのままじゃ刺さらないですね(;´д`)
    USBケーブルをちょん切って配線を引っ張り出せばブレッドボードに実装できますね。
    USBケーブルは百円均一か、ハードオフなどのジャンク品だと50円程度だったり。

    .
合計:238.5円



【いい加減な組み方】
  1. 何はともあれ、まずはCDC232を作ります。
    ヒューズビットやファームの書込は、FT232RLを使います。
    ATtiny2313のMOSI/MISO/SCK/RESETに接続すると書込できます。
    FT232RLを使ってATtiny2313を焼く
    だいたいこんな感じ。 せまいっ…!
    USB端子が左に来ます。ATTiny2313は左下が0番pinになります。
    青いコンデンサは22pF。
    焼き上がったら、CDC232のページのATtiny2313の回路図に従ってUSBシリアル変換回路を組み立て。
    最後にRxDとTxDをショートさせた状態でPCに繋いで、ループバックテストをした方が良いでしょう。
  2. ATmega168Pを内蔵発振Arduino化します。
    内蔵発振のやり方はこっちで。
  3. CDC232を、ATmega168PのTxDとRxDに接続します。
  4. CDC232     ATmega168
     TxD ----------- RxD (digitalPinでいう0番ピン)
     RxD ----------- TxD (digitalPinでいう1番ピン)



【スケッチをアップロードしてみよう】
普通のArduinoとして使えますが、スケッチのアップロード時に手動でリセットをしてあげないとアップロードできません。
タイミング的には、メッセージにhexファイルの容量が表示されたあたりでリセットすると丁度良いみたいです。


【ちなみに…】
CDC232についてですが、原本の回路だとセルフパワーUSBハブ経由でないと動かなかった気がします。
赤色LEDを省略するとバスパワーなUSBハブで使えたように記憶しています。(ちょっと記憶が曖昧)
両方に対応するには、ツェナーダイオードが必要になります。
この辺りは手元にメモが残ってないので、そのうちメモに残しておかないと忘れてしまいそう…


スポンサーサイト

カテゴリ:電子工作 - テーマ:ハードウェア - ジャンル:コンピュータ

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://nax9800.blog.fc2.com/tb.php/5-3b1e7197
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad