工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

DIYArduinoスカラロボットによるレーザー彫刻

このチュートリアルでは、以前のビデオの1つで作成したDIY3Dプリントスカラロボットアームをレーザー彫刻機として機能するように変換した方法を紹介します。次のビデオを見るか、以下の記事を読むことができます。

プロジェクトの概要

スカラロボットには4つの自由度があり、4つのNEMA 17ステッピングモーターによって駆動され、Arduinoボードを使用して制御されます。元のビデオでは、Arduino UNOボードをCNCシールドと組み合わせて使用​​しましたが、ここでは、ArduinoMEGAボードをRAMPボードと組み合わせて使用​​します。ロボットの制御にMarlin3Dプリンターのファームウェアを使用するため、この組み合わせが必要です。

機械部分は、レーザーモジュールでグリッパー機構を変更するだけでした。この場合、彫刻に十分な5.5Wレーザーモジュールを使用しています。

このスカラロボットのセットアップで得られる優れた機能は、Z軸の動きの範囲を広げることができるため、背の高いオブジェクトをレーザー彫刻できることです。

また、ロボットの設置面積が小さいことを考えると、作業エリアはかなり印象的です。前面だけでなく、両側の領域を使用できます。実際には、ロボットの周囲360度のほぼ全体を作業領域として使用するように設定できます。これは、レーザー彫刻とスカラロボットのセットアップのオプションを備えたオープンソースのMarling3Dプリンターファームウェアのおかげで実現できます。

Gコードを生成するために、私はさらに別のオープンソースソフトウェアであるInkscapeとそのプラグインであるInkscape-Lasertoolsを使用しています。輪郭のみ、または同じベクトル画像から輪郭とインフィルを使用してGコードを生成できます。また、レーザービームの調整、移動速度、インフィル速度、周辺速度、レーザーのオンとオフのコマンドなど、さまざまなオプションがあります。レーザーなど。

それでも、レーザー彫刻家として機能するスカラロボットをセットアップするプロセス全体を説明します。このスカラロボットの設計、私たちのマシンに合わせてマーリンファームウェアをインストールして構成する方法、および彫刻用の図面とGコードを準備する方法を見ていきます。それでは、始めましょう。

デザインと3Dモデル

このスカラロボットの3Dモデルを簡単に見て、私がどのように構築したかを詳しく説明する元のチュートリアルをまだ見ていない場合に、どのように機能するかを確認できます。

ロボットは、ほとんどの部品を簡単に3D印刷できるように設計されています。ジョイントはNEMA17ステッピングモーターによって駆動され、GT2ベルトといくつかの適切な3DプリントGT2プーリーの助けを借りて速度が低下します。ロボットには4自由度がありますが、この場合、必要なのは3 DOF、作業領域の任意のポイントに到達するための2回転、およびレーザーの高さを調整するための1線形運動だけです。

エンドエフェクタを回転させる4番目のジョイントは使用されませんが、レーザーモジュールが取り付けられます。レーザービームがその4番目の軸の回転の中心になるようにレーザーのホルダーを作成したので、軸が回転しても最終的な位置には影響しません。

この3Dモデルを見つけてダウンロードしたり、Thangsのブラウザで調べたりすることができます:

Thangsからアセンブリの3Dモデルをダウンロードします。

このチュートリアルをサポートしてくれたThangsに感謝します。

3D印刷用のSTLファイル:

後援


このビデオのスポンサーでもある3DEXPERIENCESOLIDWORKSfor Makersを使用して、このスカラロボットを設計しました。はい、あなたはそれを正しく聞きました。 3DEXPERIENCE SOLIDWORKS for Makersにより、SOLIDWORKSはついに、業界をリードする設計ツールをあらゆる種類のメーカーに驚くほど低価格で提供します。

メーカーは現在、年間わずか99ドルで最高のSOLIDWORKS設計ツールにアクセスできますが、私の視聴者には、SOLIDWORKSが期間限定のオファーを提供しており、これらのツールをさらに安価に入手できます。

