How to Make "Arduino"

Created Date: 2015-06-05/ updated date: 2018-03-13
    Owner & Collaborators
    License
    Summary
    自作ArduinoをCNCミリングマシンによる基板切削によって作るときの手順を、
    FabKit(http://fab.cba.mit.edu/content/projects/fabkit/)の制作の一連の流れを通じて紹介します
    電子工作に精通していない方でも作れるように丁寧な書き方を心がけています。

    Materials

      Tools

        Blueprints

          Making

          • このレシピは、以下を用いて制作していきます。

            [ソフトウェア]
            ・パターン設計CAD Eagle

            [切削関連]
            ・Fabmodulesに対応したCNCミリングマシン(今回はSRM-20(RolandDG社製)を利用)
            ・シャフト径3.175mmのエンドミルに合うコレット
            ・エンドミル
            ・銅箔板
            ・両面テープ
            ・高さのある捨て板

            [電子工作関連]
            ・ハンダ付けに必要なひと通りのセット
            (上記の中でも特に)フラックス
            ・表面実装用部品
            以下を参考に揃えてください。
            http://fabacademy.org/archives/2015/doc/projects/fabkit-0.4.html

            [書き込み]
            ・Arduino Uno


            • Fabmodulesを利用する場合、エンドミルは
              ・パターン切削用に、刃径1/64inch、シャフト径1/8inchのもの
              http://www.carbidedepot.com/detail.aspx?ID=180142
              ・外側の切り抜き用に、刃径1/32inch、シャフト径1/8inchのもの
              http://www.carbidedepot.com/detail.aspx?ID=180143
              それぞれが必要になります。

              また、基板は紙フェノールのものを利用してください。
              http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-4BPG

            • MIT Center of Bits and Atomsにてつくられたもののひとつで、
              自作Arduinoの設計図がすべてオープンにされています。
              今回はこれを利用していきます。

              http://fab.cba.mit.edu/content/projects/fabkit/

              なお、Arduino自体がオープンソースであるため、
              自由にカスタマイズすることが可能です。
          • パターン設計ソフトEagleを用いて、回路を設計します。

            Eagleは以下よりDL出来ます

            なお、パーツは膨大であるため、
            その中でもよく利用されるものがセレクトされたライブラリである、
            FabAcademyの"Fab.lbr"を利用するのがオススメです。
            http://academy.cba.mit.edu/classes/electronics_design/index.html

            (Eagleの使い方については各自で学習が必要です。)
            (こういったソフトウェアの利用方法については、近年ではビデオ教材がいいかと思います。)

            • 設計した回路は、最後に.png形式で書き出します。
              書き出すのは3種類です。
              1,パターンの模様
              2,穴の位置
              3,外形

              それぞれ800dpiで書きだすことを推奨します。
              なお、白黒で書きだした後、ミルは黒の内側を移動することに注意してください。
              (穴の位置だけ、白黒反転させる必要があります)

              • Eagleで書きだしたpngイメージを、FabmodulesでCNCミリングマシン用のデータに書き出します。

                • -.-.-.-.-.-.-.-
                  FabmodulesはMIT Center of Bits and Atomsにて開発された、FabLabで利用されているさまざまな機材を一括して操作するためのプログラムです。(FABOSより)
                  詳しく知りたい場合は以下を参照です。
                  http://fabos.sfc.keio.ac.jp/?p=208
                  http://kokompe.cba.mit.edu/index.html

                  [参考]Fablab標準機材(Fab Lab Inventory)
                  http://fab.cba.mit.edu/about/fab/inv.html
                  -.-.-.-.-.-.-.-
                • input format
                  より
                  img (. png)
                  を選択します。
                  そして、Eagleで書きだした画像データを選択します。
                • 次に"output format"をクリックし、書き出しのデータ形式を指定します。

                  ここではRolandDG社のSRM-20を用いて切削しますので、
                  対応した形式である"Roland Mill(.rml)"を選択します。
                • 次にミルを選択します。
                  パターン切削の場合は"PCB traces(1/64)",
                  穴あけ、外形の切削の場合は"PCB outline(1/32)"を選択します。

                • ※ここではSRM-20で切削を行う想定で書いています。
                  それぞれのCNCミリングマシンに合った設定をしてください。

                  画面右、outputの"machine"より"SRM-20"を選択します。
                  jog height(mm)をそれぞれ"0"とします。
                • Processの""Calculateをクリックして、CNCミリングマシンの通り道(パス)を書き出します。
                  左側ではプレビューが見れるので、そこで潰れているパスがないかどうか確認します。

                  もしも細かすぎて潰れてしまっている回路があった場合など、問題があった場合にはProcessの各項目を変更して修正します。
                  たとえば、この回路(FabKit)はそのまま書き出すと、中央の2本のパスが1本につながりますが、tool diameter (mm):を変更することで解決します。
                • うまく設定できたら、Processの"Save"をクリックして、書きだされたデータを保存します。

                  このデータをSRM-20上に読み込ませて切削を行います。
              • ここではSRM-20を用いた切削の手順を説明します。
                • エンドミルをCNCミリングマシンに取り付ける際について。

                  まずは取り付けるエンドミルの径とコレットの径が一致しているかどうかを確認して下さい。
                  もし一致しない場合は、一致するようにコレットを取り替える必要があります。
                  基板切削の際には、コレットの径が3.175mm(1/8inch)のものを利用します。
                • まず、SRM-20はZ軸の可動範囲が少し高めであるため、
                  基板切削の際には下に高さのある捨て板を敷く必要があります。

                  機械に入るサイズの捨て板を用意し、
                  両面テープ等を用いてしっかりと機械に固定します。

                  捨て板を敷いた後には、平行にするため面出しを行います。
                  面出しは付属のQuickMillというソフトを用いると便利です。

                  ミルはここでは刃径が3.175mm(1/8inch)のスクエアのものを利用しています。
                  他のものでもかまいません。
                • 設置した板に合わせて原点調整をします。
                  SRM-20の付属ソフトであり、.rmlデータを読み込ませて機械を動かすことの出来るV-Panelというソフトを起動します。
                  まずは高さの原点を合わせます。
                  板の上にミルを持ってきた上で、板に触れることのないようミルを少しずつ下ろしていきます。
                  ミルと板が触れないギリギリのところまで持ってきたら、(触れると最悪ミルが折れます!)
                  そこで、ナットを少しゆるめ、ミルを板の上に落とし、ナットを締め直します。
                  これで、ミルの先と板の表面がピッタリ合った状態になります。
                  この状態で、V-PanelのZ原点を押します。これで高さの原点調整は完了です。
                • Z軸の調整が終わったら、少し上にミルを上げて、
                  X,Y軸も、原点(スタート地点)を同様に設定します。
                • 面出しをした捨て板に、両面テープ等を用いて銅箔板を固定します。
                • まずはFabmodulesで書きだしたデータのうち、
                  パターンの方をV-Panelで読み込み、加工をします。

                  加工中は問題が起こった時のため、その場を離れないようにしましょう。
                • パターンの切削が終わったら、
                  次に穴の部分を切削します。

                  その前にエンドミルを取り替える必要があります。
                  加工終了後、ナットを緩め刃径1/64inchのエンドミルを取り出し、
                  代わりに刃径1/32inchのミルを取り付けます。

                  そののち、忘れずにZ軸の原点調整を再び行います。
                  このとき、X,Y軸の原点は変えないように注意です。

                • パターンの時と同様、V-Panelでデータを読み込み、加工します。

                  Fabmodulesは黒の内側を切削しているので、
                  Eagleから書きだしたファイルそのままでは穴が大きくなってしまいます。
                  そのため、添付の画像のように画像編集ソフトで白黒反転させる必要があります。
                • 全て終了したら、切削した基板を取り出します。

                  そして削りかすを掃除します。
                  機械のため、後に使う人のために、必ず行うようにしましょう。

              • 切削した基板に、表面実装用のパーツをはんだづけしていきます。
                (筆者ははんだ付けが苦手なので写真が汚いです。。。)

                細いはんだ付けになるので、フラックス、ルーペ、ピンセットあたりが必須かと思います。
                ハンダ付けのやり方等は各自学習が必要になります。

                おすすめ参考資料(平原真さんのスライド)
                http://www.slideshare.net/makotohirahara/7led
                • 非常に細い作業であるため、ルーペやピンセット等のツールをうまく活用しましょう。

                  またマイコンに関しては、はんだ付けしたのちに、
                  はんだ吸い取り線を使ってその部分を吸うことで、
                  銅箔上のはんだのみを残すテクニックがあります(田中先生より)

                  表面実装のはんだづけが初めての場合は、いきなり行わず練習をすることを強く勧めます。
                • 配置。

                  このリストと対応
                  https://docs.google.com/spreadsheets/d/1xMm4pHPRjQ3BSsoergWULxoqeb10t3Ysul6EV6Rryfk/edit#gid=280582281

                  (訂正:C0→C1)
              • 完成した基板には、データを書き込む必要があります。
                やり方はいくつかありますが、ここでは、既存のArduinoを書き込み器として用いる方法を紹介します。

                書き込み器は、AVR ISP(in-system programmer)と呼ばれ、
                ArduinoをこのAVR ISPとして使用する方法は、
                以下のArduino公式サイトでもやり方が紹介されています。
                http://www.arduino.cc/en/Tutorial/ArduinoISP

                これを行うにはPCにArduinoIDEをインストールする必要があります。
                バージョン1.0.6で成功することを確認しています。

                今回は、これを実践していきます。
                • Arduino公式サイトで紹介されているつなぎ方を参照しながら、
                  ジャンパワイヤで自作した基板とArduinoをつないでいきます

                  http://www.arduino.cc/en/Tutorial/ArduinoISP
                • 以下のURLを参照して、今回使用しているboardの情報が入ったテキストファイルを作成します。
                  それを、Arduinoのフォルダ内に、[hardware]→[fabduino]→[boards.txt]
                  となるように、適宜フォルダを作成しながら配置します。

                  http://fabacademy.org/archives/2015/doc/projects/fabkit-0.4.html

                  そののち、ArduinoIDEを再起動します。

                • まず書込装置の設定をします。

                  Arduinoのソフトを立ち上げ、
                  [ツール]→[書き込み装置]→[Arduino as ISP]
                  を選択します。
                • 次に書き込むマイコンボードを指定します。

                  [ツール]→[マイコンボード]→[FabKit/Fabduino w/ATmega328 (internal clock)]
                  を選択します。
                • 任意のプログラムを作成し、

                  [ファイル]→[書き込み装置を使って書き込む]

                  の順で書き込んでいきます。
                • まずはテスターを活用して、はんだ付けがきちんと行われているか、
                  回路が正常に動いているかを確認しましょう。

                  Arduinoでエラーが出てしまう場合は、そのエラーメッセージを直接Webで調べてみましょう。
                • まずは自作基板にプログラムを書き込むため、ArduinoUnoを書き込み器にしていきます。
              • 無事に動作すれば完成です。

                ぜひ、これから制作する方々のために、
                制作するうえで苦労したポイントや、
                よりスムーズに制作が行えるアイデアなどのコメントをお願いします。

                *Special Thanks
                加藤未央さん(Fablab Kamakura)
                廣瀬悠一さん(田中浩也研究室OB)
                田中浩也研究室

                *Support
                若杉亮介くん(田中浩也研究室)
                Add Card Order

                References

                  Usages

                  • つくれるようになったら

                     
                    FabKitを通じて、切削基板の作り方を覚えたら、
                    どんどんオリジナルの基板を作っていきましょう。


                    ex:電子工作を使った応用例
                    [ 電子手芸部(中澤未来さん(Fablab Dazaifu))]
                    http://www.slideshare.net/mikinakazawa33/denhsishugeibu
                    https://vimeo.com/85757216

                  Project comments