友人とともにCNCペンプロッタを作ってみたお話

はじめに

こちらのページはTokyo City University Advent Calendar 2020 24日目の記事です。 前日の記事はうめさんの「xxxxxxx」です!

ごあいさつ

  • はじめまして、ましまと申します。
    情報システム学科で細々とカス大学生をやらせて頂いています....
    いつもの事ながら皆様のつよつよすぎる記事を見ながら、震えて泣きながらブログを作っています。
    今回も色々拙い部分があるとは思いますが最後まで読んでいただければ幸いでございます...
  • 初めまして、田んぼと申します。
    去年同様、ましま君と一緒にやっていきます。てか、複数人で記事書いてるの我々だけなのか...。いい加減自分一人で書くべきなのでしょうかなかなかアイディアが思い浮かばず今年もましま君に頼ることになりました。一生懸命書くのでぜひ読んで楽しんでいただければと思います。

今回はCNCプロッタを作る

  • 去年のTCUACでは自作のキーボードを作らせていただき、今年も何か面白いものを作って皆様を楽しませることができれば...と思っていたのですが、コロナとか研究室や就活とか教習所とか コロナとかコロナとか.... で本当にもう本当に忙しくて何も出来ないまま12月に突入してしまいました。というわけで今回は手頃で遊べて楽しめる物としてCNCペンプロッタを製作することとなりました(?)。

  • 本当は親友の田んぼくんに色々学びながらハードを製作していこうと思ったのですが、このコロナ禍の中では使わせてもらっている工房も大学も閉まってるせいでハードは田んぼくん主導、ソフトだけ私という形で開発することとなりました。予めご了承ください....

ほんといつもごめんね田んぼくん....

というわけでもくじだよ~

設計編

  • 今回の役割分担としてハードは田んぼが記事を書いていきます。設計に関しては我流なのでもしかしたら通常のやり方じゃないかもしれないのですがそこのところは大目に見てほしいです。

    CNCプロッターとはなんじゃろな?

  • CNCプロッターとは「プロッターとは、大判サイズの線画・絵柄の描画から、印刷やカットまでを行う機械と幅広い意味で使われることが多いです。プロッターは建築やプロダクト製品の図面や一部ポスター、などの作成に用いることができます。建設現場の事務所や学校の教育現場、公共施設などで多くの業種で使われています。」(大判プリンター比較.jpより)です!簡単に言えばプリンターの一種ってことです!
  • 今回は線画を描かせようと思います。

    先人の知恵を借りよう!

  • いきなりゼロから作るのは難しいので先人達の知恵を借りるためにgoogle先生で調べていきます。(「プロッター自作」って調べるとたくさん出てきます)

    ゼロから作っている人だとDVDドライブの中身を利用している方が多いみたいですね。あとは予算的な都合でこちらは難しいですが市販品のCNCにボールペンを持たせてやってるみたいですね。

  • とりあえずDVDドライブの中身を利用して作っていきたいと思います。中身がどうなっているか調べるために秋葉原に行ってDVDのジャンク品を1台買ってきます。プロッター作成には複数台必要なので市場に出回ってそうなモデルを選びましょう。

  • 今回ご用意したのはLG製のDVDドライブジャンク品300円
  • とりあえずサクッと分解していきます...これネジ外しても開けられないのだが?
    これを脳筋してもいいのですが、中身が壊れたら元も子もないので開け方を調べて開けます。(前の穴に針金を差し込むと開く)

  • 開くとネジとかで固定されているので外していくと自作兄貴達の部品と同じようなものが出てきます。
    予想以上に樹脂が多用されていますね。軸の片方が樹脂とは...こういうところでコストカットされているんですね。
  • しかし軸が樹脂だと抵抗がかかると動かなくなる可能性がありそうなのでこのまま使うのは厳しそうです。
    新しいドライブを買ってきてもいいのですが勿体ないのと似た記事量産してもしょうがない、そして何よりかっこいいデザインのプロッターが欲しいの3Dプリンタを用いてプロッターを自作していきたいと思います。(先人の知恵とは?)

    設計・印刷編

  • いろいろ考えてもしょうがないので図面に書いていきます。
    今回利用するソフトはAUTODESK Fusion360です。ちなみに今回はFusion360の使い方は書きません。っていうのもたくさんの方が使い方の記事を書いてますし、分かりやすい本も出しているので今回は書かないことにしました。 CADソフトの中でも使いやすく手頃です。学生は無料なのでぜひ利用してみてください。興味がある人は「Autodesk 学生」で検索検索ぅ!

  • さて、3Dプリンタで何か物を作る際一番気にしなければならないのは誤差の部分です。どんな3Dプリンタでも発生してしまうので最初に確認しておきましょう。私はサンプルデータを作ってテストしてから設計しています。 これはネジ穴のサイズ確認の時の画像。穴のサイズを0.1ずつを大きくしている。

  • 調べた数値は忘れずに入力しておきましょう。Fusionには機能としてパラメータというものがあります。
    ここには関数のように名前を登録し、その中身の数字を登録できます。これを登録しておく理由として、例えば最初はM3のネジを登録してたけど後でやっぱりM4のネジにしたいというときに数字だけ変更することでこの関数を利用しているものは一括で変更できます。

