Marlin Configration.h設定 その1

実際にテストしてみて、まだ正常に動作しないのでMarlinの設定を見直しました。

単位あたりのステップ数

私が使っているモータ、ドライバ、およびベルトより、計算に必要な項目は以下のとおりです。

(1)X,Y軸
・モータのステップ角=1.8°
・ドライバマイクロステッピング=1/16
・ベルトピッチ=2mm(GT2)
・プーリ歯数=20枚

(2)Z軸
・モータのステップ角=1.8°
・ドライバマイクロステッピング=1/16
・リードスクリューピッチ=1.25(M8)
・ギア比=1:1

(3)エクストルーダ
「Koolertron 3Dプリンタ用0.4ミリメートルK型熱電対ノズル押出プリントヘッド0.4mm K-Type Thermocouple Nozzle Extruder Print Head」を使用していますが、詳細が不明だったので、実際に動かしてみて、問題があれば修正することにしました。

計算自体は以下のサイトがあるので、利用させて頂きました。*1
RepRap Calculator - Prusa Printers

vi Configuration.h
#define DEFAULT_AXIS_STEPS_PER_UNIT   {80,80,4000,500}  // default steps per unit for Ultimaker

エンドストップ設定

私の環境の場合、エンドストップはスイッチ式ではなく、フォトトランジスタを使用しているタイプなので、以下の行をコメントアウトしました。

vi Configuration.h
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
//#define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN

また実際に動かしてみてY,Z軸のモータの動きが逆になっていたため、以下の箇所を変更しました。あとY軸のホームポジションはMAXの位置になるので、併せて変更しました。

vi Configuration.h
#define INVERT_X_DIR false
#define INVERT_Y_DIR true   // 2015.05.11 changed false->true
#define INVERT_Z_DIR true   // 2015.05.11 changed false->true
#define X_HOME_DIR -1
#define Y_HOME_DIR 1    // 2015.05.11 changed -1 -> 1
#define Z_HOME_DIR -1

これでX/Y/Zがようやく意図したとおりに動くようになりました。

温度計設定

次に温度計の設定ですが、私の環境ではエクストルーダは熱電対+AD595を使用しています。
熱電対+AD595を使用する場合は、以下のように使用するPINが異なります。

f:id:mondayboy:20150512100411p:plain

変更箇所は以下のとおりです。

vi Configuration.h
#define TEMP_SENSOR_0 -1      // 2015.05.12 changed 0 -> -1

vi pins_RAMPS_13.h
#define TEMP_0_PIN         3   // ANALOG NUMBERING     2015.05.12 changed 13 -> 3

ベッドはサーミスタを使っているので、以下の箇所を修正しました。

*1:デフォルト値から変更なしでした