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

BDsensor-mのインストール

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

  • センサーのケーブルが短い場合は、包装の中の延長線を使用してください。
  • BDsensor-mのCKLとSDA線は、基板の任意のGPIOピンに接続できます。また、BDセンサーケーブルを直接Bltouchポートに接続することもできます。例えば:
BLtouch    |    BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
  • 一部のピンがMCUのgpiosに直接接続されていない場合(例えば、フィルタコンデンサがあるか、MOSFET、ダイオード、オプトカプラを介して分離されているが、抵抗またはプルアップ/プルダウン抵抗を介して分離されている場合は使用できます)、それらはBDsensor-mと一緒に使用できません。そして、ファームウェアは接続エラーを報告します。例えば
  • ファンとヒーターのコネクタはMOSFETで分離されています。
  • 一部の基板では、温度サーミスタやリミットスイッチ/プローブ用のコネクタがGNDにフィルタコンデンサを介して接続されています。
  1. 下の図のように、BDセンサーをホットエンドに近い位置に取り付けます。 STL of mount, STL_mount_VzBot_Goliath short

パッチをklipperファームウェアにインストールする

  • ここに記載されていないことは行わないでください。

  • 以前に変更したklipperファイルを元に戻して、klipperを更新してください。

    cd
    cd ~/klipper
    git checkout .
    git pull
  • ユーザーディレクトリで、BDセンサーの最新コードをクローンするために以下のgitコマンドを実行してください。

    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に追加してください。そうすると、ウェブページや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)を無効に忘れないでください。BDセンサーをメインボードまたはツールヘッドのCANモジュールに接続できます。

  • [BDsensor]speedを0.8に変更してください。これはz傾斜とPROBE_ACCURACYコマンドにのみ適用されます。値が小さいほど、MCUがBDセンサーをホームポジションに戻す際に精度が高くなります。 [BDsensor]

  • Z軸をホームする際にBDセンサーをリミットスイッチとして使用する場合、[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, this value should be >=20 but must be below 50
    z_offset:0 # this `z_offset` must be set to 0.
    z_adjust:0.0 # z axis adjustment, replace the z_offset function. within -0.3 to 0.3mm
    x_offset: -34
    y_offset: 0
    #no_stop_probe:true # enable this for fast probe, the toolhead will not stop at the probe point.
    position_endstop: 0.8 # the Z axis will stop at this position (mm) while homing z, recommend value is 0.4~1.0
    #speed:0.8 # this speed only works for the z tilt and PROBE_ACCURACY command.

    [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軸を動かしてノズルがベッドに触れるまで動かします(BDsensor-mはこの位置をゼロ位置として使用するため、z_offsetは必要ありません。これが[BDsensor-m]セクションの値が0の理由です)
  • コンソールでgcodeコマンドM102 S-6を送信します。プリンタは毎回0.1mmずつZ軸を上に動かし、4mmに達するまで続けます。センサーの取り付け前にM102 S-6を実行しないでください。校正中にプリンタの電源を切らないでください。そうしないと古い校正データが削除されます。その場合は再び校正してください。
  • それから、M102 S-5を使ってBDセンサーが正しく校正されているか確認できます。これはBDセンサーに保存されている元の校正データを返します。

注意事項:

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

  • M102 S-5が返す最初の原始校正データが400以上の場合、センサーがベッドに近すぎることを意味し、より近い位置に再び取り付けが必要です。最初のデータの推奨値は100です。また、2番目のデータが1番目のデータより10以上大きいことを確認してください。

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

    • これは、0-0.1ミリメートル間の解像度が9であることを意味し、0.1-0.2ミリメートルの解像度は15です。したがって、最初の0-0.1ミリメートルの解像度が10以上になるように再び校正することをお勧めします。

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

  • 部品名の正確な大文字小文字を守らないと、klipperがUnknown pin chip name 'probe'と報告します。