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

BDsensorのインストール

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

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

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

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

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

    Loading...

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

BDセンサーはMarlin 2.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の編集

以下の3行を追加して、ピンファイル pins_boardname.h (例: pins_PANDA_PI_V29.h) にBDsensorのSDAとSCLのピンを設定します。

#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センサー値の表示

  • ステータス表示(gcode M117をサポート)を備えたプリンター(LCD12864や一部のuartスクリーン(ender3V2など))向け。

キャリブレーション

  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を追加することで、この自動レベリングを簡単に有効または無効にできます。

Curaでベッドレベリングを有効にするには、プリンターマシン設定の「起動Gコード」セクションで、G28(すべての軸をホーム)Gコードの直下にM102 S4 Gコードを追加します。例えば、G28の下に追加すると、Z軸高さ0.2mm以下の場合にのみベッドレベリングが行われます。M102 S2

送信するか、を使用してBDセンサーによるベッドレベリングを無効にします。ちなみに、デフォルトでは無効です。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のように、G28の下にG29の行を追加することです。

インストールビデオ

Chris's Basementによるインストールビデオ

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

上記の手順がすべて正しければ、Z軸をホームできるようになりました。

Loading...