Y軸周りをつくる

  • まずはY軸周りを設計していきます。軸は先ほど言った通り樹脂だと抵抗で動かなくなる可能性があるので金属のモノを使っていきます。今回用意したのは「タミヤ 楽しい工作シリーズ No.105 3mmシャフトセット」です。 こちらの商品、私が小学生時代買ったのモノが残ってたのでそのまま利用しました。10年モノですが錆びてない、さすがタミヤ製だぜ!

  • セットには何種類か入っていますが今回は円柱100mmの奴を2本利用します。寸法は基本的には記載通りですが商品によっては誤差があるので自分でも測って見ておきましょう。(3Dプリンタでの0.1mmはかなり大きな数字) 秋葉で1000円で売ってたノギス、結構使いやすい。

    メイン部分をつくる
  • Y軸で必要なのは「軸」と「軸を支える台」と「軸の上で動く部分」、「ステッピングモーターを載せる台」です。
    まずは簡単な「軸」と「軸を支える台」と「軸の上で動く部分」をFusionで設計、そして印刷!
  • 3Dプリンターの制御ソフトは「Simplify3D」を使っています。君もSimplify教に入信しよう!
  • 全部設計してから印刷したほうがいいじゃん!って思うかもしれないですがデータ上だと意外と設計ミスしてても気づかないことがあるので試作をしておきます。(試作だけどそのまま利用されることもある)
    材料コストもほとんどかからないですし、あとは純粋に小さいパーツでも作るのに時間かかるのでどんどん印刷します。小さいパーツでも30分はかかります。
    問題発生
  • 軸が穴を通りません。原因としてはプリント時に樹脂が熱されて膨らむため誤差が発生するからです。
    この部分は穴を大きくしすぎると軸をしっかり保持してくれなくなるので動作がうまくいかなくなります。
  • そこでハンドドリルを使って穴を拡張していきます。これならmm単位であるので軸と同じ太さの3mmのドリルで削っていきます。 ダイソーの品ぞろえの良さは半端じゃないっす。

  • これで軸が通るようになりました。さらに滑りをよくするためにシリコングリスを吹きかけてくと滑らかに動くようになります。ちなみに周りにマットとか引かないでやると3日間は机がよく滑るようになります。

  • 使うモーターはAmazonで安くてprimeが対応していたやつを利用しました。こんなモーターでもレールがついていると結構値段します。私が購入したときはセールで2000円でした。

  • こんな感じで設計していって最終的にはY軸部分はこんな風になりました。

