3Dプリンターをボーデン式からダイレクト式に改造する時に実施したMarlin-1.1.2ファームウェア改変メモ&ファイルバックアップ(個人的メモ)
カテゴリー:【2台目】Flsun(中華)のデュアルヘッド大型3Dプリンター #3Dプリンター(記事数:100)

↑B


2022.04.07

3Dプリンターをボーデン式からダイレクト式に改造する時に実施したMarlin-1.1.2ファームウェア改変メモ&ファイルバックアップ(個人的メモ)

現在の愛機はAliexpressで330ドルほどで購入したボーデン方式(遠隔場所からフィラメントを押し出す方式)の3Dプリンターですが、途中で柔らかいTPUフィラメントが使いたくてダイレクト方式に根性で改造しています。それに伴い行ったファームウェアの修正場所の個人的メモです。

ちなみに、PCにつないでのファームウェア書き換えに関して最近やっと分かったのですが、Arduinoメインボードからディスプレイユニットに伸びるケーブルを抜いてからファームアップしないと5回に4回は失敗します。たまに成功するのが嫌らしいところ。ディスプレイユニット取り外せば100%成功します。

PC接続時の設定はArduino IDEで
  • Go to tools> board> arduino/Genuino Mega or Mega 2560
  • Go to tools> port> 接続先のポート
  • Go to tools> programmers > USBtinyISP
です。
490行目(どれだけSTEPモーターを回すと1mm進むか)
/**
* Default Axis Steps Per Unit (steps/mm)
* Override with M92
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 370 }

E0を150→370に

631行目
/**
* Z Probe to nozzle (X,Y) offset, relative to (0, 0).
* X and Y offsets must be integers.
*
* In the following example the X and Y offsets are both positive:
* #define X_PROBE_OFFSET_FROM_EXTRUDER 10
* #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
*
* +-- BACK ---+
* | |
* L | (+) P | R <-- probe (20,20)
* E | | I
* F | (-) N (+) | G <-- nozzle (10,10)
* T | | H
* | (-) | T
* | |
* O-- FRONT --+
* (0,0)
*/
#define X_PROBE_OFFSET_FROM_EXTRUDER 25 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -11 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

Z_PROBE_OFFSET_FROM_EXTRUDERを微調整して最初のレイヤーのZ位置を補正する。この調整G-CODEで出来たら良いのにうまくいかない。。。非接触ステージセンサーが微妙に反応性変化していくんだよね。
これ本当はX_PROBE_OFFSET_FROM_EXTRUDERとY_PROBE_OFFSET_FROM_EXTRUDERも実際に即して調整すべきだな。

719行目(モーターの回転方向)
// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR true
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false

INVERT_E0_DIRをTRUEに

739行目(ステージの出力範囲(単位mm))
// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 240
#define Y_MAX_POS 210
#define Z_MAX_POS 350

X_MAX_POSを260→240へ、Y_MAX_POSを240→210へ。ダイレクトエクストルーダーが少し横にはみ出て取り付けられているので少し出力範囲が狭くなっています。

829行目(オートレベリング時の確認位置)
#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)

// Set the number of grid points per dimension.
#define GRID_MAX_POINTS_X 3
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION 25
#define RIGHT_PROBE_BED_POSITION 200
#define FRONT_PROBE_BED_POSITION 20
#define BACK_PROBE_BED_POSITION 190

RIGHT_PROBE_BED_POSITIONを240→200へ、
BACK_PROBE_BED_POSITIONを240→190へ。
※これもともとの設定が出力範囲-20mmになっているので、RIGHT_PROBE_BED_POSITIONは220でもいいかも。

個人的FILEバックアップ

Category:【2台目】Flsun(中華)のデュアルヘッド大型3Dプリンター #3Dプリンター



■ ■ ■ コメント ■ ■ ■

いいっすね!=3
001 [04.09 22:25]ふるふるさん太郎:ファームウェアアップデート時にディスプレイケーブル抜くのは公式の作業指示にありますよ。磁性近接センサーは金属以外に反応しないのでビルドシート換えると修正要りますし誤差が大きいのでいっそ手動の方が楽かもしれません。私は32bitボード+Marin2.0を導入して3DtouchにするまでZ軸はリミットスイッチ+手動補正でやってました。 (1)

名前 ↑B

コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事のアクセス数:


→カテゴリー:【2台目】Flsun(中華)のデュアルヘッド大型3Dプリンター #3Dプリンター(記事数:100) (コメント数)