2018年10月13日土曜日

3Dプリンタ その20(Firmware Update 1.1.8/1.1.9)

前々回(その18)のZ軸リードスクリューの2mmピッチへの交換と
前回(その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]出すと
これ、寂しいです。
Echoは、1.1.8になっています。
*****

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を書き換えます。
一応、クリップの上ではなくなりましたが、ギリギリです。

再び「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で測定ポイントは、いい所に来ました!

「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
*****

それと
Marlin3DprinterToolのM48再現性テストが動作しなくなっていましたが、
725~726行目
M48 repeatability testはデフォルトでOFFでした。
*****
// 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 on 31 Jul
ファイル名「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」フォルダができます。

まずは、「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
******

826行目「//」を消します
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使っています。

2 件のコメント:

  1. Geeetechの3Dプリンタを使うことになってマーティさんのHPにたどり着きました。詳細な解析の解説に何度か助けられました。この場を借りてお礼申し上げます。

    返信削除
    返信
    1. pimomochinさん
      わざわざのお礼ありがとうございますm(_ _)m
      ちょっと古くなってしまってますが
      お役に立てたようで嬉しい限りです。

      削除