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

インストール BDsensor-m

センサーケーブルをマザーボードのEXP1インターフェースに接続する

  • センサーのケーブルが足りない場合は、パッケージに含まれるディレイラインを使用できます

  • BDsensor-mのCLKとSDA線は、任意のGPIOピンに接続できます。あなたはBDセンサーケーブルをBltouchポートに直接接続することもできます。例えば:

    BLtouch    |    BDsensor-m
    5V --> 5V
    GND --> GND
    S --> CLK/SCL (入力)
    GND --> GND
    Zmin --> SDA (入出力)
  • マザーボードのコネクタ内の一部のピンは、直接MCUのgpiosに接続されていない可能性があります(例えば、それらはフィルタリングコンデンサやMOSFET、ダイオードまたは光カプラで分離されている場合、または抵抗またはプルアップ/ダウン抵抗で分離されている場合)。これらのピンはBDsensor-mと一緒に使用できません。そしてファームウェアは接続エラーを報告します。例えば

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

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

  1. 以下の図のように、BDセンサーを熱エンドの近くに取り付けます。 mount STL, STL_mount_VzBot_Goliath short

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

  • チュートリアルには記載されていないものは行わないでください

  • 以前に変更したKlipperファイルを放棄し、Klipperを更新してください

    cd
    cd ~/klipper
    git checkout .
    git pull
  • ユーザーディレクトリで以下のgitコマンドを実行して、BDセンサーの最新コードをクローンします

    cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • その後、以下のコマンドを実行してインストールします

    cd  ~/Bed_Distance_sensor/klipper/
    ./install_BDsensor.sh

このファームウェアのビルドが上下位機器のファームウェアが一致していないというメッセージを表示した場合のみ新しいKlipperファームウェアをビルドします

  • ファームウェアのビルドは自分自身のファームウェアのビルドチュートリアルに従ってビルドしてください

  • ファームウェアのビルド

    cd ~/klipper/  # Klipperディレクトリに移動
    make menuconfig # Klipperビルドインタフェースコマンド
    make clean # クリアコマンド
    make # ビルドコマンド
  • 固件をBDセンサーが接続されたマザーボードに焼く

Moonrakerを使用している場合は、moonraker.confに次のセクションを追加し、MoonrakerのウェブページまたはKlipperscreenからクリックするだけでBDsensorを更新できます。

[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_pin scl_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]があることを確認してください

  • [bed_mesh]と[z_tilt]または[quad_gantry_level]の[quad_gantry_level]値を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.3から0.3mmの間
    x_offset: -34
    y_offset: 0
    #no_stop_probe:true # これを有効にすると高速プローブが可能になります。ツールヘッドはプローブポイントで停止しません。
    position_endstop: 0.8 # homing z時にZ軸がこの位置(mm)で停止します(推奨値は0.41.0
    #speed:0.8 # この速度はz tiltと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

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

M102   S-1     # センサー情報を読み取る
M102 S-2 # 一つの距離値を読み取る

接続の確認

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

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

カリブレーション

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

  • G28を実行した後やこれらのコマンド Z_tiltquad_gantry_levelでZ軸の高さを調整する際には、忘れないでください

  • 名称の正しい大文字と小文字を使用する必要があります。そうでない場合、klipperはUnknown pin chip name 'probe'を報告します