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 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 // ノズルストップなしの高速ベッドレベリングのためにこの新しい行を追加します。BD_SENSOR_PROBE_NO_STOPのみ最新のマーリンバグフィックス: 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// Z軸ホーミングにプローブの使用を強制する#define USE_PROBE_FOR_Z_HOMING -
2回目のホーミングZ速度を遅くする
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)ここでは、バンプホーミング速度とZホーミング速度を遅くする必要があります。これは、BDsensor-mプロセスから読み取られるストッパーが通常のストッパーのようにリアルタイムではないためです。
Configuration_adv.h を編集する
#define BABYSTEPPINGリアルタイムレベリング機能を有効にするには、これを有効にします。#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // 再バンプ速度除数(ホーミング送り速度を分割します)
pins_boardname.h を編集する
以下の3行を追加して、ピンファイル pins_boardname.h で BDsensor-m の SDA と SCL のピンを設定します (例: pins_PANDA_PI_V29.h):
#define I2C_BD_SDA_PIN PC6 // SDA線がマザーボードに接続されている実際の番号に変更してください
#define I2C_BD_SCL_PIN PB2 // SLK線がマザーボードに接続されている実際の番号に変更してください
#define I2C_BD_DELAY 20 // デフォルト値は20、範囲は[20,50]です。
通常のBLtouchのように印刷前に自動ベッドレベリングプローブ(G29)を行う場合は、コメントを解除します。
#define AUTO_BED_LEVELING_BILINEAR
そして、以下のように値を編集します。
#define Z_CLEARANCE_DEPLOY_PROBE 0 // デプロイ/ストウ用のZクリアランス
#define Z_CLEARANCE_BETWEEN_PROBES 1 // プローブポイント間のZクリアランス
#define Z_CLEARANCE_MULTI_PROBE 1 // 複数プローブ間のZクリアランス
LCD画面にBDセンサー値を表示する
- 状態表示(gcode M117をサポート)を備えたプリンターの場合(LCD12864や、ender3V2などの一部のuart画面など)。
キャリブレーション
-
ノズルを清掃し、コンソールでZ軸を動かして、ノズルがベッドにちょうど接触するようにします(BDsensor-mはこの位置を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を使用して最初の数層をリアルタイムレベリングする
この自動レベリングは、gcodeコマンドを送信するか、gcodeファイルにgcodeを追加することで、簡単に有効または無効にできます。
Curaでベッドレベリングを有効にするには、プリンターのマシン設定の「スタートGコード」セクションで、G102(全軸ホーム)Gコードのすぐ下にM28 Gコードを追加します。例えば、G28の下では、Z軸の高さが0.2mm以下の場合にのみベッドレベリングが行われます。M102 S2
送信するか、BDセンサーを使用してベッドレベリングを無効にします。ちなみに、デフォルトでは無効になっています。M102 S0``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_MAX_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