メインコンテンツまでスキップ

インストール BDsensor

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

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

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

  • 一部の回路基板では、温度熱電対とエンドストップ/プローブのコネクタは通常、フィルタリングコンデンサでGNDに接続されています。

  1. 次の図のように、BDセンサーをホットエンドに近い位置に取り付けます。mount STLSTL_mount_VzBot_Goliath short

Klipperファームウェアにパッチを適用します

  • 以前に変更したKlipperファイルを放棄して、Klipperを更新します。

    cd
    cd ~/klipper
    git checkout .
    git pull
  • 最新のBDセンサーパッチをクローンします。

    cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • インストールします。

    cd  ~/Bed_Distance_sensor/klipper/
    ./install_BDsensor.sh
  • ファームウェアをコンパイルします。

    cd ~/klipper/
    make menuconfig
    make clean
    make
  • 固件をBDセンサーが接続されたMCUまたはCANバスヘッドボードに書き込みます。

Moonrakerを使用している場合、以下の部分をmoonraker.confに追加します。これにより、ウェブページまたはKlippyScreenをクリックすることでBDセンサーを更新できます。

[update_manager BDsensor]
type: git_repo
primary_branch: new
channel: dev
path: ~/Bed_Distance_sensor
origin: https://github.com/markniu/Bed_Distance_sensor.git
install_script: ./klipper/install_BDsensor.sh
is_system_service: False
managed_services: klipper
info_tags:
desc=Bed Distance Sensor

printer.cfgを編集します

  • 以下の部分をprinter.cfgにコピーし、[BDsensor]sda_pinscl_pinを編集します。また、他のプローブ部分(例:BLtouch)を無効にすることを忘れないでください。メインボードまたはツールヘッドCANモジュール上のBDセンサーを接続することができます。

  • [BDsensor]speedを0.8に変更します。これはz傾斜とPROBE_ACCURACYコマンドでのみ有効です。値が小さいほど、プローブ時の精度が高くなります。MCUはBDセンサーを通常のストッパーとは異なり、ホーム時に主回路からリアルタイムで読み取らないためです。 [BDsensor]

  • BDセンサーをZ軸のホーム位置として使用するには、[stepper_z]endstop_pinendstop_pin: probe:z_virtual_endstopに変更します。

  • printer.cfg[safe_z_home]があることを確認します。

  • speedを1(推奨値は0.7〜1.0mm)に変更します。Klipperのデフォルト値は5mmですが、これではセンサーの範囲を超える可能性があります。

  • ノズルの高さはz_adjust:設定のみに適しています。正数はホットベッドに近づけ、負数は離れさせます。他のノズルの高さ調整設定はバグがあります。

  • no_stop_probe:trueの前の#を削除して、高速プローブを有効にします。この場合、ツールヘッドはプローブポイントで停止しません。

  • 以下の設定例を参照してください。

    [BDsensor] 
    scl_pin:PC6 # サーボ信号ポート
    sda_pin:PC3 # 限界信号ポート
    delay: 20 # 20us per pulse, この値は>=20でなければなりませんが、50未満でなければなりません
    z_offset:0 # この`z_offset`は0に設定する必要があります。
    z_adjust:0.0 # z軸調整、z_offset関数の代替。-0.3mmから0.3mmの間
    x_offset: -34
    y_offset: 0
    #no_stop_probe:true # これを有効にすると高速プローブが可能になります。ツールヘッドはプローブポイントで停止しません。
    position_endstop: 0.8 # ホーム中のZ軸はこの位置(mm)で停止します(推奨値は0.41.0
    #speed:0.8 # この速度はz傾斜とPROBE_ACCURACYコマンドでのみ有効です。

    [stepper_z]
    endstop_pin: probe:z_virtual_endstop
    #position_endstop: 0.5
    homing_speed: 5
    second_homing_speed: 0.8

    [bed_mesh]
    speed: 200
    horizontal_move_z:1
    algorithm: bicubic

    [quad_gantry_level]
    horizontal_move_z:1

インストール後、以下のgcodeコマンドを送信してチェックします。

M102   S-1     # センサー情報を読み取ります
M102 S-2 # 一距離値を読み取ります

接続の確認

  • コンソールM102 S-1を送信します。これは返答メッセージの例です。返答が空白または他の文字列の場合、接続と配線順序を確認してください。

    Send: M102 S-1
    Recv: V1.0 pandapi3d.com

カリブレーション

  • ノズルを清掃し、コンソールを介してZ軸を移動し、ノズルがベッドプレートにちょうど触れるまで(BDセンサーはこの位置をゼロ位置として使用するため、z_offsetは必要ありません。これが[BDsensor]セクションで値が0である理由です)。
  • コンソールにgcodeコマンドM102 S-6を送信します。プリンターはZ軸を0.1mmずつゆっくりと上昇させ、最大で4mmまで上昇します。センサーをインストールする前にM102 S-6を実行しないでください。また、校正中にプリンターの電源を切らないでください。それによって古い校正データが消去される可能性があります。そのような場合、再度校正を行う必要があります。
  • その後、M102 S-5を送信してBDセンサーが正常に校正されたかどうかを確認できます。これにより、BDセンサーに保存されている元の校正データが返されます。

注意事項:

  • Z軸のホーム速度は5が最適です。

  • M102 S-5が返す最初の原始的な校正データが400を超える場合、それはセンサーが床から遠くに設置されていることを意味します。再設置が必要で、推奨値は100です。また、2番目のデータの値が最初のデータの値より10以上大きいことを確認してください。

    • FAQ: 校正データが1で始まり、2番目の値が9、3番目の値が24の場合、これは何を意味しますか?

    • これは0-0.1mmの解像度が9で、0.1-0.2mmの解像度が15であることを意味します。したがって、再度校正することをお勧めします。最初の0-0.1mmの解像度が10を超えるようにしてください。

  • Z_tiltquad_gantry_levelを調整する前に、G28後にZ軸の高さを調整することを忘れないでください。

  • 部分名は正しく大文字と小文字を区別する必要があります。そうでない場合、KlipperはUnknown pin chip name 'probe'というエラーメッセージを報告します。