それは正しい。このビデオの視聴者は、クラウドに接続されたバージョンのSOLIDWORKSと、3DCreatorや3DSculptorなどのブラウザベースのデザインツールを含むこのバンドルを、在庫がなくなり次第20%オフの特別価格で今すぐ入手できます。

次のリンクをクリックして、無料の3DEXPERIENCE IDを作成するだけです。これにより、この特別な20%オフのオファーにアクセスできるため、今日から最高のものを作り始めることができます。このような教育コンテンツを後援およびサポートしてくれたSOLIDWORKSに大いに感謝します。

メーカー向けのSOLIDWORKSをご覧ください

メーカー向けSOLIDWORKSが20%オフ


レーザーモジュールの取り付け

まず、4本のボルトで固定されていたロボットからグリッパー機構を取り外しました。

グリッパーサーボの制御に使用されるワイヤーは、レーザーモジュールの制御に使用されます。

私が持っている特定のレーザーモジュールは12Vで動作し、アースとVCCの2本のワイヤーでPWM信号を使用して制御できます。レーザーの接続には、モジュールに付属の3ピンのコネクターを使用しました。左の黒い線はアースで、真ん中の白い線はVCCです。エンドエフェクターのワイヤーに簡単に接続できるように、これらのワイヤーに2つのオスジャンパーワイヤーコネクターをはんだ付けしました。

次に、コネクタを所定の位置に配置し、ワイヤをホルダーの開口部の1つに通して、2本のM3ボルトでレーザーモジュールを固定します。 4本のM4ボルトを使用して、レーザーモジュールをロボットに固定しました。

次に、前述したように、元のビデオでロボットを制御するために使用したArduino UNOボードの代わりに、ArduinoMEGAボードとRAMPSボードとの組み合わせが必要になります。

ここでは、最初にドライバーのステップ解像度を選択する必要があります。もちろん、よりスムーズなモーションを得るには、ステッパードライバーごとに3つのジャンパーを追加して、可能な限り最高の解像度を選択する必要があります。 16ステップの解像度を持つA4988ステッパードライバーを使用していますが、1/32ステップの解像度を持つDRV8825ステッパードライバーを使用することもできます。

次に、すべてのワイヤーを所定の位置に接続できます。すべてのワイヤーにマークを付けたので、それらを台無しにしないでください。

SCARAロボットレーザー彫刻機の回路図

これが、すべてを接続する必要がある方法の回路図です。

ステッピングモーターはドライバーの真上にあり、通常は2本のワイヤーで閉じられているリミットスイッチは、各軸のエンドストップSピンと–ピンにそれぞれ行きます。

レーザーモジュールの制御には、3Dプリンターのセットアップでファンの制御に使用されるピンD9を使用します。このピンはPWM対応であるため、レーザーの強度を制御できます。すべてに電力を供給するために、最小電流レート3Aの12V電源が必要です。

このプロジェクトに必要なコンポーネントは、以下のリンクから入手できます。

  • ステッピングモーター–NEMA17………………
  • A4988ステッピングドライバー…………………..…
  • RAMPS1.6ボード………………………..…
  • ArduinoMEGA…………………。…..………
  • リミットスイッチ…………………………………。 アマゾン /バンググッド /AliExpress
  • DC電源…………………………。 Amazon / Banggood /AliExpress
  • レーザーモジュール…………………………………Amazon /バンググッド / AliExpress
  • レーザー安全ゴーグル……………………..アマゾン /バングゴッド / AliExpress

機械部品については、元の記事を確認できます。

説明したようにすべてを接続したら、すべてがきれいに見えるように、ワイヤーを少し絞って電子機器を覆いました。

アセンブリの仕上げ

スカラロボットを正しく動作させるために変更する必要があることがもう1つあります。それは、2番目のアームリミットスイッチがトリガーされたときを変更することです。スカラロボットは右腕として動作するように設定されるため、左に回転できるようにしながら、2番目のアームのホーミングは0度、または最初のアームと一致している必要があります。そのために、アームジョイントに小さな部品を接着して、説明した位置でリミットスイッチをトリガーしました。