X軸周りをつくる

  • 次はX軸周りをつくっていきます。といっても基本的な構造はY軸と同じなので穴の大きさはそのままデータを利用できます。(説明めんどくさい文章量が増えるので似た部分は省きます)
  • X軸に関してはモーターをDVDドライブの中のモーターを利用しました。(この決断がのちにプログラム編で問題になってくることをこの時は知る由も無かった)
    ネジ2本で止まっているので外せます。
    送りねじの爪をつくる
  • お次はこのステッピングモーターで土台を動かせるように送りねじ用の爪のデータをつくっていくよ!
    1. まずは棒を押し出しで作成します。
    2. 次にFusionの作成の中のコイルをクリックします。画面が出てくるので数値を入力します。
      この時の数値はノギスを使って間隔と溝の大きさを調べました。溝の大きさは直径に入り間隔は高さに入力します。回転は巻き数なので長い爪をつくるのであれば巻き数を増やし、その文高さを大きくしましょう。操作は切り取りで溝が生成されます。
    3. 押し出しで新しいボディを先ほど生成した溝にかぶせるように作成します。(このとき結合しないよう注意をしましょう)
    4. 棒と箱を選択しFusionの修正の中の結合を選択し切り取りをします。すると箱から先ほど棒の部分が切り取られ溝が彫られます。
    5. 箱を押し出し等で半分の大きさにします。
    6. とりあえずY軸の爪が完成!
      ノズルの紹介
  • ここで問題発生!送りねじ用の爪をつくらなければならないのですが私が利用している0.4mmのノズルだと細かいものが印刷できません。
  • そこで「テクダイヤ株式会社」さんがノズルチャレンジで試供してくれた「0.1mmノズル」を利用して爪の部分を作成します。テクダイヤ株式会社さんは精密機械加工製品を作っている会社です。最近3Dプリンタ業界に参入したとかいうことでノズルをつくっているそうです。噂ではレアな0.1mmノズルで精度がすごいらしい...。
    ここで会社紹介してゴマをすっておけばまた試供してくれるかもしれない!!
  • まぁ、何ミリノズルって言われてもいまいちピンと来ない思うので(自分もピンとこない)実際に同じもの作った時を比較した画像です。
    私初めて使ってみたんですけど感動しました...。 左が0.4mm 右が0.1mm ぶっちゃけテクダイヤさんの試供品がなければここで詰んでいたので本当にテクダイヤ社長の小山さんには頭が上がりません。本当にありがとうございました。
爪をつけてみる
  • 本体に爪を取り付けてみます。ぴったりですね。X軸を動かすと軸が回転して動きについてきます。

Z軸周りをつくる

  • Z軸には上下させる部分とペンを持たせる部分を作成します。
    分かりにくいので画像をドーンだYO!!
  • 軸がなんで六角なのかって?予算の都合だよ!!
    そんなわけでタミヤのシャフトセットに入っていた六角を使っていきます。この場合、円ではないのでドリルで削らず作り直していきます。印刷を繰り返して内接円が3.3mmの六角にシリコングリスを塗るのが丁度よさそうです。これでも少し緩いですが時間の都合とかもあるのでこれで行きます。みんなは普通のシャフトを使おう!
    ペンの持ち手の部分をつくる
  • ペンを持つ部分はボールペンの直径を測って少し大きめに作る。ネジで閉めれるようにすることで多少違う太さのペンであれば挟めます。また、ネジ穴をたくさんつけることで上下の移動が可能になります。
  • 千石電商さんからソレノイド「CA06250170A」を購入しました。オンラインショップに寸法が公開されてるので、情報をもとにネジ穴をあけましょう。
    千石電商さんはソレノイドの他にステッピングモーター、歯車等をたくさん取り扱ってるので実物見てみたい人は秋葉原店に行こう!

合体する

  • さて主要パーツが揃ったので合体させていきます。ここが一番楽しい作業!
    ベースを作成する
  • 今までXYZ軸とその周りを作ってきましたがどれも細くて支えるのには心もとないのでベースを作成していきます。 2本の柱も材料削減のためにわざと肉抜きしてます。
    XY軸をベースに乗っける
  • なんか工業用のCNCみたいな見た目になりました。このごつさ具合...めちゃくちゃかっこええやん...(語彙力)
    動かなくてもインテリアになりそう、てか私はするぞ!!!(テンション高いのがしばらく続きます)
