メインコンテンツにスキップ

BDsensorのインストール

センサーケーブルをメインボードまたはCANバスツールヘッドボードに接続します。

  • SB2040ではBDsensorは使用できませんのでご注意ください。
  • SHT36では、BDsensorのCLK/SCL (Input)を高電圧入力ポートに接続し、ジャンパーを設定する必要があります。
  • BDsensorのCKL線とSDA線は、ボード上の任意のGPIOピンに接続できます。また、BDセンサーケーブルをBltouchポートに直接接続することも可能です。例:
BLtouch    |    BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (入力)
GND --> GND
Zmin --> SDA (入力/出力)
  • メインボードコネクタの一部のピンは、MCUのGPIOに直接接続されていない場合があります(例えば、フィルタコンデンサが付いていたり、MOSFET、ダイオード、フォトカプラを介して絶縁されている場合があります。ただし、抵抗やプルアップ/プルダウン抵抗を介した絶縁の場合は使用可能です)。そのため、それらはBDsensorと一緒に使用できず、ファームウェアは接続エラーを報告します。例:

  • ファンとヒーターのコネクタはMOSFETで絶縁されています。

  • 一部のボードでは、温度サーミスタやエンドストップ/プローブ用のコネクタは通常、フィルタコンデンサを介してGNDに接続されています。

  1. 下図のように、BDセンサーをホットエンド付近に取り付けます。マウントのSTL, STL_mount_VzBot_Goliath short

    Loading...

Marlinファームウェアへのパッチ適用

BDセンサーはMarlin2.1.x(2022.8.27以降)に統合されています。

リリース版をダウンロードできますが、現在は最新のバグ修正版をダウンロードすることをお勧めします:https://github.com/MarlinFirmware/Marlin

必要なのは、設定ファイルとピンファイルの変更です。

Configuration.hの編集

  1. 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

  2. プローブを使用した原点復帰

    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
  3. 2回目の原点復帰Z速度を遅くする

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    ここでは、バンプ原点復帰速度とZ原点復帰速度を遅くする必要があります。なぜなら、BDsensorプロセスから読み取られるストップは通常のストップのようにリアルタイムではないためです。

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クリアランス

液晶画面にBDセンサー値を表示

  • LCD12864やEnder3V2などの一部のUART画面など、ステータス表示(gcode M117をサポート)を持つプリンターの場合...

キャリブレーション

  1. ノズルを清掃し、コンソールでZ軸を移動させ、ノズルがベッドプレートにちょうど触れる位置にします(BDsensorはこの位置を0点として使用するため、z_offsetは不要で、値を0に設定します)。

  2. gcodeコマンドM102 S-6を送信します。プリンターはZ軸を0.1mmずつゆっくりと上昇させ、4mmに達するまで続けます。センサーを取り付ける前にM102 S-6を実行しないでください。また、キャリブレーション中にプリンターの電源を切らないでください。そうしないと、古いキャリブレーションデータが削除されます。そのような場合は、再度キャリブレーションを行ってください。

  3. M102 S-5を送信して、BDセンサーが正常にキャリブレーションされたか確認できます。これにより、BDセンサーに保存された生のキャリブレーションデータが返されます。

これを行うためのキャリブレーションツールもあります:https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip img

注意:データ値1015または>1010は、センサーの範囲外であることを示します。最初の5点(0~0.5mm)以上の値が0から1000の範囲内にあり、増加する値のデルタが>=10であれば、キャリブレーションは成功です。上記のグラフのように表示されます。

M102 S-5が返す最初の生のキャリブレーションデータが400より大きい場合、センサーが高すぎる位置に取り付けられていることを意味し、ベッドにより近い位置に再取り付けする必要があります。また、2番目のデータ値が最初のデータ値より10以上大きいことを確認してください。

テストと印刷

メニュー ベッドレベル調整

自動ベッドレベル調整

自動ベッドレベル調整には2つの方法があります:

1. M102を使用した最初の数層のリアルタイムレベル調整

この自動レベル調整は、gcodeコマンドを送信するか、gcodeファイルにgcodeを追加することで簡単に有効化または無効化できます。

Klipperでベッドレベル調整を有効にするには、プリンターマシン設定の「スタート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の行を追加するだけです。

インストールビデオ

Chris's Basementのインストールビデオ

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

上記のすべてのステップが正しければ、Z軸を原点復帰させることができます。

Loading...