実際、変更する必要のある小さな詳細がもう1つあります。元のリミットスイッチトリガーは、アームの下部にあるナットの1つに干渉していたため、アームが完全に動くことができませんでした。

そのナットを取り外し、ネジ山付きインサートに交換して、パーツを所定の位置に固定したときに突き出ないようにしました。

以上です。これで、スカラロボットはレーザー彫刻機として機能する準備が整いましたが、もちろん、最初にファームウェアをArduinoボードにインストールする必要があります。

関連項目:スマートフォン制御付きDIYArduinoロボットアーム

スカラロボットを使用したレーザー彫刻用のマーリンファームウェア

私が言ったように、私は3Dプリンターで最も広く使用されているオープンソースファームウェアの1つであるMarlinファームウェアを使用します。これには、レーザー彫刻とスカラロボットのセットアップのオプションもあります。 Marlinファームウェアは、公式WebサイトまたはGithub.comからダウンロードできます。

MarlinファームウェアをArduinoMEGAボードにインストールするには、ArduinoIDEの代わりにPlatformIOIDEを使用します。 Marlinファームウェアは大きくて複雑なため、Arduino IDEでエラーが発生し、コンパイルできない場合があります。

PlarformIOは、Visual Studio Codeエディター上に構築されており、拡張機能としてインストールできます。つまり、最初にVisual Studio Codeをインストールしてから、拡張機能マネージャーでPlatformIOを検索し、そこからインストールする必要があります。

インストールが完了したら、[プロジェクトを開く]ボタンをクリックし、ダウンロードして解凍したMarlinフォルダーに移動し、[Marlinを開く]をクリックします。

これにより、すべてのMarlinファイルがエディターに読み込まれるため、それらを開いて編集できます。マシンのセットアップに従ってすべての調整を行う2つの主要なファイルは、Configuration.hファイルとConfiguration_adv.hファイルです。

実際、Marlinフォルダーを開く前に、まずGithub.comの構成リポジトリに移動し、そこから事前にテストされた適切な構成ファイルをダウンロードする必要があります。 「Examples」フォルダーで「SCARA」フォルダーに移動し、これら2つの構成ファイルをコピーして、Marlinフォルダーに貼り付けます。

参照:GRBLの設定方法& ArduinoでCNCマシンを制御する

Marlinファームウェアの構成

したがって、「スカラ」構成ファイルを使用してMarlinフォルダーを再度開くと、Configuration.hファイルを開き、マシンに応じていくつかのパラメーターを編集できます。ここで最初に行うことは、私たちが持っているスカラロボットのタイプを選択することです。

/**
 * MORGAN_SCARA was developed by QHARLEY in South Africa in 2012-2013.
 * Implemented and slightly reworked by JCERNY in June, 2014.
 */
//#define MORGAN_SCARA

/**
 * Mostly Printed SCARA is an open source design by Tyler Williams. See:
 *   https://www.thingiverse.com/thing:2487048
 *   https://www.thingiverse.com/thing:1241491
 */
#define MP_SCARA

#if EITHER(MORGAN_SCARA, MP_SCARA)
  // If movement is choppy try lowering this value
  #define SCARA_SEGMENTS_PER_SECOND 100

  // Length of inner and outer support arms. Measure arm lengths precisely.
  #define SCARA_LINKAGE_1  228.15  // Arm 1 lenght - 228(mm)
  #define SCARA_LINKAGE_2 136.2    // Arm 2 lenght - 136.5(mm)

  // SCARA tower offset (position of Tower relative to bed zero position)
  // This needs to be reasonably accurate as it defines the printbed position in the SCARA space.
  #define SCARA_OFFSET_X    300       // (mm)
  #define SCARA_OFFSET_Y    150       // (mm)Code language: Arduino (arduino)

