ArduinoCNCフォームカッティングマシン
このチュートリアルでは、ArduinoCNCフォームカッティングマシンの構築方法を学習します。これは典型的なDIYCNCマシンです。シンプルで安価な素材、いくつかの3D印刷部品でできており、コントローラーとしてArduinoを備えているからです。
次のビデオを見るか、以下のチュートリアルを読むことができます。
このマシンの主なツールは、ビットやレーザーの代わりに、熱線、または電流が流れると非常に熱くなる特殊なタイプの抵抗線です。熱線は泡を通過するときに泡を溶かすか蒸発させるので、正確かつ簡単に任意の形状を得ることができます。
CNCマシンの構築は実際にはそれほど難しくないので、簡単に言いました。初心者で、最初のDIY CNCマシンの構築を考えている場合は、すべてがどのように機能するかを説明するので、しばらくお待ちください。機械の設計から電子部品の接続、Arduinoのプログラミングまで、それを構築するプロセス全体を紹介します。また、無料のオープンソースプログラムを使用して、形状の準備、Gコードの作成、機械の制御の方法についても説明します。それでは、それに飛び込みましょう。
まず、このマシンの3Dモデルを次に示します。以下の3Dモデルをダウンロードできます。
この3Dモデルを見つけてダウンロードしたり、Thangsのブラウザで調べたりすることができます。
Thangsでアセンブリ3Dモデルをダウンロードします。
3D印刷用のSTLファイル:
ベース構造は、20x20mmのTスロットアルミニウムプロファイルで作られています。これらのプロファイルを選択したのは、使いやすく、組み立て時に穴などを開ける必要がなく、さらに再利用可能であるため、簡単に分解して他のプロジェクトに使用できるためです。各軸の動きは、10mmの滑らかなロッド上をスライドするリニアベアリングを使用して実現されます。各軸に2本のロッドを使用しました。
スライドブロックは少し奇妙に見えるかもしれませんが、複数の機能を持ちながら、単一のパーツとして簡単に3D印刷できるように設計されています。したがって、たとえば、Xスライディングブロックは2つのリニアベアリングを収容し、Y軸ロッドを保持し、Y軸ベルトのプーリーを保持し、X軸ベルトを取り付けるためのハンドルを備えています。
スライドブロックの駆動には、NEMA17ステッピングモーターを使用しています。シャフトカプラー、単純なねじ山、2つのプーリー、2つのベルトを使用して、各レールの2つのスライドブロックを同時に均等に駆動できます。
ここでは、マシンが2.5D形状を作成できるようにする、3番目のステッピングモーターがあることにも気付くことができます。これについては、ビデオの後半で説明します。
全体的に、構造と剛性の点で、設計はおそらくそれほど良くありませんが、私がポイントしたのは、最小限の部品で機能する機械を作成し、それでも仕事を遂行できるようにすることでした。
パーツの3D印刷には、リーズナブルな価格で非常に優れた3DプリンターであるCrealityCR-103Dプリンターを使用しました。
一部の3D印刷部品には少し後処理が必要であるか、使用する前にサポート資料を削除する必要があることに注意してください。
場合によっては、スライスソフトウェアのサポート設定が不適切なため、余分な素材を取り除くためにラスプを使用する必要がありました。
とにかく、これですべての材料の準備ができたので、機械の組み立てを開始できます。
このCNCマシンで使用されるすべての主要コンポーネントのリストは次のとおりです。電子部品のリストは、以下の記事の回路図セクションにあります。
私が持っていたTスロットのアルミプロファイルは60cmの長さだったので、3Dモデルに従って、金属製のハンドソーを使用してそれぞれのサイズにカットしました。次に、コーナーブラケットを使用して、ベースフレームを組み立てました。次に、X軸のシャフトクラップを取り付けます。ご覧のとおり、Tスロットプロファイルの操作はとても簡単です。あらゆる種類のものを取り付けるために必要なのは、M5ボルトとTスロットナットだけです。
次に、クランプにシャフトロッドを挿入します。半分挿入した状態で、X軸スライディングブロックも追加する必要があります。 2つのベアリングをその中に入れて、シャフトに挿入するだけです。これで、シャフトを反対側にスライドさせ、M4ボルトとナットを使用してシャフトを所定の位置に締めることができます。反対側でもこのプロセスを繰り返しました。
次に、Y軸をインストールする必要があります。そのためには、まずロッドをX軸のスライドブロックに挿入し、パーツの下部と同じ高さに配置して、M4ナットとボルトを使用して固定する必要があります。次に、Y軸スライディングブロックを挿入できます。これらのスライディングブロックは、単一のリニアベアリングのみを使用します。
Y軸ロッドの上部に、2つのY軸ロッドを上部のTスロットプロファイルで接続する取り付けブラケットを取り付ける必要があります。繰り返しになりますが、ロッドに固定するために同じ方法を使用しています。 Tスロットプロファイルを取り付けブラケットに取り付けるために、最初に3本のM5ボルトとTスロットナットを取り付けました。次に、プロファイルをスライドさせてボルトを締めました。
これで、主要な構造が構築され、X軸とY軸の両方で自由に移動できます。
次に、ベースフレームに脚を取り付けます。繰り返しますが、Tスロットプロファイルを使用してそれを行うのはとても簡単です。脚が固定されたら、X軸に最初のステッピングモーターを挿入します。この場合、モーターシャフトの距離を伸ばすために、20mmのスペーサーナットを使用しているので、後でベルトプーリーを脚の近くに配置できます。
さて、次に、2つのベルトを同時に駆動する単純な6mmのネジ付きロッドがあります。そこでまず、サイズに合わせてカットし、ステッパーの反対側の脚に内径6mmのベアリングを配置し、ねじ山を通過させました。次に、ロッドをベアリングに固定するためのナットと、ベルト用の2つの歯付きプーリーを挿入しました。
ネジ山付きロッドをステッピングモーターに接続するために、ステッピング側に5 mmの穴があり、ロッド側に6mmの穴があるシャフトカプラーを3Dプリントしました。シャフトカプラーにはM3ナットを挿入するためのスロットがあり、M3ボルトまたはグラブネジを使用して、モーターシャフトとねじ山に簡単に固定できます。次に、滑車をスライディングブロックのハンドルに合わせて配置し、グラブネジで固定する必要があります。
機械の反対側に、2つのアイドラープーリーを挿入できます。そのためにM5のボルトとナットをいくつか使用しました。
これで、X軸にGT2ベルトを取り付ける準備ができました。まず、結束バンドを使ってベルトをスライドブロックに挿入して固定しました。次に、ベルトを歯の滑車の周り、アイドラー滑車の反対側に通し、適切なサイズにカットして、再びジップタイを使用してスライディングブロックの反対側に固定しました。
反対側にもこのプロセスを繰り返しました。反対側を固定するときは、2つのスライドブロックがX軸の同じ位置にあることを確認する必要があります。そのためには、レールの端に移動するだけで、ベルトを締めて結束バンドで固定できます。これにより、X軸のスライド機構が完成します。
関連:自動ツールチェンジャー付きDIYペンプロッター| CNC製図機
次に、同じ方法でY軸機構を組み立てます。ベルトをスライディングブロックに再度固定するために、ジップタイを使用します。ここでは、スライディングブロックのハンドルが1つだけで、ベルトを固定するために、最初にベルトの一方の端をジップタイで固定し、次にベルトを十分に締めるように伸ばし、別のジップタイでベルトの両端をキャッチしました。これで、前のジップタイを取り外して余分なベルトを切り取ることができます。前述のように、反対側にベルトを固定するときは、2つのスライドブロックがY軸の同じ位置にあることを確認する必要があります。これにより、Y軸メカニズムも実行されます。
次に、X軸全体にもう1つのTスロットプロファイルを添付します。このプロファイルは、3番目のステッピングモーターを取り付けるだけでなく、フォームピースを配置するのにも役立ちます。 3番目のステッピングモーターを使用すると、このマシンを使用して、たとえばチェスの駒のように、2.5Dまたは実際に3次元の形状を作成できます。
では、次に抵抗線を取り付ける必要があります。このワイヤーは、その長さ全体で均一な温度を維持しながら、高熱に耐えることができる必要があります。これは通常、ニクロム線またはステンレス鋼の釣り糸で、実際には安価で入手が簡単です。正しく機能させるには、2つのタワーまたはスライディングブロックの間でワイヤーに張力をかける必要があります。これが私が行った方法です。両方のスライディングブロックにM5ボルトを取り付け、小さな延長スプリングを追加しました。
次に、ワイヤーをスプリングに取り付けるだけです。スプリングが許す限りワイヤーに張力をかけました。ワイヤーは、熱くなるとその長さも伸び、スプリングがそれを補うことができるため、スプリングでこのように張力をかける必要があります。
では、次に抵抗線を電線に接続します。極性が問題にならないようにDC電源を使用します。熱くなるには、ワイヤに電流を流すことが重要です。ここでは、約3〜5アンペアの電流引き込みをサポートするために、電線が十分にカチカチ音をたてていることを確認してください。私の場合、22ゲージのワイヤーを使用していますが、念のために20ゲージまたは18ゲージのワイヤーをお勧めします。
最初は2つのナットの間に電線を取り付けたので、電流がコイルを通過して抵抗線に流れることができました。これは実際にはうまく機能しませんでした。その理由をすぐに説明します。熱線から離れてきれいに保つために、スライディングブロックのハンドルにワイヤーを通しました。
次に、CNCマシンのエンドストップまたはリミットスイッチを取り付ける必要があります。これらのマイクロリミットスイッチには、アース、ノーマルオープン、ノーマルクローズの3つの接続があります。最初は通常開の接続に接続しましたが、接続後
いくつかのテストを実施することで、マシンがより安定して動作するため、通常は閉じた接続に切り替えました。
問題は、CNCマシンの動作中に発生する電気ノイズであり、スイッチが押されたように誤ってトリガーされ、マシンが動作を停止します。
次に、ステッピングモーターのケーブルを接続して、すべての電子部品を接続する方法を確認します。これが、すべてを接続する必要がある方法の回路図です。
もちろん、このCNCマシンの頭脳はArduinoボードです。それに加えて、Arduino CNCシールド、3つのA4988ステッパードライバー、および熱線の温度を制御するためのDC-DCコンバーターも必要です。
このプロジェクトに必要なコンポーネントは、以下のリンクから入手できます。
Tスロットプロファイルの片側に固定した電子部品用のスタンドを3Dプリントしました。最初にM3ボルトを使用して、Arduinoボードをスタンドに固定し、次にArduinoCNCシールドをその上に挿入しました。
次に、ステッピングドライバーがいくつかのジャンパーを使用してモーターを駆動する解像度を選択する必要があります。私の場合、各ドライバーに3つのジャンパーを追加して、16番目のステップの解像度を選択しました。これにより、ステッパーの動きがスムーズになります。
ドライバーを配置するときは、ドライバーの向きが正しいことを確認してください。小さなポテンショメーターは、シールドの下側に向ける必要があるポテンショメーターのインジケーターになります。
DCコンバーターを所定の位置に固定し続けました。次に、3つのステッピングモーターをArduino CNCシールドに接続し、2つのリミットスイッチをX+およびY+エンドストップピンに接続しました。マシンへの電力供給には、12V6ADC電源を使用します。 Arduino CNCシールドは実際には12〜36ボルトで動作し、私が使用する特定のDCコンバーターも同じ電圧で動作します。 DCコンバーターの入力にスイッチを追加したので、熱線を別々にオン/オフできます。 DCコンバーターの出力では、抵抗線の両端から2本の線を接続するだけです。最後に、USBポートを介してArduinoに接続して電力を供給し、DC電源プラグを介してArduinoCNCシールドとステッピングモーターに電力を供給できます。
では、マシンが正常に機能しているかどうかをテストするときが来ました。まず、熱線から始めます。ここで、DCコンバータの入力に0ボルトがあり、スイッチをオンにすると、入力に12Vが供給されることがわかります。次に、DCコンバーターの出力で再びゼロボルトになりますが、ポテンショメーターを回し始めると、出力電圧を0から12Vに調整できるため、電流が熱線を流れ、その温度がタイムリーになりません。
DCコンバーターの出力をどの電圧に設定する必要があるかをテストする最良の方法は、フォーム片を切り抜くことです。熱線は、抵抗や曲がりがあまりなく、フォームを切断できる必要があります。
ただし、最初のテストの後、私のホットワイヤーに何が起こったかを確認できます。それは、それを補うはずだった熱とばねが彼らの仕事をしなかったために伸びました。
実際、この構成では電流がスプリングにも流れていたため、スプリングは過熱により機能を失いました。
そこで、古いバネを新しいバネに交換し、ワニ口クランプを使って電線を抵抗線に直接接続することで、バネをバイパスしました。
では、このマシンをライブで実際のCNCマシンにするときが来ました。
そのためには、まず、マシンの動きを制御するファームウェアをArduinoにアップロードする必要があります。 DIY CNCマシンで最も人気のある選択肢は、GRBLファームウェアです。
オープンソースであり、GitHub.comからダウンロードできます。 zipファイルとしてダウンロードしたら、それを抽出し、「grbl」フォルダーをコピーして、Arduinoライブラリディレクトリに貼り付けることができます。次に、Arduino IDEを開き、[ファイル]>[例]>[grbl]からgrblUploadの例を選択します。次に、使用しているArduinoボードであるArduino UNOを選択し、Arduinoが接続されているCOMポートを選択して、最後にこのスケッチをArduinoにアップロードする必要があります。アップロードされると、ArduinoはGコードの読み取り方法と、Gコードに従ってマシンを制御する方法を理解します。
次に、Arduinoと通信して何をすべきかを指示する何らかのインターフェースまたはコントローラーが必要です。繰り返しになりますが、私はその目的のためにオープンソースプログラムを選択しています。それがユニバーサルGコード送信者です。
2.0プラットフォームバージョンをダウンロードしました。プログラムを実行するには、zipファイルを抽出し、「bin」フォルダーに移動して、実行可能なugsplatfromファイルを開く必要があります。これは実際にはJAVAプログラムであるため、最初にこのプログラムを実行できるようにするには、JAVAランタイム環境をインストールする必要があります。公式ウェブサイトから無料でダウンロードすることもできます。
したがって、Universal G-Code Senderプログラムを最初に開いたら、マシンを構成するためにセットアップウィザードを実行する必要があります。
ここでは、適切なポートを選択し、プログラムをArduinoに接続するだけです。接続が確立したら、ボタンをクリックしてモーターの移動方向を確認できます。必要に応じて、方向を逆にすることができます。リミットスイッチが配置されているホームポジションから反対側に移動するポジティブムーブメントを選択しました。
次に、正確で正確な動きを実現するために、モーターのステップを調整する必要があります。 16
th
を選択したので ドライバーのステップ分解能、およびモーターには200の物理ステップがあります。つまり、モーターが完全に360度移動するには、3200ステップかかります。ここで、トランスミッションのタイプ、この場合はプーリーのサイズに応じて、機械が1mm移動するためにモーターが必要とするステップ数を計算する必要があります。ここでのデフォルト値は、1mmあたり250ステップに設定されています。したがって、これらの移動ボタンの1つをクリックすると、モーターは250ステップを実行します。
実際には、定規を使用して、機械が実際に行った動きを測定し、その数値をプログラムに入力します。これに従って、プログラムは、steps/mmパラメータを変更および更新する必要がある値を計算して通知します。私の場合、それは83ステップ/mmです。 Z軸は400ステップ/mmに設定しました。つまり、Z軸の値が1mmの場合、45度回転します。
次に、リミットスイッチが正しく機能するかどうかを確認する必要があります。それらをNOまたはNCのどちらに接続したかに応じて、ここでそれらを反転することもできます。前に言ったように、NC接続の方がうまくいきました。とにかく、ここでは、マシンにZ軸リミットスイッチがないため、Z軸リミットスイッチをオフにする必要があることに注意する必要があります。オフにしないと、マシンをホームに戻すことができません。これを行うには、Arduinoライブラリのgrblフォルダーに移動し、config.hファイルを編集する必要があります。
ここでは、ホーミングサイクルラインを見つけて、3軸CNCマシンのデフォルト設定をコメント化し、2軸マシンのセットアップのコメントを外す必要があります。次に、ファイルを保存して、grblUploadの例をArduinoに再アップロードする必要があります。すべてが正しく機能するためには、おそらくプログラムを再起動する必要があることに注意してください。
では、次に、[ホーミングを試す]ボタンを使用してマシンをホームに戻すことができます。クリックすると、マシンはXリミットスイッチに向かって動き始め、一度押すと、Y軸の動きを開始します。必要に応じて、リミットスイッチの方向を変更できます。セットアップウィザードの最後に、マシンが各方向に移動できる最大距離を実際に制限するソフト制限を設定できます。私の場合、それは45x45cmです。
これで、プログラムを実行する準備が整いました。毎回使用する前に、常にマシンをホームに戻す必要があります。そうすれば、好きなことを何でもできます。まず、Jogコントローラーを試してテストするか、手動でマシンを移動することをお勧めします。また、この時点で、どの送り速度または移動速度が最適かを判断するために、いくつかのフォーム片をカットするようにしてください。
したがって、フォーム片を最もきれいで正確にカットする方法を見つけるために、熱線温度と送り速度の両方を試してみる必要があります。
最後に、このビデオに残っているのは、CNCマシンが図面を作成できるように、図面を準備する方法を確認することです。そのためには、ベクターグラフィックソフトウェアが必要です。ここでも、オープンソースのソフトウェアを選択しました。それがInkscapeです。公式サイトから無料でダウンロードできます。
Inkscapeを使用してArduinoCNCマシンのGコードを準備する方法の2つの例を示します。したがって、最初にページサイズを作業領域のサイズに設定する必要があります。これは45x45cmです。最初の例では、Arduinoロゴの画像をダウンロードしてプログラムにインポートしました。トレースビットマップ機能を使用して、画像をベクター形式に変換する必要があります。
さて、この形を熱線で切ることができるようにするには、形を連続した経路にする必要があります。これは、熱線が常に作業領域に存在するため、ある文字や形状から別の文字や形状に移動するときに、たとえば少し持ち上げたり、レーザーの場合はオフにしたりすることはできません。したがって、単純な正方形を使用して、すべての別々のピースを接続しました。これを行うには、ピースを選択してから、ユニオン関数を使用します。一方、内側の閉ループを開く必要があり、Difference関数を使用して実行します。
したがって、描画の準備ができたら、Gcodetools拡張機能を使用してGコードを生成できます。まず、オリエンテーションポイントを生成する必要があります。
次に、モデルを目的のサイズにスケーリングできます。次に、ツールライブラリに移動する必要があります。これにより、ArduinoCNCマシンに使用するツールを定義します。ワイヤーは明らかに円筒形なので、円筒を選択できます。ここでは、工具の直径などのパラメータを変更できます。1mmに設定し、送り速度も変更します。現時点では、他のパラメータは重要ではありません。最後に、PathtoGcode関数を使用してこの形状のGコードを生成できます。
Gコードは、GRBLまたはArduinoが理解できる一連の命令であり、それらに従ってステッピングモーターを駆動します。これで、Univeral G-codeセンダープログラムでGcodeを開くことができ、ビジュアライザーウィンドウから、マシンが通過するパスを確認できます。
ただし、ここでは、空の移動、またはビットやレーザーを使用している場合は空中を移動することを表す黄色の線に気付くことができます。先に述べたように、この場合、ワイヤーが材料を切断して形状を台無しにするため、これらの移動で熱線を移動することはできません。ここでは、ロゴ内の閉じた領域を開くのを忘れたため、形状全体の単一のパスがないことに実際に気付くことができます。したがって、図面に戻ってこれらの閉じた領域を開いてから、Gコードを再度生成するだけです。
シェイプをダブルクリックして独自の開始点を選択し、ノードを選択して、選択したノードでパスをブレークを選択することをお勧めします。ここで、新しいGコードを開くと、パスが後のAから始まり、形状全体を通り、A文字で終わることがわかります。
フォームピースをCNCマシンに固定するために、フォームを貫通して所定の位置に保持するM3ボルトを備えたこれらのシンプルなホルダーを作成しました。
では、3次元形状の作成方法のもう1つの例を紹介します。四方を90度に切る必要のある四角い柱の形を作ります。
前に示したトレースビットマップメソッドを使用して柱の形状を取得しました。これで、柱と同じ大きさの単純な長方形を描くことができ、長方形から柱を引きます。柱のプロファイルパスが1つだけ必要なため、側面の1つを削除します。したがって、これはCNCマシンが作成する実際のパスであり、通過するたびに3番目の
を回転させる必要があります。 ステッパー90度。
これを行うには、方向ポイントを作成するときに、Zの深さを-8mmに設定する必要があります。次に、ツールパラメータで、深さステップを2mmの値に設定する必要があります。これで、Gコードを生成した後、Gコード送信側で開くことができ、マシンが2mmの深さの差で同じパスを4回通過することがわかります。 CNCルーターの場合、ビットが2mm深くなるたびに材料をカットしますが、ここでは前に示したように、Z軸を1ミリメートルごとに45度、または2mmのZステッピングモーターの移動で90度回転するように設定します。
とにかく、ここでもGコードを少し変更する必要があります。デフォルトでは、通過するたびに生成されるGコードはZ軸を1mmの値に移動します。これは、CNCルーターの場合、空の移動が必要なときにビットを上げることを意味します。
実際には、Gコードを変更せずに残すこともできますが、Z軸を不必要に動かしたり、理由もなくフォームを回転させたりします。したがって、コードを繰り返すたびに、1mmの値に戻らずに、同じ場所にとどまるようにZ軸の値を変更する必要があります。
3D形状を作成するためのフォームピースの取り付けには、このプラットフォームを使用します。このプラットフォームには、フォームピースに積み重ねられ、成形中に保持されるM3ボルトがいくつか含まれています。
Gコードを実行する前に、熱線をフォームピースの近くに手動で近づける必要があります。中心から熱線までの距離は、形状を目立たせるのと同じくらいにする必要があります。または、図面のように正確な寸法が必要な場合は、図面の形状の原点から中心までの距離を測定する必要があります。
次に、コントローラーの[ゼロにリセット]ボタンをクリックして、ホームポジションではなく、ここから開始するようにプログラムに指示する必要があります。これで、[再生]ボタンをクリックするだけで、ArduinoCNCマシンが3D形状を作成します。
ここからすべての例のGコードファイルとInkscapeファイルをダウンロードできます:
これで、このチュートリアルのほとんどすべてが完了しました。説明が十分に明確で、自分でCNCマシンを作れるようになることを願っています。以下のコメントセクションで質問をして、Arduinoプロジェクトコレクションを確認してください。概要
ArduinoCNCフォームカッティングマシン3Dモデル
CNCの組み立て
ArduinoCNCフォームカッターの回路図
ArduinoCNCマシン用のソフトウェア
CNCマシン用のGコードの生成
製造プロセス