自動ハンコ押し!

Created Date: 2015-12-05/ updated date: 2018-03-13
    Owner & Collaborators
    License
    Summary
    私たちが考えたのは自動でシャチハタを押してくれる機械です。 勤めていたバイトをやめたいと考えていた下村さんは、デルタに印鑑を押させることを任せ、自分は支度をするという設定でした。 意外とコツがいるハンコを押すという作業をこのデルタにやらせるのは絶妙な力加減を調節するのが大変難しかったのですが、どうにかこうにか押すことに成功しました。

    Materials

      Tools

        Blueprints

          Making

          • まずはMDFをレーザーカッターで切ります。
            ocpc_lasercut_20151216.ai
            青線にしてある外縁部は切らなくても組み立てられますが、
            切るとA3*2枚になり、
            封筒などに入れて持ち運びがしやすくなります。
            (右の写真は上のデータと細部が異なります。)

            ラスター部分は皿ネジを埋めるための
            彫刻(≒切削)として設定しています。
            ややイレギュラーな使い方ですが、
            2mm程度削れるパラメーターを見つけてください。

            • 接着が必要なパーツは乾くのに時間がかかるので、
              先にすませてしまいます。

              なお、
              これ以降の説明では、MDFパーツを番号で表記します。
              パーツ番号対応図を確かめながら作業を進めてください。
              • どちらのパーツも、接着した各パーツにある穴が
                そのままパラレルリンクの機構の軸となるので、
                曲がっていると動きに支障をきたしてしまいます。
                一見簡単な工程ですが、丁寧に行いましょう。

                ボンドをつけすぎてネジ穴にまで到達してしまうと、
                やはり動きに支障をきたします。
                どのパーツも結果的にあとからネジなどで補強されるので、
                ボンドは少なめにつけるのがおすすめです。

                軽く接着できたら、机などに側面を押しつけて、
                可能な限りまっすぐに接着されるように修正します。
                後の工程で使うM3のネジを穴に差し込むと、
                確実にまっすぐにできるほか、
                ナットと組み合わせて圧着することも可能です。
              • 腕のパーツ[1][2]を木工用ボンドで糊づけします。
                溝やくぼみがある[1]1枚と表面に何もない[2]3枚の
                合わせて4枚を1組として3組に分け、
                [1]のラスター彫刻がある面が表出するように接着します。

                裏返しに接着してしまうと取り返しがつかないので、
                注意してください。
              • 天板[5]とパラレルリンクを接続する部品を接着します。

                こちらは突起がない[3]2枚とあるもの[4]2枚の
                合計4枚を1組として、やはり3組に分けます。
                突起のある[4]・ない[3]・ない[3]・ある[4]の順に、
                順番を間違えないよう、重ねて接着してください。
            • カットしたMDFを中心に、まずは下から筐体を組んでいきます。
              • [7]と[8]を十字に組み合わせます。
                ややきついかもしれませんが、
                材を割らないように注意しながら、
                しっかり奥まではめこんでください。

                そして、[9]にその十字をはめこむと、
                十字が全体の台となります。
                [9]の表裏に注意してください。

                接合がゆるい場合などは、
                ボンドをつけて軽く接着しても構いません。
              • サーボモーター以外の電子部品を、
                [9]に取りつけていきます。

                Arduino Unoと電池ケースは、
                [9]にあいている穴に、M3 15mmの皿ネジで止めます。
                対になった穴が2組ありますが、
                正しい部品にしかピッチが合わないようになっています。
                写真のような向きに取りつけて、
                裏からM3ナットで固定してください。

                電池ケースのネジはなるべくきつく締めないと、
                電池が入りません。
                逆に、
                Arduinoはきつく締めるとArduinoが浮いてしまうので、
                極力ゆるめに締めるようにしてください。
              • 続いて、9V電池とブレッドボードを配置します。

                電池は、電池ケースに嵌めこんでください。
                カチッとしっかり噛み合う仕組みなので、
                手応えがない場合は極性があっているか確認してください。
                (極性が間違ったまま進めると、大変危険です。)

                ブレッドボードは、裏面のフィルムを剥がして、
                [9]の表面の使いやすそうな場所に貼ってください。
                貼り直しがあまり効かないので慎重に。
              • [10]と[11]を、それぞれ[9]に嵌めこみます。

                [10]は丸い穴のある方が上にくるように嵌めます。

                また、[10]を[9]に嵌めこむ穴の縁が薄いので、
                力をこめすぎて割ったりしないように気をつけてください。
              • サーボモーターを[9]の穴に合わせて置きます。
                3-4までで組んだものとサーボモーターの上部の突起が
                穴が対応するように[12]をかぶせ、
                サーボモーターのケーブルを穴に通します。

                ケーブルを通したら、
                上に出ているすべての突起を[12]に嵌めこんでください。
                一度にすべてを嵌めるのはほぼ不可能なので、
                板をややたわませながら、
                順番に嵌めていくことをおすすめします。

                最後に、M6 60mmの皿ネジを上の穴から通し、
                下から同じくM6のナットをあてがって、
                上下に開いてしまわないように仮留めします。
              • 箱状になった本体の中の電子部品を配線していきます。
                この配線図のように配線してください。
                なお、今回使っているMG995(サーボモーター)は
                茶色の線がGND(配線図の黒端子)
                赤色の線がVCC(配線図の赤端子)
                橙色の線が信号線(配線図の黄端子)になっています。

                電子回路の配線は人間の脳内の神経回路のようなものです。

                神経回路が壊れると人間が壊れてしまうように、
                配線を間違えると部品が一発で壊れてしまいます。
                なるべく慎重に、ていねいに行いましょう。

              • このファイルを自分のパソコンに
                ダウンロード・解凍してください。
                OCPC_dlpArduino.zip

                Arduinoに挿したUSBケーブルを自分のパソコンに挿し、
                ArduinoIDEを起動して、servo_zero.inoを書き込みます。
                その時、
                サーボモーターが3つともギュルっと回れば成功ですが、
                1つでも回らなかった場合はミスがある可能性が高いので、
                配線を再度見なおしてください。
                (回るのは一瞬だけなので、注意深く観察してください。)

                無事に成功したら、reset.inoを書き込んでおきましょう。

            • この頃には2-2で作ったものが乾いていると思います。
              乾いていることを確認したら、
              [5]の穴の間、中央部分に軽くボンドを塗り、
              [5]の穴にに2-2で作ったものを差し込んで固定します。

              乾く前に差し込むと、
              穴のきつさに負けて[3]や[4]がはがれてしまうので
              必ず乾いてから行いましょう。

              • 下の本体以外の、動きまわる部分を組んでいきます。
                • MG995(サーボモーター)の付属品の小袋の中から、
                  黒い片方向だけに伸びたサーボホーンを1つずつ取り出します。
                  これを、2-1でつくった腕パーツと合体していきます。

                  まず、サーボホーンのギアが切られている側を上にして、
                  腕のラスター面の上に、穴と向きを合わせて置きます。
                  それから、M3 45mm なべネジを通し、
                  反対側からナットで仮留めします。

                  この仮留めも冒頭の接着同様、
                  完成したときの駆動に大きく影響する部分なので、
                  なるべく正確に穴が通るよう、心がけてください。

                • 腕にあいている四角い穴と
                  サーボホーンの小さい穴の向きを合わせて、
                  小さい穴のうち1つにM2.1 13mm 木ネジをねじこんでいきます。
                  穴よりネジの方が太いのですが、
                  ぐりぐりとねじこむとネジが周囲を削りながら進んでいくので、
                  サーボホーンと腕が密着するまでネジを回し続けてください。

                  同様に3つの腕/サーボホーンを組み立ててください。
                • M4 285mm 寸切り1本と#5525ロッドエンド2個を用意し、
                  それぞれのロッドエンドの穴にM3のネジを軽く通します。

                  寸切りの両端にロッドエンドをまっすぐあてがい、
                  両側を同時にねじってロッドエンドを寸切りに嵌めていきます。
                  なるべく深くまで嵌めこむと、稼働させたときの安定がよいです。

                  これを6セット作ります。
                • ロッドの微調整をします。

                  すべてのロッドエンドの向きが平行になるように、
                  またすべてのロッドの長さが同じになるように、
                  それぞれのロッドエンドをねじって調整します。
                  これを怠ると正しく動作しないので、
                  なるべく精密に揃えてください。


                  調整が終わったら、ロッドエンドに差していたネジを外します。
                • サーボモーターに、腕を嵌めこみます。

                  サーボホーンに刻まれているギアが、
                  そのままサーボモーターに嵌まるようになっているので、
                  なるべく低い角度に、かつ3つとも同じ角度になるように、
                  腕をサーボモーターの奥まで嵌めこみます。
                • 腕に軸を通していきます。

                  先ほど腕をサーボモーターと組んだ反対側から
                  [10]の穴を通じてM3 45mm なべネジをねじこんでいきます。
                  この時、きつくねじこみすぎるとサーボモーターが壊れてしまうので、
                  ドライバーを使わずに手で締めることと、
                  [10]の板の面から5mmくらい余裕を残して留めることを
                  心がけてください。

                  小さな丸いパーツがあるバージョンの板をもらった班は、
                  ここで5mmの間を測るために、
                  間にはさみこんで留めてもよいと思います。
                  (板の厚みが4mmです。)
                • 2-3で作ったパーツを[6]に取りつけます。

                  [6]の穴に、2-3で作ったパーツの穴をそれぞれ下面側から合わせて、
                  M3 15mm 皿ネジを[6]の上面側から差し、
                  M3 ナットで固定します。

                  ラスター彫刻の部分に
                  ちょうど皿ネジの頭が埋まっていることを確認してください。
                • 4-6でサーボモーターにとりつけたアームの両側に、
                  4-4で作ったロッドを取りつけます。

                  M3 45mm なべネジとM3 ナットを使って、
                  それぞれのアームにロッドを2本ずつ、
                  写真のように取りつけていきます。
                  なべネジ1本あたり4つナットを使うことになります。

                  端に2つナットが使われているのにも、
                  ちゃんと理由があります。
              • ひとまず完成です。お疲れさまでした。

                電池がすぐに切れてしまわないよう、
                動かさないときは電池を電池ボックスから外すか、
                電池ボックス周辺の配線の一部をはずすなど、
                工夫しましょう。
                (今のところOCPCには『電源スイッチ』がついていません)

                配線を抜いておく場合は、
                露出している他の線などに線が触れて
                ショートしてしまう危険を避けるため、
                ブレッドボード上で全く使っていない列の穴、
                回路に関係のない穴に差しておくのがおすすめです。
                • 見た目にできあがっていても、
                  つっかえながら動いていたり、
                  サーボモーターの動きが筐体にぶつかっていたりなど、
                  少し動きが悪いことがあります。
                  そういった場合には、決してそのまま放置しないでください。

                  そうした現象には必ず原因があります。
                  (そして、想定されるトラブルの多くは、
                  該当する各工程や、すぐ下の6-1に注意書きとして書いてあります。)
                  トラブルを抱えた状態のまま動かし続けると、
                  サーボモーターやArduinoを壊してしまうことも少なくありません。
                  きちんと原因を究明しましょう。
              • 動かしてみましょう。
                • deltaTest_dlp.zipからdeltaTest_dlp.inoを開き、
                  Arduinoに書き込んで動かしてみましょう。
                  まっすぐ上下に動けば成功です。

                  deltaTest_homeAll.inoを書き込むと、
                  サーボに負荷をかけずに元の位置に戻せます。

                  • サーボの動きはじめ/終わりのタイミングが違う
                  →サーボが原因の可能性が高いです。
                  腕/サーボホーンを外して、3-7をやり直してください。
                  • 斜めに動いている/天板が傾いている
                  →ロッドが原因の可能性が高いです。
                  4-3, 4-4の注意点を守っているか確認してください。
                  • 動きながら天板がガタガタする
                  →ネジが原因の可能性が高いです。
                  きつく締め直してください。
                • このプログラムをArduinoIDEから直接書き込んで、
                  3つのサーボモーターを同時ではなく「それぞれ独立に」動かしてみます。

                  deltaTest2_dlp

                  3つのサーボが等価に動くかどうかを確認しましょう。
                  また、台座の動く最大範囲を把握しましょう。

                • ArduinoのソースコードとProcessingのソースコードが入っています。

                  deltabot-master_20160107.zip

                  Control P5 Libraryの入ったProcessing2.2.1と、Arduinoが必要です。
                  http://www.sojamo.de/libraries/controlP5/

                  Arduino側にソフトウェアを書きこんだあと、
                  PC上でProcessingを実行してマウスで操作します。
                  起動後、まずはじめに、一番上の"Enable"をクリックして
                  "Servo Power On"にしてください。

                • Processingを実行すると右のような画面が立ち上がります。
                  最初は"SERVO POWER OFF"になってしますので、[ENABLE]ボタンを押してPOWER ONにします。ここでサーボモータが反応するはずです。

                  ※反応しないでエラーになる場合には「myPort = new Serial(this, Serial.list()[X], 9600)」という行の「X」部分の数字を0~9まで順番に変えてみて下さい。

                  [RECORD]ボタンを押すと動作を記録するモードに入ります(制限時間あり)
                  [PLAY]ボタンを押すと記録された動作を反復再生します。
                  何度でも[RECORD]をやり直すことができます。
              Add Card Order

              References

                Usages

                  Project comments