榧野製作所です。
前回ペンプロッタを製作したのですが、設計を見直している間に作り直したくなってきたので、作り直しました!!
(前回の製作については以下を参照してください。)
(注意!これはあくまで個人の製作日記であるため、完全な情報をお伝えできません!設計・製作も場当たり的に行っているため、参考にならない場合が多々あると思いますが、ご了承ください。)
1.背景
10月に開催されたメイカーフェア東京2023や、関西コミティア68でcoreXY機構を取り入れたペンプロッタを見て、刺激を受けたのがきっかけでした。
そこでcoreXYについて調べたところ、どうやら高速・高精度らしいとのことで製作を開始しました。
2.構想
一度ペンプロッタを作っているのでイメージするのは非常にしやすかったですね。
作りたい部品はだんだんサイズを決定していきます。
今回採用したcoreXY機構は初めて作るので、リニアシャフトの位置とタイミングベルトの位置関係をよく考えながらデザインしました。
ステッピングモータがそのままペンプロッタの脚になるのは省スペース化が図れていいですね!
(最初はテンショナーを付けようとしましたが、精度が下がるため外しました。精度を求めるならオススメはしません!)
3.準備
設計にはfusion360を使用し、3Dプリンタはadventure3を使用しました。
フィラメントは銀色のPLAを使用しました。
4.製作
上記のラフデザインを参考に設計をします。
そしてそれをそのまま印刷してみたりします。
(印刷してる様子)
(z軸にはリニアブッシュを採用して精度を上げてみました。1本2000円で高かった。。。)
(組み立てる様子)
(サーボモーターとペンの高さを連動させるために、紐を使いました。ペンが下がり切ったとき、紐がたわむといい感じになります。)
サーボモーターが下だと干渉して上手く収まらないので上に挙げました。
また、バネを使ってペンをおしつけなくても絵を描けたのでバネは外しておきます。
(ステッピングモーターの位置を固定するために、土台となるMDFボードに穴を開けて、ねじ止めします。)
(フタをひっくり返した時にピッタリ入るように穴を開けてみました。家にボール板があるって便利ですね)
5.制御
制御に使ったソフトウェアはCNCjsです。
ArduinoにCNC shieldをつけ、Grblをインクルードします。
↓ここを参照するとわかりやすいです。
「ArduinoでCNCシールド使うためにGRBLをインクルードする方法をわかりやすく説明します」
配線は前回の記事と同じですが、今回のペンプロッタではリミットスイッチを省略しています。
配線が増えてごちゃごちゃするので!
(config.hのファイルでcoreXYを使用することを選択すると、大体そのまま動きます。ここはgithubとかで調べたら載ってるんで頑張って探してみてください!)
【クリスタを用いてペンプロッタを動かす方法】
①ベクターレイヤーで絵を描く。
②「ファイル」<「ベクター書き出し」からSVGファイル形式で保存する
③Inkscapeを開いて、テンプレートを作る。(最後に付録でつけてます)
④「ファイル」<「インポート」でSVGファイルを直接開く。
⑤テンプレートのサイズに合わせて絵を拡大縮小・移動させる。
⑥「エクステンション」<「Gcodetool」<「パスからGcode…」<「パスからパスを選択」でGcodeを作成する。
⑦CNCjsを開き、ArduinoとPCを接続する。
⑧「G-codeのアップロード」で先ほど作成したGコードを選択する。
僕が今回製作したものでは、ペンプロッタにペンを取り付ける時は「M3 S500」を入力してペン固定台を下げます。
取り付け終わったら「M3 S0」で元の高さに戻しておきます。
(↓描画している様子。前回のペンプロッタでは10分くらいかかった)
6.備忘録
ペンプロッタの描画速度を高めていくと、ペンが下がり切ったり、上がっている間にペン先が移動してしまうため、描画すると残念な感じになってしまいます。
(鼻が描けていなかったり、色んなとこの線が引きずられてしまっている状態の絵)
その対策として、ペンを上げた後にディレイを噛ませることにしました。
ペンを上げるためのGコード(M3 S0)のあとに0.001秒のドウェル(G04 P0.001)を実行することで、これを解消しました。
(改良後。線が鮮明になっててGood!)
7.付録
今回の製作に使用した3DデータをSTLファイルにしてみました。
もし良かったら参考にしてください。
また、Inkscapeで僕が作成したテンプレートも置いておきます。
色紙を描くならこれを使えばそのままできます。
皆さまがペンプロッタを作ってその楽しさが広く共有できることを願っています!
次はESP32でgrbl コントローラーを扱えるようになって、それを記事にしたいですね!
ではまた!