ハードウェアのエンドストップを変更せずに、ソフトウェアやスライサーを使用して新しい原点位置を設定するにはどうすればよいですか?


9

質問の前に、これが私のセットアップです。

  • Prusa i3(メインボードMks Gen v1.2)
  • スライサーとしての繰り返し
  • マーリンのソースコード

私の主な仕事は、3Dプリンターをチョコレートプリンターに変換することです。フィラメント押出機をチョコレート押出機に交換しました。そして、私の問題が始まったのはそこです。というのも、新しい押出機はホーミング時にy軸からわずかに停止しています。これは、標準の20x20 cmベッドから外に出ています。他のX軸とZ軸は問題ありません。

だから、私は#defines以下で説明することを試してみましたが、ホーミングによって単一のmmの違いを作ることさえできませんでした。プリンタがホーミングしているとき、それらはすべて無視されます。それはハードウェアに行き止まり、最終的に停止します。

Y軸に10 mmのオフセットが必要です。

これで始まりました。

// Travel limits after homing
#define X_MAX_POS 200
#define X_MIN_POS 0
#define Y_MAX_POS 190  <<<< (tested with 190 and 210)
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

この;

// The position of the homing switches
#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used

//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 10 <<< (tested with 10 or -10)
#define MANUAL_Z_HOME_POS 0

また、スライサーツール(Repetier)の設定で遊んだことがあります。ホーミングに関連する値が示されていますが、そこにも喜びはありません。

任意の入力が高く評価されています。

回答:


6

Y-Max設定は、軸の他端のソフトウェアエンドストップであるため、役に立ちません。

Yのホームポジションも、プリンターがホームポジションに到達したときに想定する座標を変更するだけなので、役に立ちません。これは、最大エンドスイッチのホームとなるプリンター(デルタなど)に使用されます。

役立つことができるのは、ホーミング直後のGコードの少しです。ホーミングはG28です。その後にG1Y10を追加するだけです。これにより、原点復帰直後にY軸が10 mm移動します。だから、それはあなたが望む位置になります。次にG92を追加すると、この位置が印刷のホームポジションになります。したがって、これらの2行を追加すると修正されます。Curaでは、これらの開始Gコードを編集して、変更したコードをすべてのプリントに自動的に追加することができます。

G10を試すこともできます(G10をサポートするファームウェアを搭載しています)。

Gコードの詳細については、http//reprap.org/wiki/Gcodeを参照してください。


最後に、これも私の結論でした。つまり、ソフトウェアのエンドストップは本当に望んでいたものではありません。しかし、私は実際にどのGコードがこれを行うことができるかを確認しませんでした。今私は知っている。
セナー

思い通りに家に帰るために、ハードウェアのエンドストップを再設置することを考えています。ただし、これまでのところ、Gコードをあまり使っていません。また、ソリューションとしても有望です。しかし、私があなたの説明から理解していることは、Yホーミング位置へのGコード修正は、プリンターの電源を入れたりリセットしたりするときではなく、印刷を開始したときにのみ処理されます。それでも境界の外に出ます。これが発生した場合でも、一部の液体チョコレートドロップが周囲から落ちる可能性があります。正しい?
Sener 2016

正確には、ホーミングプロセスは、ハードウェアのエンドストップによって定義されたホーミング位置に移動します。Gコードはそれを修正しますが、すべての移動でクリティカルな位置に移動し、再び戻ります。
LarsPötter2016

LarsとKamuroに感謝します。このソリューションは間違いなく私の日を救います。しかし、おそらく、Yエンドストップを再度取り付けるか、すべての端でベッドを10 mm大きくする方が良いでしょう。
セナー

3

どういうわけか存在することはわかっていたので、ついにこれを検討する時間がありましたが、それがどのように機能するかはわかりませんでした。

マーリン、スプリンター、スムージー、またはRepRapファームウェアのM206 Gコードコマンドを使用して、エンドストップに対するプリントベッドの0,0,0座標をオフセットします。

reprap.org wikiページは言う:

指定された値は、軸が参照されるときにエンドストップ位置に追加されます。帰宅直後のG92でも同じことができます(G28、G161)。

Marlinファームウェアでは、この値はM500コマンドを使用してEEPROMに保存できます。

同様のコマンドはG10で、これら2つを調整することは議論の対象です。

Marlin 1.0.0 RC2では、zに負の値を指定すると、プリントヘッドがリフト(!)します。

これは基本的に@LarsPoetterによって提案されたものと同じですが、EEPROMに保存できるという大きな利点があるため、毎回またはすべての異なるスライサーに追加する必要はありません(正しく理解していれば) 、-私はまだ自分で試していません)

これが永続的な解決策として機能するかどうかをお知らせください。


私は最近私のセットアップから離れていますが、間違いなくそのGコードをEEPROMに保存してみて、それがどのように役立つかを確認します。私の経験をここで確実に共有します。
セネル

1
@神室さん、ありがとうございました。それは大丈夫です。ケースがマーリンのエンドストップの場合は、エンドストップを再インストールするのが最善の方法だと思います。
Sener 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.