Z軸周りも載せる
  • こいつは、本当に絵を描く機械なのか...?レーザー出そうな雰囲気あるぞ!(出ません)
    こいつ、完成してるように見えて、ペンどころかステッピングモーターすら載ってないんだぜ?
実際に組み立てよう!
  • 一応サンプルを印刷しながら設計していたのでパーツは全てそろっています。バラバラのパーツを丁寧にネジで止めていきます。
    出来た!!!! 出来上がったときの、この感動...、たまんないぜ! 本当にここまで長かった...。

忘れてた小物をつくっていく

  • CNCには原点を検知するスイッチ必要で付ける場所を作っていませんでしたので作っていきます。(すっかり忘れてた)
    スイッチは秋月電子さんで購入した「マイクロスイッチ AV620264」を使っていきます。取り付けた画像がこちら
  • もう一つ、紙を載せるテーブルを作り忘れてました。とりあえずXみたいなものをつくります。 これの上にアクリルを接着剤をつけて完成

  • これで設計編は終了!...と思いきやまだありますよ(絶望)

    電子工作編

    ドライバーとシールドを用意する

  • ステッピングモーターは通常のモーターのように電池を繋げても動かすことはできません。そこで動かすためにステッピングモーター用ドライバとそれを載せるシールドを用意する。
    こういったドライバは3Dプリンタ用のやつが情報がたくさん載っていて使いやすいです。ドライバを買ったらそれに対応しているシールドを買いましょう。この商品はArduinoの上に直接載せるタイプなので簡単。こんな商品もAmazonなら翌日配送、本当にいい時代になったなぁ...。
  • ましま君に渡す前に一度動作を確認しました。過去にArduino君は私のパソコンの電源をショートさせた実績から外部電源を落とした状態で慎重に書き込みを行いました。(まじでTB3のパソコンで良かった) 動画はあげられないので動いてるときの画像を載せておく。(ケーブル類の加工をしてたので机の上がぐちゃぐちゃです)

ソレノイドのドライバーをつくる

  • タイトルの通りです、はい。当たり前なんですがソレノイドってステッピング用のモータードライバじゃ動かないんですよね。設計時に何も考えなかった私は「名前かっこいいからソレノイド使いたい!!」でそれをベースに設計しました。もう今更設計変更できないのでソレノイド用のドライバを設計します...。
  • といっても実はソレノイドを制御する基板をつくるのはそれ程難しくないです。まず回路図を書いていきます。(汚いのはご愛敬) これだけです。スイッチオンオフだけならこれで十分です。
  • 問題はArduinoはシールドに乗ってるのでデジタルピンを持ってこれないんですよね。そこでモータードライバと同じサイズで作ってシールドに載せます。
  • 目標は決まったのでドライバの裏側を見るとピンの配置が書かれているので読み解いていきます。
  • とりあえずVDD、GND、STEP、1A、1Bの5種類あれば行けそうです。VMOTを使わない理由は電圧が高すぎてソレノイドを壊してしまうので今回は使わない方向にしました。。とりあえずに視覚的に見やすく書いて時間的な都合でここでましま君に投げます。(マジで申し訳ない)

プログラム編

  • ここからやっと私の出番です。
    いや一応手元に基板も買ってDVDドライブも買ってバラして実験はしてたんですけどね、本体を組み立てる能力がありませんでした。(苦しい言い訳)

  • 22日になんとか作って頂いた本体を受け取ることが出来たのでそこから開発開始です(残り2日)
    正直マジの突貫工事で製作をしているので色々間違ってるかもしれませんが温かい目で見守ってあげてください....(小声)

  • 今回は動作にGRBLというArduino上で動作するオープンソースなCNC制御のためのファームウェアを使用して製作していきます。

とりあえず環境を構築する

Arduino

  • まずここからArduino側に導入するパッケージをダウンロードしてきます。

  • Arduinoにダウンロードしてきたライブラリをインポートします。

  • インストールがうまく行っているとこんな感じにパッケージが追加されています

  • 追加がうまくいったらスケッチ例にある「GRBLtoArduino」を開いてArduinoに焼きます。
    これだけでArduino側の準備が完了です。

