インストール BDsensor-m-m
センサーケーブルをメインボードのEXP1ポートに接続する
-
もしセンサーのケーブルが短い場合は、パッケージに付属のデレイラインを使用できます。
-
BDsensor-m-mのCLKとSDA線は、回路基板の任意のGPIOピンに接続できます。また、BDセンサーリングをBlTouchポートに直接接続することもできます。例えば:
BLtouch | BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output) -
マザーボードのコネクタの一部のピンは、直接MCUのgpiosに接続されていない可能性があります(例えば、それらにはフィルタリングコンデンサやMOSFET、ダイオード、またはフォトカプラで絶縁されている場合もあります。ただし、抵抗または抵抗プルアップ/ダウンで絶縁されている場合でも)、これらはBDsensor-mと一緒に使用できません。ファームウェアは接続エラーを報告します。例えば
-
ファンとヒータのコネクタはMOSFETで絶縁されています。
-
一部の回路基板では、温度ヒータ抵抗とエンドストップ/プローブ用のコネクタは通常、GNDにフィルタリングコンデンサを通じて接続されています。
-
以下の図のように、BDセンサーをホットエンドの近くに取り付けます。mount STL, STL_mount_VzBot_Goliath short
Marlinファームウェアにパッチを適用する
BDセンサーはMarlin2.1.x(2022.8.27以降)に統合されています。
リリースバージョンをダウンロードすることができます。しかし、現在は最新のバグ修正版を推奨します:https://github.com/MarlinFirmware/Marlin
必要なのは、設定ファイルとピンファイルを変更することです。
設定.hの編集
-
BD_SENSORの有効化
コメントアウト解除
#define BD_SENSOR`
#define Z_SAFE_HOMING
#define BD_SENSOR_PROBE_NO_STOP //adding this new line for fast bed leveling without nozzle stop,これは
BD_SENSOR_PROBE_NO_STOP
のみ最新のMarlinバグ修正版:https://github.com/MarlinFirmware/Marlin
-
プローブによるホームの有効化
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PINが無効になっていることを確認し、次のように
USE_PROBE_FOR_Z_HOMING
を有効にする必要があります//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// Force the use of the probe for Z-axis homing
#define USE_PROBE_FOR_Z_HOMING -
2番目のホームZ速度の減速
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)
ここで、BDsensor-mプロセスから読み取るストッパーが通常のストッパーのようにリアルタイムではないため、ブロックホーム速度とZホーム速度を減速する必要があります。
Configuration_adv.hの編集
#define BABYSTEPPING
この機能を有効にしてリアルタイムレベル機能を実現する#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
pins_boardname.hの編集
引脚ファイル pins_boardname.h にBDsensor-mのSDAとSCLのピンを設定するには、次の3行を追加します(例:pins_PANDA_PI_V29.h
)
#define I2C_BD_SDA_PIN PC6 // Please change to the actual number which the SDA wire is connected to your mainboard
#define I2C_BD_SCL_PIN PB2 // Please change to the actual number which the SLK wire is connected to your mainboard
#define I2C_BD_DELAY 20 // default value is 20, should be in the range [20,50].
もし通常のBLtouchと同じようにプリント前に自動ベッドレベル探査(G29)を行う場合は、コメントアウト解除します
#define AUTO_BED_LEVELING_BILINEAR
そして、以下の値を編集します
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes
LCDスクリーンにBDセンサー値を表示する
- プリンターにステータスディスプレイ(gcode M117をサポートしているもの)、例えばLCD12864や一部のuartスクリーン、例えばender3V2などがある場合。
カリブレーション
-
ノズルを清掃し、コンソールでZ軸を移動してノズルがベッドプレートにちょうど触れると(BDsensor-mはこの位置を0点として使用するため、z_offsetは必要ありません。その値を0に設定します)。
-
gcodeコマンド
M102 S-6
を送信し、プリンターは各回Z軸を0.1mmゆっくりと上昇させ、4mmまで達するまで続けます。センサーをインストールする前にM102 S-6を実行しないでください。また、校正中にプリンターの電源を切らないでください。そうすると古い校正データが削除されます。そのような場合には再校正するだけです。 -
M102 S-5
を送信してBDセンサーが正しく校正されたかどうかを確認できます。これにより、BDセンサーに保存されている原始的な校正データが返されます。
これを行うことができる校正ツールもあります:https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip
注意:データ値1015または>1010はセンサーの範囲を超えたことを示します。最初の5ポイント(0〜0.5mm)またはそれ以上の値が0〜1000の範囲内にあり、増分値deltaが>=10であれば、校正は成功したと見なされます。上の図のように表示されます。
M102 S-5が最初に返す原始的な校正データが400より大きい場合、それはセンサーがベッドから高すぎることを意味し、もう一度ベッドに近い位置に再インストールする必要があります。また、2番目のデータが最初のデータ値よりも10以上大きいことも確認してください。
テストと印刷
メニュー ベッド
自動ベッド
ベッドの自動レベル化には2つの方法があります:
1.M102を使用して最初の数層をリアルタイムでレベル化する
この自動レベルはgcodeコマンドを送信したり、gcodeファイルにgcodeを追加したりすることで簡単に有効化または無効化できます。
Kuraでベッドのレベルを有効にするには、G102(全軸ホーム)Gコードのすぐ下にM28 Gコードを「スタートGコード」セクションに追加します。例えば、G28の直下の場合、これはZ軸の高さが0.2mm以下の時にベッドのレベルを行います。M102 S2
BDセンサーを使用してベッドレベルを無効にするためにM102 S0を送信します。また、デフォルトでは無効になっています。M102 S0``G28``M18
M102 S-1 //センサー情報の読み取り、接続チェックに使用できます。
M102 S-2 //現在の距離値の読み取り
M102 S-5 //原始的な校正データの読み取り
M102 S-6 //校正を開始する前に、ノズルがベッドにちょうど触れ、その後プリンターを再起動します。Z軸をホームする前にこれを行わないでください。
M102 S4 //調整可能なZ高さ値を設定します。例:M102 S4 はZ高さ<=0.4mmの時に調整を行い、M102 S0で無効にします。
2.G29を使用して自動ベッドレベル化
別の自動ベッドレベル化の方法は、BLtouchのG29と同じように、G29の直下に一行を追加するだけです。
ZエンドストップのチェックM119
このステップをチェックする前に、Zをホームしないでください。それによってノズルが印刷中のベッドを引っ掻く可能性があります。
これはM119コマンド(終端ストップ状態の報告)を送信した後の返信メッセージです。
Send: M119
Recv: x:open y:open z:open
z minが開いていない場合、設定を確認してください。#define Z_MAX_ENDSTOP_HIT_STATE HIGH
- Zモーターをオフ/アンロックにしてください
- Z軸を手で下げ、ノズルがベッドに閉じるようにしてください
M102 S-2
を送信し、返信値が0.00mmであることを確認してください。その後、再度M119を送信すると、Zエンドストップがトリガーされたことがわかります。
Send: M119
Recv: x:open y:open z:TRIGGERED
接続の確認
M102 S-1
を使用して接続を確認します。これは返信メッセージの例です。接続とワイヤーの順序が空白や他の文字列を返さないように確認してください。
Send: M102 S-1
Recv: V1.0 pandapi3d.com