「MORGAN_SCARA」はパラレルスカラロボット用、「MP_SCARA」はシリアルスカラロボット用です。これは、通常のデカルトシステム用に生成されたGコードに逆運動学を実装するTylerWilliamsによるオープンソース設計に基づいています。

以前のチュートリアルでは、逆運動学とは何か、そしてそれがこのスカラロボットでどのように機能するかをすでに説明したので、詳細についてはそのチュートリアルをチェックしてください。簡単に言うと、逆運動学では、与えられたX、Y座標に到達するために、2本の腕がどの角度に配置されるべきかを計算します。逆運動学の背後にある数学は三角法に基づいており、結果は2本の腕の長さにのみ依存します。

そうは言っても、ここではロボットアームの長さを入力する必要があります。この場合、最初のアームは228mm、2番目のアームは136.5mmです。次に設定する必要のあるパラメータは、作業台のゼロ位置です。この値は、SCARA_OFFSET_X値とY値を使用して入力され、ベッドのゼロ位置を基準にしたタワーまたは最初のジョイントからの距離です。

マシンに応じて調整する必要のあるパラメータのセットがもう1つあります。これは、XとYの両方のMANUAL_X_HOME_POSです。これらの値は、ロボットアームのエンドエフェクタまたはレーザーがホームポジションにあるときのXとYの距離です。以前に設定したベッドゼロの位置に移動します。これらの値を取得するために、SOLIDWORKSで、スカラロボットの2本の腕を表す2本の線で簡単なスケッチを作成しました。

ここから、目的のベッドゼロ位置を設定し、MANUAL_X_HOME_POS変数の値を取得できます。

次に、エンドストップコネクタを定義する必要があります。この場合、軸ごとに1つのエンドストップがあり、最小位置にあります。

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUGCode language: Arduino (arduino)

それに加えて、ホーミング時のエンドストップの方向を示す–1にX_HOME_DIRを定義する必要があります。

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1Code language: Arduino (arduino)

ここでは、すべての__MIN_ENDSTOP_INVERTING変数が「FALSE」に設定されているかどうかも確認する必要があります。

次に、マシンに一致するようにDEFAULT_AXIS_STEPS_PER_UNIT値を調整する必要があります。

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 177.7777777, 142.2222222, 400, 93 }Code language: Arduino (arduino)

これらの値は、モーターが1つのユニットを動かすために、プログラムがステッピングドライバーに送信する必要のあるステップ数を示します。この場合、それは1度の関節の回転です。スカラロボットのこれらの値を計算した方法は次のとおりです。

NEMA 17ステッピングモーターは完全に回転するために200ステップかかりますが、16ステップの解像度を使用しているため、モーターで完全に360度回転させるには、ドライバーに3200ステップを送信する必要があります。それに加えて、最初のジョイントでは20:1の速度低下があります。つまり、完全に回転するには64000ステップが必要です。この値を360で割ると、177.777という数値が得られます。これは、ジョイントを1単位または1度回転させるために、プログラムがドライバーに送信する必要のある実際のステップ数です。

2番目のアームは16:1の速度低下があるため、値は142.222になります。 Z軸には、8mmピッチの親ねじがあります。これは、モーターを1回転させると、8mmの線形監視が行われることを意味します。ここでの1単位は1mmなので、3200ステップを8で割る必要があります。したがって、Z軸が1単位または1mm移動するために必要なステップ数である400の値を取得します。ここでの4番目の値は、押出機ステッパーの値ですが、ここには押出機がないため、変更する必要はありません。

ステッピングモーターの方向は、ワイヤーの接続方法によって異なります。間違っている場合は、配線を逆にするか、ソフトウェアでINVERT_X_DIR変数をTRUEに設定して変更することができます。

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR falseCode language: Arduino (arduino)

このMarlinファームウェアを機能させるには、さらにいくつかの変更を行う必要があります。マーリンは主に古典的なデカルトスタイルのプリンターのファームウェアであるため、それが特徴とするSCARAモードには、このプロジェクトを作成した時点ではまだ解決されていない小さなバグがいくつかあります。これが、それを機能させるために私が行った変更です。