PC側

  • PC側からはGUIでCNCを操作することが出来ます!
    今回は「grbl Control v0.8.4」を使っていきます。最新版は1.1とかなのですが、今回使っているCNCのボードが若干古い物なので新しいVerでやろうとすると若干ピンの位置が変わってきてしまうようです。その辺りはネットで調べてみるとわかるかもしれません。

  • ここに0.8.4

  • ダウンロードしたら「管理者として実行」でプログラムを起動させます。

  • これだけでもう完成です(大嘘)。ありがとうございました。

今回作ったCNCペンプロッタに合わせてチューニングをしていく

  • 一応このままでもある程度はもう動くは動くのですが、やはりこれ用にチューニングしてあげないと挙動がおかしくなってしまうので地道に調整をしていきます。

https://twitter.com/mewl_msh/status/1340645418674180096

  • CNCシールドにステッピングモーターを接続するだけでもうGUI側から手動で、ボタンを押すことで動かすことができちゃいます

  • 因みになのですが、今回のCNCペンプロッタの製作にはにゅーなるこ先輩から頂いた、「五島慶太Arduino」を使用しました....
    記事はこちらから オリジナルデザインのArduinoを作ろう!五島慶太編
    ピンの位置がちゃんと本家と同じなのでシールドがそのまま付けられちゃいました...流石です、先輩。
    その上接続はMiniBじゃなくてMicroBで出来ますからね、めっちゃ便利です。これからも愛用していきます......

モーターに流れる電圧の調整

  • とりあえず機材を受け取ってから手元にある自分のモータードライバとシールドに載せ替えて遊んでたのですが、動かしてるうちに「キィィィィィン....」というまるで飛行機の離陸音のような音がステッピングモーターからしてきたので「どうしたんだろう、調子悪いのかな?」と思って触ってみたらハイ、地獄のような熱さになってました....というわけで指を火傷した上に冷たい物に触れても「熱い!!!!!」と勘違いするレベルには指先に傷を負いました....

  • 原因

    • モータードライバから流れる電圧を一切確認せず接続して遊んでたからでした....
    • 確認したらほぼフルパワーが出てたのでとりあえず最低にまで戻してモータがちゃんと動く所まで調整を行います。

    • このネジを回すことで出力をいじれます、一度最低まで回してから少しずつ回して動作をする所まで回し続けて調整です....

何故かホームポジションに戻らない

  • ちゃんと適切な出力でモータが動くようになったので一番はじめに「ホームポジションに戻る」という動作をさせることにしました

  • grbl Controlではここを押すだけでホームポジションに戻る動作をしてくれます、動きとしては

    1. モータを原点の方にゆっくりと動かす
    2. 原点付近にあるリミットスイッチが押されるまで動く
    3. 触れたら止まる
    4. すべての軸がリミットスイッチに触れたらそこから一定距離離す
  • という感じでホームポジションに戻る動作をしてくれます

  • まあボタン押せば戻ってくれるし「もうこれ一瞬で完成やろw」とか思ってたんですけどそううまくはいかなかったです....

grbl上で動作を有効化させる
  • 試しに一度押してみたもののうんともすんとも言いません。grblにはパラメータが存在しており、そこを変更して機能の有効化を行わないと駄目みたいです...
