前回(その19)の3D Touch Sensorの「改善したかな」の改造で
レベル測定のバラツキがだいぶ少なくなった感じですが
「感じ」としか言えないのが悲しい...
前回の最後にベッドの歪を8x8の64ポイントで測定すると
どうしてもG29で3x3の9ポイント測定にしたくなり
ここの左側の「G29 Automatic Bed Leveling」をクリックして
このページを読んだりして頑張っていました。
[G28]して[G29 P3]すると
3x3の9ポイントを測定してくれるのですが、よく見ていると
4ポイント目の位置が変なのです。
3ポイント目のすぐ近くでやってしまうのです。
他のポイントは、正常な位置で測定しています。
[G28]して[G29 P4]してみると
4x4=16ポイントのはずが
最初の2ポイントで終わってしまいます。
[G28]して[G29 P5]では、
最前列の5点が終わった後、でたらめなポジションを測定します。
これは、もうFirmwareバグを疑うしかないでしょう!
現在、
Geeetech I3 Pro B Rev.A with 3D Touch Sensor版のVer.1.1.4です。
他力本願でここから入手しました。
また、他力本願で(-_-;)
既にGeeetech I3 pro B+BL Touch Sensor版になっているここの
「Marlin 1.1.8 with BL Touch for i3 Pro B .....」にすることにします。
赤枠部のリンクから
ダウンロード!
「Marlin-1.1.8_02212018_Geetech_i3_ProB_BLTouch_T8_Lead_Screw.zip」を
解凍して「Marlin-1.1.8_02212018」フォルダができます。
マーティーの3D Touch Sensorは、まだ半不良品のままなので
この時の暫定対策を入れます。
「Conditionals_LCD.h」の438行目の「90」⇒「80」します。
*****
#define BLTOUCH_DEPLOY 10
#define BLTOUCH_STOW 80
#define BLTOUCH_SELFTEST 120
#define BLTOUCH_RESET 160
*****
「Configuration.h」この行は、Ver.1.1.4と変わっていないので
3D Touch Sensorのキャリブレーション手順は同じでいいハズです。
*****
// For M851 give a range for adjusting the Z probe offset
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20
*****
Arduino IDE 1.8.3で書き込んで~
3Dプリンタが再起動します。
目出度くLCDにこれが出ました!
起動も早くなった感じです。
Repetier-Host V1.6.0で[Printer Information]出すと
これ、寂しいです。
*****
~
Marlin 1.1.8_02212018_1810
echo: Last Updated: 2018-02-17 15:33 | Author: (Wysocki, Gtech 1.1.8 02212018)
9 : echo:Compiled: Oct 7 2018
~~~
FIRMWARE_NAME:Marlin 1.1.8_02212018_1810
~~~
*****
EEPROMを更新前のに設定します。
[M851]すると、これも変わっているので
戻して[M500]で保存します。
RESET
再起動して
G28は、問題なし
G29は、おっと、前が、ガラス板ギリギリでクリップ上を測定しています。
でも、「G29」コマンドだけで3x3の9ポイント測定になっています!
これは、よさそうです。
「Configuration.h」を調べると、687行目
Geetech推奨の3D Touch Sensor取付具の位置とY軸が異なっています。
*****
#define X_PROBE_OFFSET_FROM_EXTRUDER -4
#define Y_PROBE_OFFSET_FROM_EXTRUDER -40
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.29
*****
「40」⇒「43」に変えます。
今頃わかったのですが、Z_PROBEの「-1.29」は、
M851コマンドで設定するデフォルト値だったのですね(-_-;)
*****
#define X_PROBE_OFFSET_FROM_EXTRUDER -4
#define Y_PROBE_OFFSET_FROM_EXTRUDER -43
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.29
*****
再度、Firmwareを書き換えます。
一応、クリップの上ではなくなりましたが、ギリギリです。
Geetech推奨の3D Touch Sensor取付具の位置とY軸が異なっています。
*****
#define X_PROBE_OFFSET_FROM_EXTRUDER -4
#define Y_PROBE_OFFSET_FROM_EXTRUDER -40
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.29
*****
「40」⇒「43」に変えます。
今頃わかったのですが、Z_PROBEの「-1.29」は、
M851コマンドで設定するデフォルト値だったのですね(-_-;)
*****
#define X_PROBE_OFFSET_FROM_EXTRUDER -4
#define Y_PROBE_OFFSET_FROM_EXTRUDER -43
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.29
*****
再度、Firmwareを書き換えます。
一応、クリップの上ではなくなりましたが、ギリギリです。
再び「Configuration.h」を眺めます。
ん?782~784行目
*
// The size of the print bed
#define X_BED_SIZE 200
#define Y_BED_SIZE 192
*
「192」⇒「200」にします。
*
#define Y_BED_SIZE 200
*
ありました!
910~920行目
「GRID_MAX_POINTS_X 3」でG29デフォルトが3x3になってるんですね。
*****
#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 17
#define RIGHT_PROBE_BED_POSITION 195
#define FRONT_PROBE_BED_POSITION 2
#define BACK_PROBE_BED_POSITION 136
*****
2箇所変えます。
これは、ノズル座標系でのSensorピンの位置座標です。
*****
#define LEFT_PROBE_BED_POSITION 13
#define RIGHT_PROBE_BED_POSITION 195
#define FRONT_PROBE_BED_POSITION 7
#define BACK_PROBE_BED_POSITION 136
*****
ちなみに
195⇒200にすると
コンパイルエラーで怒られました。
「SanityCheck.h」の828行目のチェックしているようです。
書き込んで、再起動!
G28、G29で測定ポイントは、いい所に来ました!
*
// The size of the print bed
#define X_BED_SIZE 200
#define Y_BED_SIZE 192
*
「192」⇒「200」にします。
*
#define Y_BED_SIZE 200
*
ありました!
910~920行目
「GRID_MAX_POINTS_X 3」でG29デフォルトが3x3になってるんですね。
*****
#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 17
#define RIGHT_PROBE_BED_POSITION 195
#define FRONT_PROBE_BED_POSITION 2
#define BACK_PROBE_BED_POSITION 136
*****
2箇所変えます。
これは、ノズル座標系でのSensorピンの位置座標です。
*****
#define LEFT_PROBE_BED_POSITION 13
#define RIGHT_PROBE_BED_POSITION 195
#define FRONT_PROBE_BED_POSITION 7
#define BACK_PROBE_BED_POSITION 136
*****
ちなみに
195⇒200にすると
コンパイルエラーで怒られました。
「SanityCheck.h」の828行目のチェックしているようです。
書き込んで、再起動!
G28、G29で測定ポイントは、いい所に来ました!
「Configuration.h」でY軸の測定ポイントを探している時に
168行目と178行目に
*****
#define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 }
~
#define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 }
*****
これも半不良の3D Touch Sensorで何か起こりそうなので
両方共変更しておきます。
まあ、気分で「80」ではなく「85」にしています。
*****
#define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 85 }
~
#define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 85 }
変更箇所ではないですが、652~653行目には、これが!
やっぱしProbing中は、ヒーター電流の影響を受けないようにOFFしてたのです。
道理でG28やG29で誤動作しなかったわけです。
*****
#define PROBING_HEATERS_OFF // Turn heaters off when probing
#define PROBING_FANS_OFF // Turn fans off when probing
*****
*****
#define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 }
~
#define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 }
*****
これも半不良の3D Touch Sensorで何か起こりそうなので
両方共変更しておきます。
まあ、気分で「80」ではなく「85」にしています。
*****
#define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 85 }
~
#define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 85 }
変更箇所ではないですが、652~653行目には、これが!
やっぱしProbing中は、ヒーター電流の影響を受けないようにOFFしてたのです。
道理でG28やG29で誤動作しなかったわけです。
*****
#define PROBING_HEATERS_OFF // Turn heaters off when probing
#define PROBING_FANS_OFF // Turn fans off when probing
*****
それと
Marlin3DprinterToolのM48再現性テストが動作しなくなっていましたが、
725~726行目
M48 repeatability testはデフォルトでOFFでした。725~726行目
*****
// Enable the M48 repeatability test to test probe accuracy
//#define Z_MIN_PROBE_REPEATABILITY_TEST
*****
「//」を削除します。
*****
#define Z_MIN_PROBE_REPEATABILITY_TEST
*****
プリントはしていませんが
ひとまず、Ver.1.1.8は、動きました\(^o^)/
ここまで来たら Ver.1.1.9まで上げたいですね~
Geeetech I3 Pro B用の1.1.9は、転がってないので、他力本願できません(-_-;)
今度は、自力でやる必要があります。
先のVer.1.1.8のI3 Pro B用と見比べれば何とかなるでしょう!
と軽い気持ちで始めるも、また長くなってしまう羽目に(-_-;)
さて、Final VersionのVer.1.1.9は、2ヶ所にあります。
同じものだとは思うのですが~
この時、CNCのCandleでは、3種類あって苦労したので...
ここには、「thinkyhead released this
ファイル名「Marlin-1.1.9.zip」
もう一つのこちらも
同じく「thinkyhead Version 1.1.9」とあり
「The 1.1.x branch ... of Marlin 1.1 (final version 1.1.9 – August 2018)」
日付が新しいのですが~
ファイル名「Marlin-1.1.x.zip」
Ver.1.1.4の時と同じです。
何となくファイル名で判断して、最初の方にしてみます。
ちなみに、2つのどちらとも「Version.h」には、
「#define SHORT_BUILD_VERSION "1.1.9"」
の記述がありました。
「Source code(zip)」をクリックして
「Marlin-1.1.9.zip」をダウンロードします。
解凍すると「Marlin-1.1.9」フォルダができます。
日付が新しいのですが~
ファイル名「Marlin-1.1.x.zip」
Ver.1.1.4の時と同じです。
何となくファイル名で判断して、最初の方にしてみます。
ちなみに、2つのどちらとも「Version.h」には、
「#define SHORT_BUILD_VERSION "1.1.9"」
の記述がありました。
「Source code(zip)」をクリックして
「Marlin-1.1.9.zip」をダウンロードします。
解凍すると「Marlin-1.1.9」フォルダができます。
まずは、「Conditionals_LCD.h」の変更から
半不良の3D Touch Sensorの暫定対策です。
482行目を「90」⇒「80」
V.1.1.8のと見比べながら確認変更していきます。
*****
#define BLTOUCH_STOW 80
******
ここから先は、「Configuration.h」です。
これも半不良3D Touch Sensorへのオマジナイ。
意味するところは、わかっておりません。
180行目の「90」⇒「85」
#define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 85 }
190行目の「90」⇒「85」
#define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 85 }
779~781行目
ノズルとTouch Sensorの位置関係
*****
#define X_PROBE_OFFSET_FROM_EXTRUDER 10
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0
*****
⇒
*****
#define X_PROBE_OFFSET_FROM_EXTRUDER -4
#define Y_PROBE_OFFSET_FROM_EXTRUDER -43
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.85
******
Marlin3DprinterToolでのM48テストを有効にします。
*****
#define Z_MIN_PROBE_REPEATABILITY_TEST
*****
882~883行目は、そのままOK
*****
#define X_BED_SIZE 200
#define Y_BED_SIZE 200
*****
976~980行目、全部コメントアウトされているので
*****
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
*****
977行目の「//」を消して「LINEAR」を有効にします。
*****
//#define AUTO_BED_LEVELING_3POINT
#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
*****
783~784行目「//」消します。
*****
// Certain types of probes need to stay away from edges
#define MIN_PROBE_EDGE 10
*****
1026~1030行目、なぜか全部コメントアウト?
計算すると、LEFT:10、RIGHT:190、FRONT:10、BACK:190
になるけど、「//」外してそのままでやってみます。
*****
// Set the boundaries for probing (where the probe can reach).
//#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
//#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)
*****
この辺でArduino IDE 1.8.3でコンパイルするとエラーがでました。
「#define BLTOUCH」の所でした。
730と732行目の
*****
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375
*****
「//」を外します。
*****
#define BLTOUCH
#if ENABLED(BLTOUCH)
#define BLTOUCH_DELAY 375
*****
これで、Arduino IDE 1.8.3で書き込みまで成功しました。
が、3Dプリンタが起動しません
LCDは、この状態です(´-﹏-`;)
こりゃーもっと腰を落ち着けてやらないといけなさそうですね~
先に動いたVer.1.1.8のI3 Pro B with BL Touch版のConfiguration.hを
横に並べて、最初からじっくり見比べていきます。
この先、赤文字が変更前、青文字が変更後です。
87行目コメントアウトします。
//#define STRING_SPLASH_LINE2 WEBSITE_URL
134行目
#define MOTHERBOARD BOARD_RAMPS_14_EFB
⇒
#define MOTHERBOARD BOARD_GT2560_REV_A_PLUS
139行目
//#define CUSTOM_MACHINE_NAME "3D Printer"
⇒
#define CUSTOM_MACHINE_NAME "i3 Pro B"
152行目
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
⇒
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
318行目
#define TEMP_SENSOR_BED 0
⇒
#define TEMP_SENSOR_BED 1
343行目
#define HEATER_0_MINTEMP 5
⇒
#define HEATER_0_MINTEMP 10
348行目
#define BED_MINTEMP 5
⇒
#define BED_MINTEMP 10
611行目、ここは、マーティー機専用の値です。
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 }
⇒
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80.14, 80.44, 1602.89, 97.9 }
618行目
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
⇒
#define DEFAULT_MAX_FEEDRATE { 400, 400, 2, 45 }
626行目
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
⇒
#define DEFAULT_MAX_ACCELERATION { 4000, 4000, 40, 4000 }
636~638行目
#define DEFAULT_ACCELERATION 3000
#define DEFAULT_RETRACT_ACCELERATION 3000
#define DEFAULT_TRAVEL_ACCELERATION 3000
⇒
#define DEFAULT_ACCELERATION 1000
#define DEFAULT_RETRACT_ACCELERATION 2000
#define DEFAULT_TRAVEL_ACCELERATION 8000
648~651行目
#define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 5.0
⇒
#define DEFAULT_XJERK 5.0
#define DEFAULT_YJERK 5.0
#define DEFAULT_ZJERK 0.3
#define DEFAULT_EJERK 4.0
742~744行目
//#define PROBING_HEATERS_OFF
#if ENABLED(PROBING_HEATERS_OFF)
//#define WAIT_FOR_BED_HEATER
⇒
#define PROBING_HEATERS_OFF
#if ENABLED(PROBING_HEATERS_OFF)
#define WAIT_FOR_BED_HEATER
746~747行目
//#define PROBING_FANS_OFF
//#define DELAY_BEFORE_PROBING 200
⇒
#define PROBING_FANS_OFF
#define DELAY_BEFORE_PROBING 200
814行目
#define Z_CLEARANCE_DEPLOY_PROBE 10
⇒
#define Z_CLEARANCE_DEPLOY_PROBE 5
891行目
#define Z_MAX_POS 200
⇒
#define Z_MAX_POS 180
993行目
//#define DEBUG_LEVELING_FEATURE
⇒
#define DEBUG_LEVELING_FEATURE
1027~1030行目、Ver.1.1.8の時と同じ数値にします。
*****
#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)
*****
⇒
*****
#define LEFT_PROBE_BED_POSITION 13
#define RIGHT_PROBE_BED_POSITION 195
#define FRONT_PROBE_BED_POSITION 7
#define BACK_PROBE_BED_POSITION 136
*****
1226行目
//#define EEPROM_SETTINGS
⇒
#define EEPROM_SETTINGS
1429行目
//#define SDSUPPORT
⇒
#define SDSUPPORT
1518~1519行目
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2
//#define LCD_FEEDBACK_FREQUENCY_HZ 5000
⇒
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 0
#define LCD_FEEDBACK_FREQUENCY_HZ 0
1659行目(後で分かるに、コメントアウトのままでOK)
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
⇒
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
実は、「REPRAP_DISCOUNT_SMART_CONTROLLER」と
勘違いしていたのでした。後ろの方で訂正しています。
1917行目
//#define NUM_SERVOS 3
⇒
#define NUM_SERVOS 1
ここでコンパイル!
エラーだ~(T_T)
そう簡単には行きませんね~
見たことないエラーです。状況は悪化しているのだろうか?
もう夜遅く目がシバシバしてきたので寝ました。
*****
C:\Users\marty\AppData\Local\Temp\
arduino_build_577064\sketch\ultralcd_impl_DOGM.h:46:20: fatal error:
U8glib.h: No such file or directory
#include <U8glib.h>
compilation terminated.
exit status 1
ボードArduino/Genuino Mega or Mega 2560に対するコンパイル時にエラーが発生しました。
*****
翌朝、
エラーの内容をよ~く見ていると
...\ultralcd_impl_DOGM.h:46:20: fatal error...
「ultralcd」ってのが引っかかります。
LCDの辺りかな?
また、Ver.1.1.8と睨めっこです。
わかりました!
これを間違って下の方をdefineを有効にしていました。
正:「REPRAP_DISCOUNT_SMART_CONTROLLER」
誤:「REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER」
この辺りは、1.1.8と1.1.9で項目がだいぶ入れ替わっているので
目と頭が疲れていたし、勘違いしてしまってたのでした。
1659行目をコメントアウトに戻して
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
⇒
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
1532行目を有効にします。
//#define REPRAP_DISCOUNT_SMART_CONTROLLER
⇒
#define REPRAP_DISCOUNT_SMART_CONTROLLER
変なエラーは、でなくなりました。
まだ、エラーがでますが、簡単なやつです。
Ver.1.1.8では、OKだったのに、なぜかエラー
1028行目
#define RIGHT_PROBE_BED_POSITION 195
⇒
#define RIGHT_PROBE_BED_POSITION 190
ここも
1029行目
#define FRONT_PROBE_BED_POSITION 7
⇒
#define FRONT_PROBE_BED_POSITION 10
コンパイルOKになりました!
書き込みも完了!
再起動して
[G28]すると
えっあっうぉ~~
X軸が右に動いていき「ガ~~~~」(T_T)
まだ、設定の見落としがあるのか~
また、最初から睨めっこです(-_-;)
たぶん、「1/-1」とか「true/false」とかの見落としでしょう。
これだ! 動いていた1.1.8と同じにします。
851~853行目
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
⇒⇒⇒
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
858行目
これも危ないところだった。
念の為、動いていた1.1.4でも確認します。
#define INVERT_E0_DIR false
⇒
#define INVERT_E0_DIR true
先で「LINEAR」を有効にしていましたが、前回のその18やその19で
Marlin3DprinterToolでレベルを可視化したら妙な歪だったので
「BILINEAR」に変えることにします。
ここは、測定ポイント間の補間方式のことのようです。
977~978行目
#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
⇒
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR
これも見逃してた
1144行目
//#define Z_SAFE_HOMING
⇒
#define Z_SAFE_HOMING
再び、というかもう何度目かわかりませんが
コンパイルして書き込みます。
プリンタが再起動しました!
記念すべき、本日の日付を入れております。
Repetier-Host V.1.6.0からConnectすると
[Printer Information]は相変わらず寂しい。
これどこを変更したらいいか、見つけれなかったのです。
ログの方は、こんな感じ。
今気づいたのですが、G29の結果が保存されていて
RESET時に前回の結果が呼び出されるようです。
*****
~
Marlin 1.1.9_08102018
echo: Last Updated: 2018-08-01 | Author: (Marty, I3proB_A+_BL 1.1.9 08Oct2018)
echo:Compiled: Oct 8 2018
~~~
echo:Auto Bed Leveling:
echo: M420 S0 Z0.00
echo: G29 W I0 J0 Z-0.34085
echo: G29 W I1 J0 Z0.07902
echo: G29 W I2 J0 Z0.29425
echo: G29 W I0 J1 Z-0.36581
echo: G29 W I1 J1 Z-0.00833
echo: G29 W I2 J1 Z0.23748
echo: G29 W I0 J2 Z-0.30841
echo: G29 W I1 J2 Z0.08338
echo: G29 W I2 J2 Z0.26805
~~~
19:52:35.500 : FIRMWARE_NAME:Marlin 1.1.9_08102018 (Github) SOURCE_CODE_URL:https://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:i3 Pro B EXTRUDER_COUNT:1
~~~
*****
実は、この2つを変更しています。
「Configuration.h」
84行目
#define STRING_CONFIG_H_AUTHOR "(none, default config)"
⇒
#define STRING_CONFIG_H_AUTHOR "(Marty, I3proB_A+_BL 1.1.9 08Oct2018)"
「Version.h」
38行目
#define SHORT_BUILD_VERSION "1.1.9"
⇒
#define SHORT_BUILD_VERSION "1.1.9_08102018"
Repetier-Hostから[G29]すると
RESETしても、前のが残っています。
どうやら、M500でEEPROMへ保存する時に
最後に実施したG29データが保存されているようです。
後で確認するとVer.1.1.9からです。1.1.8ではでません。
3D Touch Sensorである「SERVO0_PIN」の設定は、
「pins_GT2560_REV_A_PLUS.h」の27~34行目。
そのままでOKでした。
*****
#define BOARD_NAME "GT2560 Rev.A+"
#include "pins_GT2560_REV_A.h"
#if ENABLED(BLTOUCH)
#define SERVO0_PIN 11
#else
#define SERVO0_PIN 32
*****
これで、Ver.2系がいつ来ても大丈夫です!
と思った矢先
この前導入したMarlin3DprinterToolの[Configure Bed]が動きません。
G28動作して、最初のポイントで止まります。
止まるというよりフリーズしていて、RESETしないと、別のコマンドを受付けません。
一旦、冒頭の「Marlin 1.1.8 with BL Touch for i3 Pro B - T8 Lead Screw」
に戻してみます。
Marlin3DprinterToolの[Configure Bed]動きますね~
たぶん、他のソースをイジらないといけなさそうなので
しばらくは、このVer.1.1.8を使うことにします(-_-;)
X軸が逆に動いてガガガ~をやった時にカプラー手回しで上げたので
最後にベッド調整します。
まずは、Marlin3DprinterToolでM48再現性テストです。
いい感じです。
50回やると、やっぱしこんなもんですね~
その19やった日は、上の数値に近いものばかりだったのですが
3D Touch Sensorは、日によってご機嫌を損ねるのです(´-﹏-`;)
*****
Bed X: 100.000 Y: 100.000 Z: -0.011
Mean: -0.007066 Min: -0.060 Max: 0.062 Range: 0.122
Standard Deviation: 0.024396
*****
最初に紙と手動でコーナーのボルトを調整して、3D Touch Sensorと
ここで導入したMarlin3DprinterToolのConfigure Bed機能で測定します。
1回目は、手動なので今一です。
Marlin3DprinterToolの指示に従ってボルトを回して
2回目。
3回目で全部チェックマークになりました!
Marlin3DprinterToolのScan Buildsurfaceで歪を可視化します。
各ポイント3回平均の5x5=25ポイント測定です。
前から
横から
前方上方から
上から
中央とコーナーは調整されていいのですが
特に両サイドは、コーナーからY軸中央に向かって急に凹んでいます。
これみてしまうと
3x3ではなく5x5で補正したくなります。
そういえば、Ver.1.1.8は、LINEARにしていました。
Ver.1.1.8の872~874行目
***
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR
***
Ver.1.1.9でMarlin3DprinterToolのConfigure Bed機能が動かなかったのは
BILINEARにいてたからかと思いましたが、関係ありませんでした。
Ver.1.1.8では、は動作するのです。
再度、確認
いいです。
どうも、しばらく電源OFFした後の最初は、いい結果が出る傾向があります。
ベッドレベルも動きます。
良好です。
やっぱ生のMarlinをI3 Pro B対応にするのは、
まだ、壁がありますね~
壁がどこにあるのか、わからないのが辛い所であります。
頻繁にFirmwareを書き換える度にこれを確認するので
ここにも置いておきます。
Marlineのソースは、コメントが丁寧に書いてあるので
途中で気になる機能も見つけました。
(Ver.1.1.8にも入っています)
特に気になったのが
・S-Curve Acceleration:カーブをベジェ曲線で補間して動くのかな?
・Bed Skew Compensation:XYZの直交性の歪みを補正
・Clean Nozzle Feature -- EXPERIMENTAL(実験中らしい)
特に「Bed Skew Compensation」は、
thingiverseのこれをプリントして辺と対角線の長さ計測して
X-Y、X-Z、Y-Zの直交性の歪みを補間する機能です。
その内、やってみたいですね~
X-Y用
X-Z、Y-Z用
X軸方向とY軸方向の2種類プリントするのだと思います。
やっぱ、基本のFirmwareを自分のマシンに合わせるのは
それなりの苦労がいりますね~
実は、その後、ベッド調整だけ1.1.8でやって、今は、1.1.9使っています。
Geeetechの3Dプリンタを使うことになってマーティさんのHPにたどり着きました。詳細な解析の解説に何度か助けられました。この場を借りてお礼申し上げます。
返信削除pimomochinさん
削除わざわざのお礼ありがとうございますm(_ _)m
ちょっと古くなってしまってますが
お役に立てたようで嬉しい限りです。