scara.cppの75行目で、MORGAN_SCARAをMP_SCARAに置き換えました。 motion.cppでは、行1716と1717にコメントし、cofiguration.hではVALIDATE_HOMING_ENDSTOPSにコメントし、configuration_adv.hではQUICK_HOMEのコメントを外す必要がありました。

実際、これらの変更を行っても、ホーミングは100%正しく機能していませんでしたが、これを機能させるために使用した回避策について説明します。

それでも、エディターの左下にある[アップロード]ボタンをクリックすると、MarlinファームウェアがArduinoボードにインストールされます。この特定のマーリンファームウェアを、このスカラロボットで動作するように以下で行ったすべての変更とともにダウンロードします。もちろん、元のマーリンファームウェアをGithub.comからダウンロードして、説明したようにすべての変更を自分で行うことができます。

制御ソフトウェア– Rapetier-host

さて、Marlinファームウェアをインストールしたら、ロボットを制御してGコードを送信するためのコンピュータープログラムが必要になります。多くのオプションがありますが、私は人気のある3D印刷ソフトウェアであるRapetier-hostを使用することにしました。このソフトウェアは無料でダウンロードして使用できます。インストールしたら、[構成]> [プリンタ設定]に移動して、ここでいくつかの調整を行うことができます。

Arduinoが接続されているCOMポートを選択し、Marlinファームウェアで設定したボーレートを選択する必要があります。 [プリンタの形状]タブで、XとYの最大値とプリンタ領域を設定する必要があります。

これらの設定を適用したら、[接続]ボタンをクリックすると、ソフトウェアがスカラロボットに接続されます。次に、手動制御タップに移動し、ここからプリンタを移動してみます。

XまたはY矢印を押すと、ロボットは逆運動学をすぐに実装するため、奇妙な動作をする可能性があり、片方の矢印だけを押しても両腕を動かす可能性があることに注意してください。

それでも、ロボットを機能させるには、まずロボットを家に帰す必要があります。ホームボタンをクリックする前に、手動でジョイントをリミットスイッチに近づける必要があります。

ホームボタンをクリックすると、ロボットはリミットスイッチに向かって動き始めます。実際には、2番目のアームはリミットスイッチに向かって動き始めますが、最初のアームは反対方向に動きます。 2番目のアームまたはY軸がリミットスイッチに当たると、最初のアームまたはX軸もリミットスイッチに向かって動き始めます。 Xリミットスイッチに達すると、ロボットはZリミットスイッチに進みます。

したがって、ホーミングが完了したら、彫刻を開始するか、ロボットを作業領域内で手動で移動できるようになります。しかし、すぐに何かをしようとすると、何らかの理由でロボットが誤動作し、奇妙な動きをします。この奇妙な動作を回避するには、ホーミング後にロボットをソフトウェアから切断してから、再度接続する必要があります。 。

これで、手動で移動または彫刻することができ、ロボットは正しく動作します。これはおそらくMarlinファームウェアのバグであり、このファームウェアのSCARAモードは十分にサポートされておらず、あまり関心がないために発生します。

それでも、GコードコマンドG00 X0 Y0を送信すると、ロボットは、MarlinConfiguration.hファイルで設定したゼロ位置に移動するはずです。

次に、M106S10コマンドを送信してレーザーをアクティブにします。 Sの背後の値は0から255までで、実際には0から100%までのレーザー出力のPWM制御です。そのため、ここではS10の値を使用して、何も燃やさないようにしますが、ゼロ位置を確認し、レーザーの焦点を調整できるように表示されます。

焦点は、下部のレーザーレンズを回転させることによって手動で調整することができ、同時にそれはそれと作業部品との間の距離に依存します。約5cmの距離を設定し、可能な限り最小のドットが得られるまでフォーカスを調整することをお勧めします。

スカラロボットによるレーザー彫刻

