やっと材料がそろったので「プロッタ」を作ることにしました。
「プロッタ」というのは、ペンプロッタのことで、ペンを自動で動かして、図形を描画する装置のことです。
ずいぶん前にこの記事を見た時から作ろうとしていたのです・・
http://www.instructables.com/id/Mini-CNC-Plotter-Arduino-Based/
要はジャンクDVD-ROMドライブからペンプロッタが作れるよという記事です。
これなら僕でもできそう!
材料の調達
DVDROMドライブ
まずは秋葉原にいってジャンクDVD-ROMドライブを買ってきます。
実は、ここにで一つ試練が。
DVD-ROMドライブには「あたり」と「はずれ」があります。
今回のやり方でプロッタを作るためには「ステッピングモーター」が必要です。
DVD-ROMドライブの中には「ステッピングモーター」を用いているものと、(おそらく)「DCモーター+ロータリーエンコーダ」を用いているものがあるようです。
おそらくどちらの仕組みでも、うまくやればプロッタを作ることができると思うのですが、今回は参考URLの通り「ステッピングモーター」を使いたいので、あたりが2つ手に入るまでDVD-ROMドライブを買うことにします。
相場としては一つ500円くらい。もっと安いものもちらほらあるかな、、と。
今回はモバイルPC用の「スリムドライブ」も買ってみました。
これも分解してみるとステッピングモーターが入ってることを確認できました。
ただ分解が少し面倒、薄型なのでねじも小さい。 また、ステッピングモーターの稼働範囲が少し少ない(僕の買ったものしか知らないですが)などデスクトップPC用のDVD-ROMドライブとは少し異なっているようです。
ステッピングモーター操作モジュール
次にステッピングモーターを操作するためのICを調達します。
もっと安い方法もあるかもしれませんが、今回はaitendoでEasyDriverと呼ばれるステッピングモーターを簡単に扱うための定番のキットを購入しました。
ステッピングモーター1つにつきEasyDriverが1つ必要なので、2つ購入。
http://www.aitendo.com/product/10976 (今見ると在庫が少ない)
Amazonならこちら
ほかにもステッピングモーター制御用のICはあるので、これじゃなくてもできるはずです。
ひとつ350円
サーボモーター
もう一つ、ペンの上げ下げのために必要な「サーボモーター」を調達します。
千石電商で https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=8ADR-HCKF を購入しました。
ひとつ1300円
トルクとかあるらしいけどよくわからない。
Amazonならこちらとかがよさそう
ペンを紙に押し付ける何か
元記事でも「That's the most difficult part of our construction.」と書かれている部分
ここを実現するための何かを100均で探していると偶然「PUSH CLUP」なる ビニール袋の封をするための製品が、ちょうどよさそうということで、購入しました。
108円
Amazonだとこちら(ちょっと多いけど・・)
小久保 袋留めクリップ delijoy プッシュクリップ 3個入×3セット 6723
- メディア: ホーム&キッチン
その他必要なもの
- 木材少々
- こういう工作では木材は非常に加工が楽なので、いくつか買ってあります。
- 厚さ5mmくらいの木材、厚さ1cmくらいの木材を今回は使いました。
- グルーガン
- 100均で売ってるやつです。木材とDVD-ROMドライブを固定する際に使いました。
- これも日々の工作に必要なものとして購入していました
- 持ってるのはこれじゃないけど↓
- Arduino UNO
- まぁ家にあるよね。
- USBケーブルも必要
- [asin:B0044X2E5S:image:detail]
- ACアダプタ12V
- ステッピングモーター駆動のためにはArduinoのUSB電源から作られる5Vでは足りないので、ACアダプタをつなぐ必要がある
- たぶんこれ http://akizukidenshi.com/catalog/g/gM-06642/
- Arduino プロトタイプ基板
- Arduinoと組み合わせて作りたいので、これを使ってみる。
- ブレッドボードでもできる
- http://www.aitendo.com/product/6976
- 導線
- 輪ゴム 少々
- ねじ・ナット
- 3mmのもの
- 4mmのもの
- こういうものも常備してある
- 結束バンド
- なんか家にありました
- ピンヘッダ、ピンソケット
- まぁこういうのも家にある
- マスキングテープ
- あるとよさそう
- のこぎり
- 木を切るために必要 100均のやつ
- ワイヤーストリッパー
- 導線を加工するのにあると便利
- はんだごて、はんだ
- ステッピングモーターの端子に導線をつなげるために必要
- ハンドドリル
- ホームセンターで2000円くらいで売っている、電動ドライバーに100均で購入したドリル刃を装着したものを利用しました。
- 2mm 3mm 4mm のドリル刃を使いました。
分解
まずはDVDROMドライブを分解します。
ねじを外していけば基本はOK
http://air.ap.teacup.com/vitz/1480.html
こういう記事を参考にしながら分解します。
”強制イジェクトホールをを押す”ところがわからなくてしばらく悩みました。
動作チェック
EasyDriverとDVDROMドライブから取り出したステッピングモーターの動作チェックをします。
http://www.schmalzhaus.com/EasyDriver/
本家サイトを参考にしつつ、ArduinoとEasyDriverとステッピングモーターを接続します。
http://www.schmalzhaus.com/EasyDriver/Examples/EasyDriverExamples.html
この例に従って動くことを確認。
組み立て
まずはX軸用のステッピングモーターとY軸用のモーターを垂直に固定する必要があります。
そのためにはL字型の金具みたいなものが必要です。
今回はDVDROMドライブのケースを利用することにしました。
木材をいいくらいにカットして、DVDROMドライブケースにねじで固定します。
木材にDVDROMドライブから取り出したステッピングモーターとその枠をねじで固定します。
Y軸側も木材をいいくらいにカットしたものに、DVDROMドライブから取り出したステッピングモーターとその枠を グルーガンで固定します。
木材とDVDROMドライブケースをねじで固定すれば、X軸、Y軸の完成です。
こんかいはX軸は普通のDVD-ROMドライブから取り出したステッピングモーター、 Y軸はスリムドライブから取り出したステッピングモーターを採用しました。
スリムドライブのステッピングモーターは上下が平たい構造となっており、Y軸に固定するのがとても簡単でした。
Z軸についてはも木材をいい感じにカットしたものに、ねじでサーボモータを固定します。
さらに、100均で購入した「PUSH CLIP」にドリルで穴をあけたものを、ねじで木材に固定します。
このとき、サーボモーターの回転によってPUSH CLIPが縮まるように位置を調節する必要があります。 ここが結構難しい。
簡易結合
ブレッドボードを使い、X,Y軸用のステッピングモーターとEasyDriver、Z軸用のサーボモーター、Arduinoをくみ上げます。
てきとーにプログラムを書いて、X,Yの移動、ペンの上げ下げができることを確認します。
ペンの固定
ペンは、細めのマジックを選定。フェルトのペン先だと多少圧が足りなくても線が描けるだろうということで、、
PUSH CLIPとペンをどうやって固定するか・・・
とりあえず手近にあった「輪ゴム」で止めます。
輪ゴムだけどがたがたしたので、結束バンドでさらに固定します。
X軸とY軸が完全に垂直になっていないと、ペンがと紙が離れてしまうので、調整します。
調整といっても厚紙を折り曲げたものを台の下に挟み込んで、傾きをつけるだけですが・・
リサージュ曲線の描画
X軸、Y軸をそれぞれ数値で制御できるようになれば、sin,cosを使ってリサージュ曲線を描くことができます。
できたっ!
自作ペンプロッタでリサージュ曲線湯を描いてみた 案外早い! https://t.co/UoxVxXbvaP
— ina_ani (@ina_ani) 2017年1月12日
任意の図形の描画
http://www.instructables.com/id/Use-3D-Printer-As-a-Plottercutter/?ALLSTEPS
ここにあるSVGをGコードに変換するライブラリを使って、Gコードのデータを作成します。
GコードをArduinoのプログラムに変換するプログラムを作ります。
で、あとは実行するだけ。
できたー
感想
プロッタ作成はとても面白い。そしてリーズナブル。
ぜひぜひみんなもやってみよう。
今のところの課題
- 描画範囲が小さい 3cm*3cmくらい
- これはDVD-ROMドライブを使っている以上仕方がない
- ペンを上げるときにペンが曲がる
- PUSH CLIPがガタガタしているのが原因、もう少ししっかりしたスライド機構が必要
- 描画データが大きくなるとArduinoのメモリからあふれる
- シリアル経由で描画指示を送れるように変更すればこの問題はなくなる