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

BDsensor-mのインストール

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

  • センサーのケーブル長が足りない場合は、付属の延長ケーブルを使用できます。
  • BDsensor-mのCKL線とSDA線は、ボード上の任意のGPIOピンに接続できます。また、BDセンサーケーブルをBltouchポートに直接接続することもできます。例:
BLtouch    |    BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (入力)
GND --> GND
Zmin --> SDA (入力/出力)
  • メインボードコネクタの一部のピンは、MCUのGPIOに直接接続されていない場合があります(例えば、フィルタコンデンサが付いていたり、MOSFET、ダイオード、フォトカプラを介して絶縁されている場合があります。ただし、抵抗やプルアップ/プルダウン抵抗を介して絶縁されている場合は使用可能です)。そのため、それらはBDsensor-mと一緒に使用できず、ファームウェアは接続エラーを報告します。例:
  • ファンとヒーターのコネクタはMOSFETで絶縁されています。
  • 一部のボードでは、温度サーミスタやエンドストップ/プローブ用のコネクタは通常、フィルタコンデンサを介してGNDに接続されています。
  1. 下図のように、BDセンサーをホットエンドの近くに取り付けます。マウントのSTL, STL_mount_VzBot_Goliath short

    Loading...

パッチを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に追加してください。これにより、Webページや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_pinscl_pinを編集してください。また、BLtouchなどの他のプローブセクションを無効にすることを忘れないでください。BDセンサーはメインボードまたはツールヘッドCANモジュールに接続できます。

  • [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]horizontal_move_zの値を1に変更してください(推奨は0.7-1.0mm)。klipperのデフォルト値は5mmであり、センサーの範囲を超える可能性があります。

  • ノズルの高さはz_adjust:でのみ調整してください。正の値はベッドに近づき、負の値はベッドから離れます。他のノズル高さ調整設定にはバグがあります。

  • 高速ベッドスキャンを有効にするには、no_stop_probe:trueの前の#を削除してください。

  • 以下は設定例です。

    [BDsensor]
    scl_pin:PC6 # サーボ信号ポート
    sda_pin:PC3 # リミット信号ポート
    delay: 20 # パルスあたり20us、この値は>=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 # Z軸原点復帰時にこの位置(mm)で停止します。推奨値は0.4〜1.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 # 距離値を1つ読み取る

接続を確認する

  • コンソールから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を実行しないでください。また、キャリブレーション中にプリンターの電源を切らないでください。そうしないと、古いキャリブレーションデータが削除されます。その場合は、再度キャリブレーションを行ってください。
  • その後、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以上になるように再度キャリブレーションすることをお勧めします。

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

  • セクション名の大文字と小文字は正しく記述する必要があります。そうしないと、klipperがUnknown pin chip name 'probe'と報告します。

Loading...