Top/Arduino/Arduino の自作/USBTYPE

USB 直結タイプ

部品

  1. 種別部品規格価格(円)まとめ買い時の個数URL
    本体パーツ
    AVRマイコンATmega168P2001個http://akizukidenshi.com/catalog/g/gI-03033/
    ブレッドボードEIC-3011501個http://akizukidenshi.com/catalog/g/gP-00313/
    ワイヤKQE0.5mm 50m1巻1040円http://www.sengoku.co.jp/mod/sgk_cart/search.php?code=4ASM-KMLX
    水晶発振器16MHz5010個http://akizukidenshi.com/catalog/g/gP-00545/
    コンデンサ22pF18×2100個http://www.sengoku.co.jp/mod/sgk_cart/search.php?multi=RPE2C1H220J2K1Z01B
    コンデンサ0.1μF1010個http://akizukidenshi.com/catalog/g/gP-00090/
    0.1μF4.8500個http://akizukidenshi.com/catalog/g/gP-02182/
    タクトスイッチ7100個http://akizukidenshi.com/catalog/g/gP-01282/
    PCとの通信部分
    抵抗10kΩ1100個http://akizukidenshi.com/catalog/g/gR-25103/
    抵抗68Ω1×2100個http://www.sengoku.co.jp/mod/sgk_cart/search.php?multi=RD25%2068&cond8=and
    ツェナーダイオード3.5-3.7V6.3×2100個http://www.sengoku.co.jp/mod/sgk_cart/search.php?multi=HZ4A%202%20E&x=0&y=0&cond8=and
    USB延長ケーブル1m1001本100円ショップ
    ピンヘッダ5(4本分)1本(40ピン)http://akizukidenshi.com/catalog/g/gC-00167/
    ブートローダの仕込み
    マイコンライタAVRISP mkII40001http://akizukidenshi.com/catalog/g/gM-02582/
    ジャンパワイヤ〜3010本とかhttp://akizukidenshi.com/catalog/g/gP-02933/

    ※ 別途電源が必要
    ※ PCとの接続を考えても、単価500円程度ですむ。

作る・配線

  1. ATmega168P にラベルを貼る。
    ラベルは、このサイトにあるPDFファイルをダウンロードし、使わせてもらう。
    貼らなくてもいいけど、貼った方が間違いが少ないと思う。
    ArduinoLabel.jpg

    なお、ICチップのルールとして、切り欠き(半月状に凹んだところ)を左側にしたときに、
    左下のピンを1番とし、反時計回りに番号をふっていくルールがある。この番号はここでも使うので確認しておきたい。
    また、1番ピンの近くには、丸いくぼみもある。これもルールとして覚えておきたい。

    プリントされたくぼみの部分を合わせて合わせてラベルを貼るようにする。(つまり、1番のピンに rst、 28番のピンに ai5 が対応する。)

  2. USB直結Arduino互換ボードと、metalabのMETABOARDを参考に配線する。
    Board.jpg
    ※ 左下の二つのツェナーダイオードの向きに注意。
    ※ 頭が黒くなっているコンデンサが 22pF
    ※ 横に伸びている抵抗二本が68Ω。縦に伸びているのが10kΩ。
    ※ 写真は LED の配線を間違えているようです。ご愛嬌。ちゃんと回路図を見て配線しましょう。
      GND と d13(19番ピン)を1kΩの抵抗を介して接続してください。
    ※ 13番ピンとグランドをつなぐためのジャンパーワイヤを用意する(後述)。


  3. PCとの接続ケーブルを作る
    100円ショップで購入したUSB延長ケーブルを切断し、ピンヘッダにはんだづけ。
    Cable.jpgConnection.jpg
    ※ ボードには図のように刺して使う。
    ケーブルによっては、色が違います!!
      必ず、USBのピン配列と同じ順番で、プラスが写真の右端、マイナスが右端から4番目になるようにして下さい
      2本目に作ったケーブルは写真と違って黒がプラスでした!!(びっくり)


ブートローダ

  1. 参照先
    ブートローダを仕込む」を参照してください。
  2. USB直結タイプの場合の設定
    ここ(V-USB)USBaspLoader を用いる。 最新版は2009年03月20日版
    その中の mega168_16mhz.hex
    USBaspLoader.2009-03-20\firmware\hexfiles\mega168_16mhz.hex
    を指定する。 ヒューズ(フューズ)とロックは次のようにする。
    Fuses     : Extended 0xF8 High 0xDD Low 0xFF
    Lock bits : 0xFF
    とする。

