BDsensor のインストール
センサーケーブルをメインボードまたはCANバスツールヘッドボードに接続します。
- SB2040はBDsensorを使用できないことにご注意ください
- SHT36はBDsensorのCLK/SCL (Input)を高圧入力ポートに接続し、ジャンパーを接続する必要があることにご注意ください
- BDsensorのCLKとSDA線は、回路基板の任意のGPIOピンに接続できます。BDセンサーケーブルをBltouchポートに直接接続することもできます。例:
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
-
メインボードのコネクタ内の一部のピンはMCUのGPIOに直接接続されていない場合があります(例えば、フィルタコンデンサが搭載されていたり、MOSFET、ダイオード、フォトカプラを介して絶縁されている場合がありますが、抵抗や抵抗プルアップ/プルダウンを介して絶縁されている場合は使用可能です)。そのため、これらはBDsensorと一緒に使用できません。また、ファームウェアが接続エラーを報告します。例:
-
ファンとヒーターのコネクタはMOSFETを介して絶縁されています
-
一部の回路基板では、温度サーミスタおよびリミット/プローブ用のコネクタは通常、フィルタコンデンサを介してGNDに接続されています
-
下図に示すように、BDセンサーをホットエンドに近い位置に取り付けます。 STL of mount, STL_mount_VzBot_Goliath short
Loading...
Marlinファームウェアへのパッチのインストール
BDセンサーはMarlin2.1.xに統合されています(2022.8.27以降)、
リリース版をダウンロードできます。ただし、最新のバグ修正版をダウンロードすることをお勧めします:https://github.com/MarlinFirmware/Marlin
必要なのは、設定ファイルとピンファイルの変更です。
Configuration.hの編集
-
BD_SENSORを有効にする
コメントを解除
#define BD_SENSOR#define Z_SAFE_HOMING#define BD_SENSOR_PROBE_NO_STOP //adding this new line for fast bed leveling without nozzle stop,BD_SENSOR_PROBE_NO_STOPのみ最新のMarlinバグ修正:https://github.com/MarlinFirmware/Marlin
-
プローブでホーミング
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PINが無効になっていることを確認し、以下のように
USE_PROBE_FOR_Z_HOMINGを有効にしてください//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN// Force the use of the probe for Z-axis homing#define USE_PROBE_FOR_Z_HOMING -
2回目のZホーミング速度を遅くする
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)ここでは、ホーミングのバンプ速度とZ軸ホーミング速度を遅くする必要があります。なぜなら、BDsensorから読み取られるリミット信号は、通常のリミットスイッチのようにリアルタイムではないからです。
Configuration_adv.hの編集
#define BABYSTEPPINGリアルタイムレベリング機能を実現するためにこの機能を有効にしてください#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
pins_boardname.hの編集
以下の3行を追加して、ピンファイルpins_boardname.h(例:pins_PANDA_PI_V29.h)でBDsensorのSDAピンとSCLピンを設定します:
#define I2C_BD_SDA_PIN PC6 // Please change to the actual number which the SDA wire is connected to your mainboard
#define I2C_BD_SCL_PIN PB2 // Please change to the actual number which the SLK wire is connected to your mainboard
#define I2C_BD_DELAY 20 // default value is 20, should be in the range [20,50].
通常のBLtouchのように印刷前に自動ベッドレベリングプローブ(G29)を行いたい場合は、コメントを解除してください
#define AUTO_BED_LEVELING_BILINEAR
そして以下のように値を編集してください
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes
液晶画面にBDセンサー値を表示する
- ステータス表示機能付きのプリンター(gcode M117対応)、例えばLCD12864や一部のUARTスクリーン(Ender3V2など)向けです...
キャリブレーション
-
ノズルを清掃し、その後コンソールでZ軸を移動させ、ノズルがベッドプレートにちょうど接触するまで調整します(BDsensorはこの位置を0点として使用するため、z_offsetは不要です。値を0に設定します)。
-
gcodeコマンド
M102 S-6を送信すると、プリンターはZ軸を0.1mmずつゆっくりと上昇させ、4mmに達するまで続けます。センサーを取り付ける前にM102 S-6を実行しないでください。また、キャリブレーション中にプリンターの電源を切らないでください。そうしないと、古いキャリブレーションデータが削除されます。そのような場合は、再度キャリブレーションを行ってください。 -
M102 S-5を送信して、BDセンサーが正常にキャリブレーションされたかどうかを確認できます。これにより、BDセンサーに保存されている生のキャリブレーションデータが返されます。
これを実現するためのキャリブレーションツールもあります:https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip
注意:データ値が1015または1010を超える場合、センサー範囲外であることを示します。最初の5点(0~0.5mm)以上の値が0から1000の範囲内にあり、増加値デルタが10以上であれば、キャリブレーションは成功です。上記に表示されているグラフのように。
M102 S-5が返す最初の生キャリブレーションデータが400より大きい場合、センサーが高すぎる位置に取り付けられていることを意味し、ベッドに近い位置に再取り付けする必要があります。また、2番目のデータが最初のデータ値より10以上大きいことを確認してください。
テストと印刷
メニュー:ベッドレベリング
自動ベッドレベリング
ベッドを自動調平する方法は2つあります:
1. M102を使用して最初の数層をリアルタイムで調平する
この自動調平機能は、Gコードコマンドを送信するか、GコードファイルにGコードを追加することで簡単に有効化または無効化できます。
Curaでベッドレベリングを有効にするには、プリンターのマシン設定の「開始Gコード」セクションにあるG28(全軸ホーミング)コードの直下にM102コードを追加してください。 例えば、G28の下にこのように記述すると、Z軸の高さが0.2mm以下の場合にのみベッドレベリングを行うことを意味します。M102 S2
M102 S0を送信するとBDセンサーのリアルタイム調平が無効になります(G28、M18でも無効になります)。ちなみに、この機能はデフォルトで無効になっています。
M102 S-1 //センサー情報を読み取ります。接続確認に使用できます。
M102 S-2 //現在の距離値を読み取ります
M102 S-5 //生のキャリブレーションデータを読み取ります
M102 S-6 //キャリブレーションを開始します。その前にノズルがベッドにちょうど接触していることを確認し、その後プリンターを再起動してください。この前にZ軸をホーミングしないでください。
M102 S4 //調整可能なZ高さの値を設定します。例: M102 S4 はZ高さが0.4mm以下の場合に調整を行うことを意味します。M102 S0で無効にできます。
2. G29によるベッド自動調平
もう一つの自動ベッドレベリング方法はBLtouchのG29と同じで、G28の下にG29の行を追加するだけです。
Zリミットスイッチの確認M119
この手順を確認する前に、Z軸をホーミングしないでください。ノズルがプリントベッドに衝突する可能性があります。
これはM119コマンド(リミットスイッチの状態を報告)を送信した後の返信メッセージです。
Send: M119
Recv: x:open y:open z:open
z minがトリガーされない場合は、設定を確認してください。#define Z_MIN_ENDSTOP_HIT_STATE HIGH
- Zモーターがオフ/ロック解除されていることを確認してください
- ノズルがベッドに接触するまで手でZ軸を下に移動させてください
M102 S-2を送信し、戻り値が0.00mmであることを確認してから、再度M119を送信すると、zリミットスイッチがトリガーされていることが確認できます。
Send: M119
Recv: x:open y:open z:TRIGGERED
接続の確認
M102 S-1で接続を確認します。これは返信メッセージの例です。空白や他の文字列が返された場合は、接続と配線順序を確認してください。
Send: M102 S-1
Recv: V1.0 pandapi3d.com