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のGPIOに直接接続されていない可能性があります(たとえば、フィルタコンデンサやMOSFET、ダイオード、または光結合器で分離されている場合があります。ただし、抵抗または抵抗によるプルアップ/プルダウンで分離されている場合も含まれます)。このため、BDsensor-mとの使用はできません。また、ファームウェアは接続エラーを報告します。たとえば:
-
ファンおよびヒーターのコネクタはMOSFETで絶縁されています。
-
一部の基板では、温度センサー用のサーミスタおよび端子ストッパー/プローブのコネクタが通常フィルタコンデンサを通してGNDに接続されています。
-
下図のように、BDセンサーをホットエンドに近い位置に取り付けてください。 STL of mount, STL_mount_VzBot_Goliath short
Marlinファームウェアへのパッチのインストール
BDセンサーはMarlin2.1.x(2022年8月27日以降)に統合されています。
リリースバージョンをダウンロードできますが、現在は最新のバグ修正バージョンをダウンロードすることをお勧めします:https://github.com/MarlinFirmware/Marlin
設定ファイルとピンファイルを変更する必要があります。
Configuration.hの編集
- BD_SENSORを有効にします。
コメントを解除してください:
#define BD_SENSOR
#define Z_SAFE_HOMING
#define BD_SENSOR_PROBE_NO_STOP //高速ベッドレベリングをノズル停止なしで行うために追加する新しい行
BD_SENSOR_PROBE_NO_STOP
のみ。
最新のMarlin修正:https://github.com/MarlinFirmware/Marlin
説明:https://github.com/MarlinFirmware/Marlin/pull/25847
- プローブを使用してホーム復帰
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PINが無効になっていることを確認し、次のようにUSE_PROBE_FOR_Z_HOMING
を有効にする必要があります。
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// Z軸ホーム復帰にプローブの使用を強制
#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 } // 突進速度除数(ホーム復帰フィードレートを除算)
pins_boardname.hの編集
以下の3行を追加して、pins_boardname.hファイル内でBDsensor-mのSDAおよびSCLピンを設定します(例:pins_PANDA_PI_V29.h
)。
#define I2C_BD_SDA_PIN PC6 // SDA線がマザーボードに接続されている実際の番号に変更してください
#define I2C_BD_SCL_PIN PB2 // SLK線がマザーボードに接続されている実際の番号に変更してください
#define I2C_BD_DELAY 20 // デフォルト値は20です。範囲[20,50]内にあります。
通常のBLtouchのように印刷前に自動ベッドレベリングプローブ(G29)を行う場合は、コメントを解除してください。
#define AUTO_BED_LEVELING_BILINEAR
以下の値を編集してください。
#define Z_CLEARANCE_DEPLOY_PROBE 0 // プローブ展開/格納時のZクリアランス
#define Z_CLEARANCE_BETWEEN_PROBES 1 // プローブポイント間のZクリアランス
#define Z_CLEARANCE_MULTI_PROBE 1 // 複数プローブ間のZクリアランス
液晶画面にBDセンサー値を表示
- LCD12864やender3V2などのUART画面などのステータス表示をサポートするプリンターの場合(GコードM117をサポート)。
キャリブレーション
-
ノズルを清掃し、Z軸を手動で移動させてノズルがベッドに接触するまで下げます(BDsensor-mはこの位置を0点として使用するため、z_offsetは必要ありません。値を0に設定してください)。
-
Gコードコマンド
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を使用して最初の数層をリアルタイムでレベリング
Gコードコマンドを送信するか、GコードファイルにGコードを追加することで簡単にこの自動レベル機能を有効または無効にできます。
Kuraでベッドレベリングを有効にするには、「スタートGコード」セクションのプリンターマシン設定内でG102(すべての軸をホーム復帰)のGコードの直後にM28 Gコードを追加してください。たとえば、G28の後に追加します。これは、Z軸高さ0.2mm以下でのみベッドレベリングを行うことを意味します。M102 S2
送信またはG28の後にBDセンサーを使用してベッドレベリングを無効化するにはM102 S0
、デフォルトでは無効になっています。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を使用して自動ベッドレベリング
もう1つのベッド自動レベリング方法は、BLtouchのG29と同じで、G29の下にG28を1行追加するだけです。
Zエンドストップの確認M119
このステップを確認する前にZ軸のホーム復帰を行わないでください。そうするとノズルが印刷ベッドに接触する可能性があります。
これはM119コマンドを送信した後の戻り値メッセージです(エンドストップの状態を報告します)。
送信: M119
受信: x:open y:open z:open
z minが開いていない場合は、設定を確認してください。#define Z_MAX_ENDSTOP_HIT_STATE HIGH
-
Zモーターがオフ/アンロックされていることを確認してください
-
手動でZ軸を下げてノズルがベッドに接触するまで移動してください
-
M102 S-2
を送信し、戻り値は0.00mmになるはずで、再度M119を送信するとzエンドストップがトリガーされていることがわかります。送信: M119
受信: x:open y:open z:TRIGGERED
接続の確認
M102 S-1
を使用して接続を確認します。これは戻り値メッセージの例です。接続と配線順序が空白または他の文字列を返していないか確認してください。
送信: M102 S-1
受信: V1.0 pandapi3d.com