インストール 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に接続されています、
-
下図のように、BDセンサーをホットエンドの近くに取り付けます。 マウントのSTL, STL_mount_VzBot_Goliath ショート
Loading...
パッチをKlipperファームウェアにインストールします
-
チュートリアルに記載されていないことは行わないでください
-
以前に変更したklipperファイルを破棄し、Klipperを更新します
cdcd ~/klippergit 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などの他のプローブセクションを無効にすることを忘れないでください。マザーボードまたはツールヘッドCANモジュール上のBDセンサーを接続できます。 -
[BDsensor]内でspeedを0.8に変更します。これはz tiltと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]の値を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.3mmx_offset: -34y_offset: 0#no_stop_probe:true # 高速プローブ用に有効にします。ツールヘッドはプローブポイントで停止しません。position_endstop: 0.8 # 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.5homing_speed: 5second_homing_speed: 0.8[bed_mesh]speed: 200horizontal_move_z:1algorithm: bicubic[quad_gantry_level]horizontal_move_z:1
インストール後、以下のgcodeコマンドを送信して確認してください
M102 S-1 # センサー情報を読み取る
M102 S-2 # 距離値を読み取る
接続を確認します
-
コンソールから
M102 S-1を送信します。これは戻りメッセージの例です。空白や他の文字列が返される場合は、接続と配線の順序を確認してくださいSend: M102 S-1Recv: 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_tiltやquad_gantry_levelコマンドの後にZ軸の高さを調整することを忘れないでください -
セクション名は大文字と小文字を正しく記述する必要があります。そうしないと、Klipperは
Unknown pin chip name 'probe'と報告します