PC側の準備

  1. Arduino IDE の変更
    手を加える必要があります。Metaboard のページUSB直結ボードのページに書かれている通り、次のような記述を加える。
    Windows の場合も、Linux の場合も同様。
     ##############################################################
     
     metaboard.name=Metaboard
       
     metaboard.upload.protocol=usbasp
     metaboard.upload.maximum_size=14336
     metaboard.upload.speed=19200
     
     metaboard.build.mcu=atmega168
     metaboard.build.f_cpu=16000000L
     metaboard.build.core=arduino
     
     ##############################################################
  2. Windows の場合
    Linux の場合のソフトウエアの変更は上記だけ。しかし、Windows の場合には、いくつかの作業が必要となる。まず、必ず USBasp ドライバを入れなければならないし、最近のシリアルポートが無いパソコンの場合には、仮想シリアルポートのためのドライバを入れなければならない。
    USB直結ボードのページに詳しく書いてあるので、忠実にしたがう。時々、13番ピンをグランドに接続して作業する必要があるので注意。

    1. USBasp のドライバを導入する。

      ・ USBasp のホームページから、最新のドライバ(現時点では2009-02-28版)を入手
      ・ これを展開。bin フォルダ内の win-driver の中の libusb_0.1.12.1 フォルダを確認しておく。
      ・ 13番(d7)のピンをグランドに接続した状態(回路図で Enable Bootloader と書かれた部分を短絡した状態)で、パソコンに接続。「USBデバイスが認識されません」の表示が出たらリセットボタンを押す。
      ・ 「新しいハードウェアの検索ウィザードの開始」が立ち上がり、USBasp ドライバソフトウエアをインストールするように指示される。
        「Windows Update に接続しますか」では、「いいえ、今回は接続しません」を
        「インストール方法を選んでください。」では、「一覧または特定の場所からインストールする」を
        「次の場所で最適のドライバを検索する」を選んで、「次の場所を含める」を選んで、先ほどのフォルダ(\usbasp.2009-02-28\bin\win-driver\libusb_0.1.12.1)を指定する。
      ※ 注意!: yuki-lab.jpには、Windows VISTA 以降でこれを導入したとき、問題が発生する可能性が指摘されています。

    2. 仮想COMポートのドライバを導入する。

      ・ パソコンにシリアルポートや電話線をつなぐポートがある場合には、上記のように USBasp ドライバを導入すればうまくいきそうです。そうでない場合には、やはり、USB直結ボードのページを参照して、仮想COMポートドライバを導入する。

  3. Arduino IDE からプログラムを送り込む際の注意

    Arduino IDE でスケッチを作成し、ここで作った USB直結タイプの互換ボードにプログラムを送り込むには、13番(d7)のピンをグランドに接続した状態(回路図で Enable Bootloader と書かれた部分を短絡した状態)である必要がある。また、リセットボタンを押す。Linux でも Windows でも同様。

    Kimio Kosaka さん(USB直結ボードのページの作者。このページの情報は、Kimio Kosaka さんのページのパクリです。 )によれば、スケッチでパソコンと通信をするピンを使っていると問題が起こる可能性があるとのこと。これも気をつけておきたい点。

電源

  1. 電圧を変えた時の動作

    直流安定化電源装置で電圧を変えながら動作を確認した。
    2010-06-10 (木) 16:46:07
    1. 電圧を上げた時 : 2.79 V から動作を始める
    2. 電圧を下げた時 : 2.71 V まで動作した。
      → 電池二本で動きそう。
      → うっかりしていた。2.7Vで止まるように上位ヒューズの BODLEVEL を設定していたのだった。
      2010-06-16 (水) 23:52:16

うまくいかないとき

資料

  1. 履歴
    1. 2010-08-31 (火) 18:37:00 USBケーブルの正負を間違えた経験を追加。
    2. 2010-06-10 (木) 18:06:42 ようやく形になってきた。
    3. 2010-06-01 (火) 18:00:00 動いた!
    4. 2010-05-21 (金) 17:38:40 配線してみる
    5. 2010-05-21 (金) 19:46:45 ブートローダを入れてみる。+接続してみる。
  2. 参考 URL :
    1. Make / USBasp (USB直結)
    2. O'Baka / Arduino Skelton

添付ファイル: fileConnection.jpg 2230件 [詳細] fileCable.jpg 1916件 [詳細] fileBoard.jpg 3299件 [詳細]

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-02-28 (月) 15:28:58