機械を校正するには、最初に単純な正方形を彫刻して、正しく機能するかどうかを確認することをお勧めします。

私の最初の試みでは、正方形の形状が正しい位置と方向にありませんでした。これは、MANUAL_X_HOME_POS変数に間違った値を設定したためです。修正すると、正方形が本来あるべき姿に近づきました。

そこで、ロゴのGコードをロードし、ロボットにロゴを刻印するように設定します。

正直なところ、このスカラロボットがレーザー彫刻家として機能しているのを見るのはとてもクールですが、レーザー安全ゴーグルを使用する必要がありますことに注意してください。 非常に危険なので、レーザーの紫外線から目を保護します。また、安全呼吸マスクを使用する必要があります レーザー彫刻中に発生する煙も私たちの健康に危険であるため、オープンスペースまたは換気の良い部屋で作業してください。

それでも、ロゴの彫刻はうまくいきましたが、完全に正方形ではないことに気づきました。

そこで、問題の原因を突き止めるために、単純な正方形の彫刻に戻りました。問題は腕の長さの寸法にあることに気づきました。ロボットはそれほど硬くないので、腕を伸ばすと、腕の重さ自体がロボットを少し前傾させます。これにより、アームの実際の寸法または位置が少しずれます。

何十回ものテストを行った結果、長さの値を最初のアームで228から228.15mmに、2番目のアームで136.5から136.2mmに調整することになりました。これは私に最も正確な結果を与えました、そして今、正方形の形は正しかったです。ただし、印刷する場所によっては、アームが完全に伸びているかどうかによって、精度が異なる場合があります。

レーザー彫刻用のGコードの生成

最後に、私がどのように図面を準備し、それらをレーザー彫刻するためのGコードを生成したかをお見せしましょう。その目的のために、オープンソースのベクターグラフィックソフトウェアであるInkscapeを使用しました。

ここでは、最初にページサイズを作業領域のサイズに設定する必要があります。例として、レーザー彫刻用にArduinoのロゴをどのように準備したかを紹介します。

Arduinoロゴの画像をダウンロードしてInkscapeにインポートしました。トレースビットマップ機能を使用して、最初に画像をベクトル形式に変換する必要があります。ベクトル形状からのみGコードを生成できます。そのために、Inkscape-Lasertoolsというプラグインを使用しました。このプラグインはGithub.comからダウンロードでき、zipファイルからファイルをコピーしてInkscape拡張ディレクトリに貼り付けることでインストールできます。

したがって、プラグインをインストールしたら、[拡張機能]> [レーザーツール]に移動してプラグインを開き、それを使用してGコードを生成できます。このプラグインで設定および調整するためのいくつかのオプションがあります。ファンの制御に使用するD9ピンにレーザーを接続したので、M106コマンドを送信してレーザーをアクティブにすることができます。

Gコードに形状の輪郭のみを含めるか、閉ループのインフィルのみを含めるかを選択できます。レーザーの移動速度、レーザーの充填速度、および周囲の速度を設定できます。

インフィルを選択するときに、インフィル領域のレーザーの強度を下げたい場合は、M106コマンドにPWM値を追加して、レーザー強度を設定できます。たとえば、M106 S128の場合は50%のレーザー出力になります。レーザー出力を100%のままにして、インフィル領域の移動速度を上げると、同様の効果を得ることができます。したがって、これらは実際には、何が最適かを確認するために試してみる必要のある設定です。

[設定]タップで[小さなインフィルパスを削除]を選択し、[バウンディングボックス]タブで[バウンディングボックスプレビュー用のGコードを生成]を選択できます。この機能は、描画が行われる領域のプレビューGコードを生成するため、非常に便利です。これにより、作業ピースを正確に配置できます。

さて、Gコードを生成したら、それをRepetier-Hostプログラムにロードできます。これは3D印刷ではなく、移動移動のみであるため、[移動移動を表示]チェックボックスをオンにしてGコードをプレビューする必要があります。

