BDsensor-m-m のインストール
センサーケーブルをメインボードのEXP1ポートに接続する
- センサーのケーブル長が足りない場合は、付属の延長ケーブルをご使用ください。
- BDsensor-m-mのCKLおよびSDA線は、基板上の任意のGPIOピンに接続可能です。また、BDセンサーケーブルをBltouchポートに直接接続することもできます。例:
BLtouch | BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (入力)
GND --> GND
Zmin --> SDA (入力/出力)
-
メインボードコネクタの一部のピンは、MCUのGPIOに直接接続されていない場合があります(例えば、フィルタコンデンサが付いていたり、MOSFET、ダイオード、フォトカプラを介して絶縁されている場合があります。ただし、抵抗やプルアップ/プルダウン抵抗を介して絶縁されている場合は使用可能です)。そのため、それらはBDsensor-mと一緒に使用できず、ファームウェアは接続エラーを報告します。例:
-
ファンおよびヒーターのコネクタはMOSFETを介して絶縁されています。
-
一部の基板では、温度サーミスタおよびエンドストップ/プローブ用のコネクタは通常、フィルタコンデンサを介してGNDに接続されています。
-
下図のように、BDセンサーをホットエンド付近に取り付けます。マウントのSTL, STL_mount_VzBot_Goliath short
Loading...
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
-
プローブを使用した原点復帰
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の編集
BDセンサーのSDAとSCLのピンを設定するために、以下の3行をピンファイルpins_boardname.h(例: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クリアランス
LCDにBDセンサー値を表示する
- LCD12864やEnder3V2などの一部のUARTスクリーンなど、ステータス表示(gcode M117をサポート)を持つプリンターの場合...
キャリブレーション
-
ノズルを清掃し、コンソールで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の範囲内にあり、増加する値のデルタが>=10であれば、キャリブレーションは成功です。上記のグラフのように表示されます。
M102 S-5で返される最初の生のキャリブレーションデータが400より大きい場合、センサーが高すぎる位置に取り付けられていることを意味し、ベッドにより近い位置に再取り付けする必要があります。また、2番目のデータ値が最初のデータ値より10以上大きいことを確認してください。
テストと印刷
メニューのベッドレベル
自動ベッドレベル
自動ベッドレベル調整には2つの方法があります:
1. M102を使用した最初の数層のリアルタイムレベル調整
この自動レベル調整は、gcodeコマンドを送信するか、gcodeファイルにgcodeを追加することで簡単に有効化または無効化できます。
クーラでベッドレベル調整を有効化するには、プリンターマシン設定の「スタートGコード」セクションで、G102(全軸原点復帰)Gコードの直下にM28 Gコードを追加します。例えば、G28の下にM102 S2を追加すると、Z軸高さが0.2mm以下の場合にのみベッドレベル調整が行われます。
M102 S0を送信するか、G28の後にM18を追加すると、BDセンサーを使用したベッドレベル調整が無効化されます(デフォルトでは無効です)。
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を使用する方法です。G28の下にG29の行を追加するだけです。
Zエンドストップの確認M119
このステップを確認する前に、Z軸を原点復帰させないでください。そうしないと、ノズルがプリントベッドに衝突する可能性があります。
これはM119コマンド(エンドストップ状態の報告)を送信した後の返信メッセージです。
Send: M119
Recv: x:open y:open z:open
Z minがopenでない場合は、設定を確認してください。#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