インストール 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に接続されています。
-
以下の図のように、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_pin
をendstop_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.4〜1.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_tilt
とquad_gantry_level
でZ軸の高さを調整する際には、忘れないでください -
名称の正しい大文字と小文字を使用する必要があります。そうでない場合、klipperは
Unknown pin chip name 'probe'
を報告します