最後に「印刷」ボタンをクリックすると、スカラロボットがワークをレーザー彫刻します。すでに述べたように、このスカラロボットのレーザー彫刻を見るのはとても満足のいくものであり、私たちはそれを使って非常に多くのことをレーザー彫刻することができます。

優れた機能は、調整可能なZ軸を備えていることです。これは、たとえば、私のForstnerビット用の木箱のように、背の高いオブジェクトをレーザー彫刻できることを意味します。前面にロゴを刻印し、箱の背面に「Forstnerbits」というテキストを刻印しました。

これは、同じベクトル形状(この場合はバットマンのシルエット)を、輪郭だけで、閉じたループに塗りつぶしで彫刻する例です。

もちろん、インフィルで彫刻する場合、仕事を終えるのに必要な時間ははるかに長くなりますが、最終的な外観もはるかに良くなります。

最後に、このスカラロボットを使って、600x450mmの面積のこの巨大な図面をどのように彫刻したかをお見せしましょう。

ロボットをワークピースの上に置き、前面と両側に届くようにしました。ワークとロボットを手動で調整して、中央に平行になるようにしました。

Marlinファームウェアでは、ゼロ位置をワークピースの左下隅に設定しました。これは、ロボットからX方向に300mm、Y方向に150mm離れています。これらの値を定義するときは、符号に注意する必要があります。これに応じて、MANUAL_X変数とY_HOME_POS変数も変更しました。

これらの新しい値でファームウェアをアップロードした後、前に説明したようにロボットをホームに戻し、レーザーをゼロ位置に送りました。次に、レーザーをアクティブにして、必要な作業価格の方向をさらに調整できるようにしました。

直線を行うG01コマンドを送信することで、ワークピースをチェックして適切な位置に調整することができました。

この彫刻用のGコードの準備については、Inscapeのワークピースとロボットのこの構成でテンプレートを作成しました。ここから、ロボットがレーザーで到達できる場所を確認し、それに応じて図面を変更できます。

描画には、画像をダウンロードし、トレースビットマップツールを使用してベクター画像に変換しました。

次に、画像を必要に応じて再スケーリングして配置し、消去ツールを使用して、ロボットのある領域とロボットの外側の領域を削除しました。

次に、マシンにその仕事をさせるGコードを生成しました。この図面をレーザー彫刻するのに4時間かかりました。

それが終わったら、私はロボットがいた空の領域を埋めたかったのです。 For that purpose, I reposition the robot and the work piece, as well as changed the Marlin parameters so that the new work area of the robot is this empty space on the work piece.

Overall, this method requires some work for setting it up, but still it works great. I really like how this engraving turned out.

Wrap up

To wrap up, although there were some problems with the firmware, I managed to find workarounds to them get this SCARA robot working as laser engraver. If we take a closer look to the engraving, we can see that it’s far from perfect.

The robot is not that rigid and has some backlash, and therefore we cannot get precise and smooth movements. However, the things we learned in this tutorial can be implemented in any SCARA robot so you can definitely get better results.

このチュートリアルを楽しんで、何か新しいことを学んだことを願っています。以下のコメントセクションで質問をして、Arduinoプロジェクトコレクションを確認してください。


製造プロセス

  1. Arduinoを使用したDIYの最もシンプルなIV9Numitron時計
  2. サーボモーター付きロボット回避障害物
  3. ArduinoとAndroidデバイスでルンバロボットを制御する
  4. ArduinoとNokia5110ディスプレイを備えたDIY電圧計
  5. MobBob:Androidスマートフォンで制御されるDIY Arduino Robot
  6. ロータリーエンコーダー付きDIYシンプル測定ホイール
  7. シャープなGP2Y1010AU0Fセンサーを備えたDIY空気品質モニター
  8. WS2812LEDストリップを備えたDIYArduino1Dポンゲーム
  9. DIY Arduinoロボットアーム–ハンドジェスチャで制御
  10. AndroidアプリでArduinoロボットアームを制御する
  11. ArduinoNanoで食べるロボットを作る|金ネジ