インストール BDsensor
センサーケーブルをメインボードまたはCANバスヘッドボードに接続します。
- SB2040はBDsensorを使用できませんことに注意してください
- SHT36には、BDsensorのCLK/SCL(入力)を高電圧入力ポートに接続し、ジャンパを接続する必要があります
- BDbensorのCKLとSDA線は、回路基板の任意のGPIOピンに接続できます。また、BDセンサーケーブルをBltouchポートに直接接続することもできます。例えば:
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (入力)
GND --> GND
Zmin --> SDA (入出力)
-
メインボードコネクタの一部のピンは、MCUのgpiosに直接接続されていない可能性があります(例えば、それらはフィルタリングコンデンサやMOSFET、ダイオード、または光カプラで分離されている場合、またはレジスタまたはプルアップ/ダウンレジスタで分離されている場合)。そのため、それらはBDsensorと一緒に使用できません。ファームウェアは接続エラーを報告します。例えば
-
ファンとヒータのコネクタはMOSFETで分離されています。
-
一部の回路基板では、温度熱電対とエンドストップ/プローブのコネクタは通常、フィルタリングコンデンサでGNDに接続されています。
-
次の図のように、BDセンサーをホットエンドに近い位置に取り付けます。mount STL,STL_mount_VzBot_Goliath short
Klipperファームウェアにパッチを適用します
-
以前に変更したKlipperファイルを放棄して、Klipperを更新します。
cd
cd ~/klipper
git checkout .
git pull -
最新のBDセンサーパッチをクローンします。
cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
-
インストールします。
cd ~/Bed_Distance_sensor/klipper/
./install_BDsensor.sh -
ファームウェアをコンパイルします。
cd ~/klipper/
make menuconfig
make clean
make -
固件をBDセンサーが接続されたMCUまたはCANバスヘッドボードに書き込みます。
Moonrakerを使用している場合、以下の部分をmoonraker.confに追加します。これにより、ウェブページまたはKlippyScreenをクリックすることでBDセンサーを更新できます。
[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]
があることを確認します。 -
speed
を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.3mmから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 # 一距離値を読み取ります
接続の確認
-
コンソールに
M102 S-1
を送信します。これは返答メッセージの例です。返答が空白または他の文字列の場合、接続と配線順序を確認してください。Send: M102 S-1
Recv: V1.0 pandapi3d.com
カリブレーション
- ノズルを清掃し、コンソールを介してZ軸を移動し、ノズルがベッドプレートにちょうど触れるまで(BDセンサーはこの位置をゼロ位置として使用するため、
z_offset
は必要ありません。これが[BDsensor]
セクションで値が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を超えるようにしてください。
-
-
Z_tilt
とquad_gantry_level
を調整する前に、G28後にZ軸の高さを調整することを忘れないでください。 -
部分名は正しく大文字と小文字を区別する必要があります。そうでない場合、Klipperは
Unknown pin chip name 'probe'
というエラーメッセージを報告します。