$0=755.906 (x, step/mm)
$1=755.906 (y, step/mm)
$2=755.906 (z, step/mm)
$3=30 (step pulse, usec)
$4=500.000 (default feed, mm/min)
$5=500.000 (default seek, mm/min)
$6=28 (step port invert mask, int:00011100)
$7=25 (step idle delay, msec)
$8=50.000 (acceleration, mm/sec^2)
$9=0.050 (junction deviation, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=0 (hard limits, bool)
$17=0 (homing cycle, bool)
$18=0 (homing dir invert mask, int:00000000)
$19=25.000 (homing feed, mm/min)
$20=250.000 (homing seek, mm/min)
$21=100 (homing debounce, msec)
$22=1.000 (homing pull-off, mm)
  • 公式ドキュメントによると初期値はこんな感じになっているらしいです。今回はハードウェアスイッチを使ってホームポジションへ戻る動作をさせたいので$16 = 1 $17 = 1 へとパラメータを変更してみます。
    そうするととりあえずはボタンを押したらモータが動作するようになりました。
まずモータの接続向きが間違ってる
  • ただ単に自分のミスですが、モーターの+-を入れ違えてたようでホームポジションに戻す動作をさせたら明後日の方向にすべての軸が飛んで行きました。入れ替えて直りました....
リミットスイッチをまず基板に繋げる
  • ハード担当の田んぼくんとあんまりコミュが取れてなかったせいでまずリミットスイッチを繋げることをしてませんでした。

  • とりあえずケーブルを作る

  • 繋げる

  • そうするとこんな感じで押されたらちゃんと「なんかぶつかってね?」と警告してくれるようになります。いいね

Z軸の判定を外す
  • これが相当曲者でした。今回のCNCペンプロッタではX, Y軸はステッピングモーターとして基板から制御しているもののZ軸はソレノイドを使って制御している為、Z軸にホームに戻るという概念がありません。
    この問題によりホームポジションにX, Y軸が戻っても動作が終わらないというバグが発生しました。

  • 動作を開始させてからZ軸の判定部分をジャンパすると

  • こんな感じで止まってくれるようになりました、原因はこれでわかりました。

  • 因みにソレノイドとは...

    • 銅線に電流を流すことにより磁界を発生させ、磁性体の可動鉄芯を吸い寄せる(吸引)電気部品です。 銅線に電流を流したとき、可動鉄芯は銅線内の固定鉄芯方向に吸い寄せられ、通電している間は常に吸い寄せられていますが、電流を断てば吸引力は消滅します。(機種によって残留磁気が発生する場合もあります) この動作を応用して一般的なプル(吸引)ソレノイド、プッシュバーを装着し「吸引=押し」動作にするプッシュ(押し)ソレノイド、永久磁石を組込むことによりそれぞれの動作を保持している自己保持ソレノイドなど幾多のバリエーションがあります。
Z軸の判定部分を永遠ジャンパする
  • この問題がわかった時は「じゃあ永遠ジャンパしとけばええやろ笑!」と思ってたんですけど初っ端から判定が入ってるとホームに戻るという扱いにならないみたいです、だめでした。
プログラム側を修正してZ軸の判定を抹消する
  • ハード側では修正不可能なことがわかったので泣く泣くプログラムの方を修正していきます。
  • しばらく読んでるとlimit.cppというファイルに判定の方法が書いてあったのでZ軸に関する情報を抹消していきます。

  • この辺で処理させてますね。
  • まあ見た感じZ_AXISの存在抹消すりゃそのまま無視して行きそうな感じなので適当に抹消します()

    • 各定数の定義はconfig.hの中に記述があったのでこれを

    • こんな感じに変更してみます

  • そして再コンパイルしてArduinoに焼いてみると....

  • Z軸に小細工せずともちゃんとX, Y軸だけでホームポジションへ戻ってくれるようになりました、やった!

ホームポジションに戻った後に何故か更に原点の向こう側へと行こうとする
  • 無事動作するようになったのは良いものの何故か戻った後にもうひと押しでホームポジションより向こう側へモータが動作してしまいます。これもパラメータより動作を変更させる事が可能のようです。

  • $22 原点復帰後移動距離というパラメータを初期値の1.000 から -2.000 へと変更、そうすると...

  • いい感じに間隔と取ってくれるようになった

X, Y軸のステッピングモーターの動作量を合わせる

  • 今回のハードで一番厄介なのがX, Y軸でモーターの種類が違う点です。
    これが何が不味いかというと、同じ入力値でもX, Y軸で移動量が全然違うものになってしまうんです。
    ただ今回はソフトが優秀でこれもパラメータの調整で解決することができました。
$0=755.906 (x, step/mm)
$1=755.906 (y, step/mm)
$2=755.906 (z, step/mm)
  • ここの数値を変更することで各軸の移動量を変更できます、簡単ですね。
  • 厳密に調整するのもめんどくさかったので目分量で適当に合わせました(は?)

Z軸のソレノイドを動作させる

  • ここまでくればほぼ完成なのですが、Z軸がちゃんと動作してくれなければ一筆書き or 何も印刷されないになってしまうので修正していきます。

  • 今回、Z軸にはステッピングモーターではなく、ソレノイドを使用しているので必要なのはOn/Offの信号です。動作させられるよう、がんばります....

作戦1. ソレノイドのドライバーを作って動作をさせる
  • 田んぼくんが回路図書いてくれたので適当に基板をつくります

  • こんな感じ、ハンダ付けの才能ないからやめたほうがいいよ

  • これのせてさして動かしてみたんですけど残念ながらソレノイドに信号が送られることはありませんでした...
    原因を突き止めようとも思ったんですけど、もっと効率のいい方法を思いついたのでそっちをやってみる

作戦2. スピンドル出力用のピンにソレノイドを挿す
  • 作戦1でわざわざ基板作ってうーーーーーーんと永遠悩んでたのですがデータシート的な何かを見てたらSpnEnというピンを見つけました。このピンからはスピンドルの電源のOn/Offが流れてるっぽいです。うん。これに繋げちゃえばいいじゃん....

  • 繋げたらはい、普通にソレノイド動きました。とても複雑な思いです...

  • というわけでバネをくっつけてOnでペンが下がる、Offでペンが上がるように

  • なる予定だったんですが、ソレノイドの磁力が弱すぎるせいか上がった後にペンが下りていってくれません。色々バネを短くしたり上に重しを載せて調整してたのですが、ソレノイドの上の部分にFRISK Neoの空き缶を乗っけるといい感じに動作するようになりました。

これはひどい....

  • とりあえず今回のCNCペンプロッタのパラメータをおいておきます、めんどくさいので今回の記事で書いてない所もちょくちょくイジってあります。参考程度にどうぞ~~~
$0=60.000 (x, step/mm)
$1=10.000 (y, step/mm)
$2=100.000 (z, step/mm)
$3=10 (step pulse, usec)
$4=250.000 (default feed, mm/min)
$5=500.000 (default seek, mm/min)
$6=192 (step port invert mask, int:11000000)
$7=25 (step idle delay, msec)
$8=10.000 (acceleration, mm/sec^2)
$9=0.050 (junction deviation, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=1 (hard limits, bool)
$17=1 (homing cycle, bool)
$18=0 (homing dir invert mask, int:00000000)
$19=25.000 (homing feed, mm/min)
$20=250.000 (homing seek, mm/min)
$21=1000 (homing debounce, msec)
$22=-2.000 (homing pull-off, mm)
ok

いよいよ完成!

  • まあ紆余曲折ありましたが短い開発期間の中でなんとかCNCペンプロッタが完成しました!!!!!!!!

  • こんな感じ かっこいい

色々書かせてみた

終わりに

  • というわけでいい感じにCNCペンプロッタを作ることができました〜〜〜
    正直今回私が制作してた部分が全然なくて私の記事として出すのは凄く忍びないのですが、楽しんでいただけるとありがたいです。

  • どうも田んぼです。ここまで読んでいただいてありがとうございます。
    ぶっちゃけるとまじで大変でした。就活、研究室の合間に設計して印刷してとかなりのハードスケジュール。とりあえず形になり、実際に動いて描けたと報告を受けたときは涙を流しながら喜びました。忙しかったですが楽しかったのでヨシ!!
    皆さんも記事を読んで楽しんでいただけたなら幸いです。また次も工学知識0シリーズを二人でやりたいと考えてるけどましま君はどうかな?ま、やりたくないって言われても無理やりやらせるんで来年もまた会いましょう。乙!!

  • 来年こそはちゃんと二人で物作りします!!!!!!

うおおおおおおおおおおおおおおおおおおお それではメリークリスマス!!!!