Reprap 3d printer: ファームウェアーMarlinの設定

Reprap 3dプリンターの組み込みプログラム(ファームウェアー)の"パラメーター調整箇所"と"ファームウェアーの書き込み"の手順.この作業は,3d出力結果の精度を調整したい場合や,自作プリンターにファームウェアーを初めて書き込む場合に,必要.プリンターの出力結果に不満がない場合は,こパラメーター調整の必要なし.

0. 環境とツールのまとめ

Arduinoのダウンロード

1. パラメーター調整箇所

 2.1. Arduinoで,解凍したMarlinから,ファイル名,"Marlin"を探し,ファイルを開きます."Marlin-Marlin_v1フォルダー → Marlinフォルダー → Marlinファイル"と探します.

 2.2. タブメニューから"pins.h"を探し,"//"を消して,以下の様に書き換え.

  • (RAMPS 1.4なので)
476行目:#define RAMPS_V_1_3

 2.3. タブメニューから"Configuration.h"を探し,以下の様に設定.
基本設定

  • (BAUDRATEは,250000でも動くみたいです.どちらか問題ない方に設定)
28行目:#define BAUDRATE 115200
  • (RAMPS 1.4は33)
77行目:#define MOTHERBOARD 33
  • (Extruderは1個)
88行目:#define EXTRUDERS 1

温度関連設定

  • (温度センサーは2個,ExtruderとHeated bed)
137行目:#define TEMP_SENSOR_0 1
138行目:#define TEMP_SENSOR_1 0
139行目:#define TEMP_SENSOR_2 0
140行目:#define TEMP_SENSOR_BED 1
  • (最大許容温度は,260,150℃くらい)
162行目:#define HEATER_0_MAXTEMP 260
163行目:#define HEATER_1_MAXTEMP 260
164行目:#define HEATER_2_MAXTEMP 260
165行目:#define BED_MAXTEMP 150
  • (最小許容温度は,170w℃くらい)
251行目:#define EXTRUDE_MINTEMP 170

End Stops設定

300行目:#define ENDSTOPPULLUPS
312行目:#ifdef ENDSTOPPULLUPS
313行目:  #define ENDSTOPPULLUP_XMAX
314行目:  #define ENDSTOPPULLUP_YMAX
315行目:  #define ENDSTOPPULLUP_ZMAX
316行目:  #define ENDSTOPPULLUP_XMIN
317行目:  #define ENDSTOPPULLUP_YMIN
318行目:  #define ENDSTOPPULLUP_ZMIN
319行目:#endif

Endswitch logic設定

  • (今回は,trueでOK)
322行目:const bool X_MIN_ENDSTOP_INVERTING = true;
323行目:const bool Y_MIN_ENDSTOP_INVERTING = true;
324行目:const bool Z_MIN_ENDSTOP_INVERTING = true;

End stops

  • (Endsstopは3つ使用なので,329はコメント文に)
328行目:#define DISABLE_MAX_ENDSTOPS
329行目://#define DISABLE_MIN_ENDSTOPS

ステップモーター関連設定

  • (今回は,この設定でOK)
349行目:#define INVERT_X_DIR false
350行目:#define INVERT_Y_DIR true
351行目:#define INVERT_Z_DIR true
352行目:#define INVERT_E0_DIR false

ホームポジション設定

  • (隅っこ)
359行目:#define X_HOME_DIR -1
360行目:#define Y_HOME_DIR -1
361行目:#define Z_HOME_DIR -1

エリアリミット設定

363行目:#define min_software_endstops false 
364行目:#define max_software_endstops true
  • (プリント領域はこんな範囲)
367行目:#define X_MAX_POS 190
368行目:#define X_MIN_POS 0
369行目:#define Y_MAX_POS 190
370行目:#define Y_MIN_POS 0
371行目:#define Z_MAX_POS 135
372行目:#define Z_MIN_POS 0

可動数の設定(3軸+Extruder=4)

480行目:#define NUM_AXIS 4
  • (あまり早いと挙動がへんなので,このぐらいのスピード,数値が早いほど早くなる)
481行目:#define HOMING_FEEDRATE {50*60/2, 50*60/2, 4*60/2, 0}
  • (1ミリ当たりのモーターのステップ数)
485行目:#define DEFAULT_AXIS_STEPS_PER_UNIT   {57.142, 57.142, 3200/1.25, 100.15}
  • ZEは,あまり早いとZ軸, フェラメントが,から回り,そこで,数値を小さく,同時に,XとYも)
486行目:#define DEFAULT_MAX_FEEDRATE          {200, 200, 2, 90/60}
  • (とりあえず,このくらいの加速)
487行目:#define DEFAULT_MAX_ACCELERATION      {9000/3, 9000/3, 100, 10000/2}
489行目:#define DEFAULT_ACCELERATION          500
489行目:#define DEFAULT_RETRACT_ACCELERATION  1000
  • 変更せずXYJERKを小さく)
499行目:#define DEFAULT_XYJERK                15.0    // (mm/sec)
500行目:#define DEFAULT_ZJERK                 0.4     // (mm/sec)
501行目:#define DEFAULT_EJERK                 5.0    // (mm/sec)


3. マザーボード(RAMPS 1.4)にプログラムを書き込み

  1. ボードの種類(Arduino Mega 2560)を選択.メニューバーから,"Tools menu → Board → Arduino Mega or Mega 2560"と探す.
  2. メニューからアップロードを選んで書き込み."File→Upload".書き込みには,時間がかかり,数分ほど待たされる.無事書き込みが済むと,"Done uploading"と表示される.