自動工具交換機能付きCNCペンプロッターの自作: DIY描画マシンチュートリアル
このチュートリアルでは、CNCペンプロッター、つまり描画マシンの作り方を紹介しますが、1つクールな機能があります。それが自動工具交換です。つまり、マシンが自動的に色を変えられるため、非常にクールな描画が可能になります。 以下の動画をご覧いただくか、書面によるチュートリアルをお読みください。 このマシンの構造は、前回の動画で作ったDIY CNCレーザー彫刻機をベースにしています。そこでは、最小限のパーツで最もシンプルなCNCマシンを作ることが目標でした。X、Y、Z軸の動きには3つのNEMA 17ステッピングモーターを使用し、グリッパーには小型サーボを使用します。このCNCペンプロッターの頭脳は、Arduino UNOボードとCNCシールド、3つのA4988ステッピングドライバーの組み合わせです。 作業エリアはかなり広く360×280mmで、このペンプロッターが出力できるディテールレベルは、私の意見ではかなり印象的です。特に0.6mmゲルペンを使用した描画がどれほど綺麗で正確に仕上がるか、実際に驚きました。 それでは、このような描画マシンを作るために知っておくべきすべてのことを説明します。設計方法、電子部品の接続、使用するファームウェアとソフトウェア、Gコードの生成方法などです。 まず、このCNCマシンの設計を見てみましょう。前述の通り、このマシンは前回のCNCレーザー彫刻機の設計をベースにしており、最小限のパーツで非常にシンプルなCNCを作ることが目標でした。 2つの主要コンポーネントはMGN15Hリニアレールと、それに適したスライディングブロックです。X軸とY軸の動きは2本のGT2ベルトとGT2プーリーで提供されます。Z軸については、可動部が2本の6mmリニアロッドと適切なリニアベアリングで上下にスライドするシンプルな往復運動です。小型ホビーサーボをペンのグリップに使用します。 このペンプロッターにはホーミング手順が不可欠です。ペンホルダーには特定の固定位置があるため、マシンには原点が必要です。したがって、各軸にリミットスイッチが必要です。 この3DモデルはThangsで見つけてダウンロード、ブラウザで探索できます: Thangsでアセンブリ3Dモデルをダウンロード。 Thangsにこのチュートリアルのサポートをいただきました。ありがとうございます。 3Dプリント用のSTLファイルはこちらからダウンロードできます: ペンプロッターの組み立てに必要なすべてのパーツはこちらです。 このDIY CNCマシンの組み立てに必要なコンポーネントリストです。電子部品のリストは回路図のセクションにあります。 では、マシンの組み立てを始めましょう。ベースプレートとリニアレール用ブラケットをM3ボルトで固定することから始めました。このマシンの組み立て用ボルトは、GT2プーリー用の数本のM5ボルトを除いて、すべて様々な長さのM3です。 両側が準備できたら、X軸リニアレールを各側2本のボルトで固定します。これらのMGN15Hレールは、スライディングブロック内にボールやローラーがあるため、非常にスムーズでガタのない動きを提供します。 ただし、取り付け前にしっかり洗浄してグリスアップしておくと正常に動作します。 次に、Y軸レールをX軸スライディングブロックの上に取り付け、セントラルマウントプレートで固定します。まず、Y軸レールをセントラルプレートに3本のボルトで取り付けます。 次に2つのNEMA 17ステッピングモーターを取り付けます。1つはプレートの上側、もう1つは下側です。前述の通り、GT2プーリーの取り付けにはM5ボルトとナットが必要です。ここでの2つのプーリーは実際にはアイドラープーリーで、X軸GT2ベルトのグリップを提供し、ステッピングモーターには歯付きプーリーを取り付けます。 歯付きプーリーを取り付ける際は、アイドラープーリーに合わせて測定し、水平に調整する必要があります。Y軸については、レールの反対側に1つのアイドラープーリーのみ必要です。この軸のベルトはループ状に取り付けるためです。 次に、2軸を接続します。セントラルプレートをX軸スライディングブロックに4本のM3ボルトで固定するだけです。これでマシンの主要な形ができ、Y軸スライディングブロックが作業エリアの任意の位置に到達できるようになります。 次にペンリフター機構を組み立てます。この機構は2つのパーツで構成され、1つはY軸スライディングブロックにボルト固定される固定部、もう1つは上下にスライドする可動部です。固定部を固定したら、Z軸ステッピングモーターを取り付けます。このステッピングモーターもNEMA 17ですが、重量を減らすために40mmではなく23mmの短いタイプです。 次にリフターを取り付けます。これは単純にステッピングモーターのシャフトに取り付けます。手元のグリューブネジが少し長かったので、なしでシャフトに取り付けましたが、穴の形状がシャフトと同じなので動きは問題なく伝わります。実際にはこのパーツを少し修正しましたが、ダウンロードファイルには更新版が含まれています。 次に、可動部に4つのリニアベアリングを挿入し、マイクロサーボを固定。ペンホルダーパーツもサーボのすぐ隣に固定します。 固定部と可動部を接続するには、まずサーボの配線を固定部の穴を通し、上面から6mmロッドをベアリングと固定部の穴を通して挿入します。このロッドを取り付ける際、固定部と可動部の間にスプリングを入れ、可動部を下方向に押すようにします。 これによりペンが作業面とより良く接触するようになります。固定部の底面には開口があり、そこにM3ナットを入れて6mmロッドを固定できます。 次に、マシンの片側に取り付けるペンホルダーユニットを組み立てます。上部と下部のパーツで構成され、最大12本のペンを収納できる開口があります。 ベルトの取り付けを続けます。まず必要な長さを測って適切なサイズにカットします。スライディングブロックへのベルト固定には、ベルトが中空シャフトを回り、ベルトが動かないように2つの壁で挟む、クールなベルトコネクターを自作しました。 M3ボルトで片側のコネクターをブロックに固定し、反対側も同じ手順で行います。コネクターはこれらのスロットに沿って動かせるため、ベルトを好きなだけテンションできます。 X軸については、ベルトが片側からもう片側へ直線的に伸び、プーリーを通ることでステッピングモーターのプーリーとグリップ/テンションを得ます。 X軸ベルトのテンション調整には、ベルトと同じ形状のコネクターを自作し、マシンの側面に締め付けます。 次にリミットスイッチを取り付けます。 実際にはZ軸リミットスイッチを少し下げました。X軸とY軸のリミットスイッチは、配線済みの前回のプロジェクトのものを使用しました。 これで機械部分は完成し、電子部品の接続に進みます。 前述の通り、Arduino UnoボードとCNCシールド、3つのA4988ステッピングドライバーを組み合わせて使用します。 Arduinoボードをマシンに取り付けるために、サイドパネルに取り付ける追加の3Dプリントパーツを作成しました。Arduinoボードを2本のM3ボルトで固定し、その上にCNCシールドを挿入します。 ここで、各ステッピングドライバー用に3つずつジャンパーを挿入して1/16ステップ分解能を選択し、ステッピングドライバーを挿入します。 その後、モーターをCNCシールドに適切に接続します。マイクロリミットスイッチの接続には、直接配線をはんだ付けし、反対側にはジャンパーワイヤーから取ったメスピンヘッダーをはんだ付けしました。 サーボモーターにはサーボ延長ケーブルを使用し、CNCシールドまで届くようにしました。電源には12V電源が必要です。すべての接続方法を示す回路図はこちらです。 すべての接続方法を示す回路図はこちらです。 このプロジェクトに必要なコンポーネントは以下のリンクから入手できます: Arduino UNOボード、CNCシールド、3つのA4988ステッピングドライバーを組み合わせて使用します。ホーミング用に3つのマイクロリミットスイッチ、グリッパー機構用に小型サーボモーターを使用。電源には最小2Aの12V電源が必要です。 このペンプロッターを完成させるために、いくつかの仕上げ作業が必要です。ここでペングリッパーを取り付けます。これは単純にサーボホーンを通じてサーボモーターに取り付けます。 ペンリフターからのケーブル管理には、ダイニングテーブルマットを使用しました。素材がしっかりしていて柔軟だったため、この仕事に最適でした。 これで描画マシンは完成です。ただし、いくつか注意点があります。Y軸レールが片側支持で、3DプリントのPLA素材自体がそれほど剛性がないため、完全に伸ばしたときにペンリフターが支持側と比べて4mm低くなっていました。 これは遊びが大きすぎますが、マシンの前面を少し持ち上げることで解決しました。これで差を約1mmに減らせ、許容範囲内になりました。これらの大きなレールを使用する場合は、Y軸レールを反対側でも支持することを強くお勧めします。 もう1つの問題はペンホルダーです。このままだとペンが固定されません。上部の開口を大きくし、側面に柔らかい素材を追加して、ペンが固定されつつマシンが簡単に挿せるようにすることをお勧めします。 最後に、マシン全体の下にボードを敷いて平らな面を作ります。 これでマシンは完成です。 あとはこれに命を吹き込み、本物のCNCマシンにするだけです。そのためには、CNCマシンの動きを制御するファームウェアをArduinoにインストールし、Gコードを送信してマシンに指示を出す制御ソフトウェアが必要です。 DIY CNCマシンで最も一般的な選択肢は、オープンソースのGRBLファームウェアです。しかし、このペンプロッターではサーボモーターを制御できる改変版が必要です。この改変版は「grbl-servo」と呼ばれ、スピンドル制御ピン(デジタルピン11)のデフォルトPWM周波数を1kHzから50Hzに変更し、このタイプのサーボモーター制御に必要な周波数にしています。 このGRBLファームウェアをダウンロードしてArduino IDEのライブラリフォルダにインストールしたら、config.hファイルを修正してデフォルトの2軸ホーミングではなく3軸ホーミングを有効にする必要があります。 制御ソフトウェアには、プロッター専用のGRBL-Plotterを使用します。これはグラフィックコンバーターを含み、画像やグラフィックからGコードを生成できます。これもオープンソースソフトウェアで、GitHubからダウンロードできます。 まず、適切なCOMポートでArduinoボードをソフトウェアに接続します。「Kill Alarm」ボタンをクリックすると、シリアルモニターに現在のGRBLパラメータの一覧が表示されます。これらのパラメータをマシンに合わせて変更する必要があります。 最初に調整すべきは移動分解能、つまりsteps/mmの値です。これらはモーターが1mm動くために必要なステップ数を示します。これは使用するステッピングモーターのタイプ、選択したステップ分解能、動力伝達方式(この場合はGT2ベルトとプーリー)に依存します。 このマシンでは、X軸とY軸を正確に動かすために80 steps/mmの値が必要です。Z軸については40という値を設定しました。これは実際の動きの観点からは正確ではありませんが、往復運動ではそれが達成できないためです。 パラメータ番号23を0に設定し(リミットスイッチの位置を指定)、最大送り速度、加速度、最大移動速度を設定し、パラメータ番号1を255に設定します(ステッパーを常時励磁)。ただし、これを有効にすると、特にZ軸ステッパーでは、短いNEMA 17ステッパーがすぐに熱くなるため、A4988ドライバーの電流制限を最小に調整する必要があります。 コントローラーの設定を見てみましょう。調整項目が非常に多く、最初は圧倒されるかもしれません。まず、ペンの上下動作をZ軸に設定し、上下位置の値を設定します。 Tool tableタブでは、ペンの色と位置を定義できます。これらの値はG53、つまりマシン座標系で定義されることに注意してください。これはマシンが持つハードリミットスイッチと、GRBLパラメータで以前設定した最大移動量によって定義されます。 各ペンの位置定義にはオフセット値を使用しました。この場合、Xは0、Yは277です。これらの値でグリッパーを最初のペンの前に位置づけ、その後各ペンのY値を負方向に21.7mmずつ定義するだけです。 ここでは各ペンごとに送り速度と上下位置を個別に調整することもできます。異なるペンを使用する場合に便利です。 Tool changeタブでは、「Perform tool change on Tx M06」を選択します。これはGコードにこのコマンドが現れたときに工具交換を行うようマシンに指示します。 文字Tの後の「x」値はツールテーブルの工具番号を示します。工具交換を実行するには「select」と「remove」スクリプトを含める必要があります。これらはTx M06コマンドが現れたときに実行され、グリッパーの動きを定義して工具を取ったり外したりします。 ペンを選択する場合、グリッパーをツールテーブルで定義された実際のペンの前(絶対マシン座標)に配置し、サーボでグリッパーを開き、4mm上に移動、X方向にペンに向かって少しY方向にも移動、グリッパーを閉じ、ペンを持ち上げ、スクリプト実行前の同じ位置に戻ります。ペンを外す場合は同じ手順を逆順に実行します。 もちろん、これらすべてのパラメータはペン自体、その寸法、ホルダーの寸法に依存します。このプロセスを正しくする唯一の方法は、テストして値を修正することです。 最後に、GRBL-Plotterソフトウェアで画像からGコードを生成する方法を見てみましょう。 画像を読み込んだら、「Preview with colors from table」をクリックして、画像がどのように見えるかを確認できます。画像補正タブでは、明るさ、コントラスト、ガンマ、彩度の値を調整して、実際の画像や望む色に近い色を実現できます。出力サイズをmmで設定し、色置換タブでは使用しない色を削除できます。 例えば、画像内の白色であるアプリコット色を削除できます。その後、「Create G-Code」ボタンをクリックするとGコードが生成されます。 SVGファイルからもGコードを生成できます。ドラッグアンドドロップするだけで、ソフトウェアが即座にGコードを生成します。 プロッティングを開始する前に、作業エリアの任意の場所に原点を設定し、再生ボタンをクリックします。 ペンプロッターが動き始め、魔法を生み出す様子を楽しめます。 この動画を楽しんでいただき、新しいことを学んでいただけたら幸いです。ご質問がありましたら、下のコメント欄でお気軽にお尋ねください。概要


DIY CNCペンプロッター 3Dモデル


マシンの組み立て
















電子部品の接続



DIY CNCペンプロッター 回路図

マシン組み立ての仕上げ






DIYペンプロッター ファームウェアと制御ソフトウェア



GRBLパラメータ

GRBL-Plotter設定






自動工具交換付きCNCペンプロッターのGコード生成





製造プロセス
- CNC工作機械:歴史、設計、未来のトレンド
- Arduino Nano R3で本格的なCNCマシンを自作する
- 自作ユニバーサルCNCマシン - 完全DIYガイド
- 5軸CNC工作機械の構築に実証された3つの技術
- CNC工作機械で製造されるトップ10精密部品
- CNC工作機械工具選定プロフェッショナルガイド:工具寿命と生産性の最適化
- CNCフライス盤マスター:操作とセットアップ完全ガイド
- CNC工作機械精度を最大化:精度と信頼性の実践ガイド
- CNC切削工具クイック比較:エンドミル、スレッドミルなど主要ツールを解説
- Top-Turn S50 斜めベッドCNC旋盤─ 長尺・大径ワークの精密加工に対応
- トップターンS50傾斜床CNC旋盤:長尺ワーク精密加工用(重複記事)