このPrusa i3 reworkの制作も途中まで作っていて必要な部品と取り寄せだったりとかなり時間が空いてしまいました。。。 (途中でやる気がなくなってしまったのは内緒です。)
前回までで主要なパーツの組み立てが完了したので、それぞれのパーツを取り付けます。
ぉぉそれっぽくなってきました。ちなみにエクストルーダは、X軸のベアリングと結束バンドで固定します。
次に一番の難関である配線とファームウェアの書き込みになります。
まずは、MEGA 2560・RAMPS・モータードライバを用意して組み立てます。
特に難しいところはないと思います。
次に電源が無いと動作確認もできないので、ノイズフィルタ・電源・ RAMPSを配線します。
細い赤と白のケーブルはファン用ですので無くても大丈夫です。ちなみにコンセントと接続するコネクタのことをノイズフィルタって言うんですね。知らなかった。
配線は、U型端子と平型端子で接続します。必要に応じて自分でケーブルを作る必要がります。
ここまで配線すれば、ボードに電源が供給されます。
で重要な配線ですが、公式サイトを参考に配線していきます。
配線は、それぞれのステッピングモーター(X軸・Y軸・Z軸・E軸(エクストルーダ))及び X軸・Y軸・Z軸 のエンドストップ・ エクストルーダのホットエンド及びサーミスタ・ヒートベッド・冷却ファンです。
配線がごちゃごちゃですが、仕方ないですね。ステッピングモーターは、全軸同じ配線にしています。
で次にMarlinファームウェアの書き込みを行います。以下のサイトから最新のコードをダウンロードしてArudino IDEで書き込みます。
使用したMarlinのバージョンは、2.0.1になります。
Configuration.hの修正箇所は以下になります。
126c126
< #define BAUDRATE 250000
---
> #define BAUDRATE 115200
137c137
< //#define CUSTOM_MACHINE_NAME "3D Printer"
---
> #define CUSTOM_MACHINE_NAME "prusa_i3_rework"
150c150
< #define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
---
> #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
479,481c479,481
< #define DEFAULT_Kp 22.2
< #define DEFAULT_Ki 1.08
< #define DEFAULT_Kd 114
---
> //#define DEFAULT_Kp 22.2
> //#define DEFAULT_Ki 1.08
> //#define DEFAULT_Kd 114
492a493,497
> // Hephestos (i3)
> #define DEFAULT_Kp 23.05
> #define DEFAULT_Ki 2.00
> #define DEFAULT_Kd 66.47
>
607c612
< #define USE_XMIN_PLUG
---
> //#define USE_XMIN_PLUG
610c615
< //#define USE_XMAX_PLUG
---
> #define USE_XMAX_PLUG
642,644c647,649
< #define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
< #define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
< #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
---
> #define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
> #define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
> #define X_MAX_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
721c726
< #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 }
---
> #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 600 }
728c733
< #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
---
> #define DEFAULT_MAX_FEEDRATE { 500, 500, 2, 25 }
741c746
< #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
---
> #define DEFAULT_MAX_ACCELERATION { 2000, 2000, 20, 1000 }
1029,1031c1034,1036
< #define INVERT_X_DIR false
< #define INVERT_Y_DIR true
< #define INVERT_Z_DIR false
---
> #define INVERT_X_DIR true
> #define INVERT_Y_DIR false
> #define INVERT_Z_DIR true
1054c1059
< #define X_HOME_DIR -1
---
> #define X_HOME_DIR 1
1062c1067
< #define Y_BED_SIZE 200
---
> #define Y_BED_SIZE 210
1070c1075
< #define Z_MAX_POS 200
---
> #define Z_MAX_POS 170
です。
正直、エンドストップあたりは試行錯誤しながら設定しました。X軸のみエンドストップ側がMAXになるようになっています。
修正したファームウェアを書き込み動作テストになります。
全軸問題なくホームポジションに移動しました。
上記の写真にはないのですが、正面のプリントファン以外にホットエンド側につけるファンも付属していたのでこれを配線します。
プリントファン(正面のファン)は、そのままRAMPSのD09に接続すればよいのですが、追加のファンの接続する場所が無いです。
idbox!の様に電源に直接つける方法もありますが、これだと電源がONの間は常にファンが回り続けるので電源を都度OFFにする必要があります。
そのため、RRD Fan ExtenderなるものをRAMPSボードに追加してファンの制御を行います。
AliExpress.com Product – 1pc Max 20V 3D Printer RAMPS 1.4 RRD Fan Extender Expansion Modul For 3D Printer Parts接続は以下の図を見てもらえればです。
だた配線しただけでは動作しませんので、別途marlinファームウェアの「Configuration_adv.h」を変種します。
修正箇所は3か所になります。
#define USE_CONTROLLER_FAN
上記をコメントアウト
#define CONTROLLER_FAN_PIN 6
コントロールファンピンを6に変更
#define E0_AUTO_FAN_PIN 11
上記を11に変更
これで、X・Y・Z・E何れかのモーターが動いたとき又はホットエンドの温度が60度を超えると自動でファンが回ります。
逆にモーターが全て停止するか、温度が60度以下になればしばらくするとファンが停止するようになります。
後日、別の3Dプリンターでコントロールボードを収めるケースを作って取り付けました。