加速度センサー使用チュートリアル
LITE2シリーズのハードウェア設計上、独立したSPI/I²C加速度センサーモジュール(例:ADXL345)を直接接続して駆動することはできません。
LITE2シリーズベースのデバイスで加速度センサー機能を使用する必要がある場合は、以下の2つのオプションから選択してください。
| オプション | 推奨製品 | 接続/説明 |
|---|---|---|
| 1. USB加速度センサー | FLY-USB-LIS2DW | USBインターフェースを採用したLIS2DW加速度センサー。ホストコンピューターのUSBポートに直接挿入して使用可能。メインボードへの接続は不要。 |
| 2. ツールボード内蔵加速度センサー | LIS2DWまたはADXL345を統合した拡張ツールボード | CANまたはその他インターフェースを介してメインボードと通信。加速度センサーはツールボードの一部として認識・利用されます。 |
重要なお知らせ:ADXL345などのモジュールをC8Pメインボードのピンに直接接続しようとしないでください。互換性と機能を正常に保つため、外付け加速度センサー専用に設計されたFLY-USB-LIS2DW USB加速度センサーの使用をお勧めします。
加速度計テストと校正
依存パッケージのインストール
- デバイスがすでに FlyOS-FAST システム を実行している場合、必要な依存関係はシステムにプリインストールされており、この手順は省略可能です。
- FLY 以外の上位機 を使用する場合は、必ず以下のインストール操作を完了してください。
- 接続後は MobaXterm、PuTTY などの SSH ツールを使用して操作することをお勧めします。
- 本チュートリアルは Raspberry Pi に基づいており、他のプラットフォームは参考用です。
インストール手順
- 以下のコマンドを順に実行して依存パッケージをインストールします。
- インストール時間は CPU の性能とネットワーク状況によって異なり、通常 10〜20分 かかります。インストールが完了するまでお待ちください。
- デバイスのメモリ (RAM) が小さすぎる場合、インストールに失敗する可能性があります。
ステップ1:システム依存パッケージのインストール
sudo apt install python3-numpy python3-matplotlib libatlas-base-dev
ステップ2:Klipper 仮想環境依存パッケージのインストール
~/klippy-env/bin/pip install matplotlib numpy
加速度計テスト
前提条件
- プリンターが ホーミング (Homing) 操作を実行していること。
- Klipper 設定ファイルで加速度計が正しく有効化されていること。
テストコマンド
Klipper コンソールで以下のコマンドを入力します:
ACCELEROMETER_QUERY
複数の加速度計が接続されている場合は、チップを指定してテストできます:
ACCELEROMETER_QUERY CHIP=<ADXLチップ名>
<ADXLチップ名> を実際の加速度計識別子(例:adxl345)に置き換えてください。
一部の旧バージョンの Klipper では、加速度データを取得するために ACCELEROMETER_QUERY を2回実行する必要があります。
よくある問題の対処
加速度計の配線を確認、抜き差し、または交換する前に、プリンターの電源を完全に切り、電源供給を切断してください。通電状態で ADXL/LIS2DW/MPU/ICM モジュールを抜き差ししたり、露出したピンに触れたりしないでください。
- 初回実行の失敗:一部の Klipper バージョンではコマンド認識に遅延が生じる可能性があります。初回実行でデータが返されない場合は、同じコマンドをもう一度実行してください。
- コマンドが認識されない:複数回実行しても不明なコマンドと表示される場合、Klipper のバージョンが古すぎる可能性があります。以下をお勧めします:
- Klipper を最新バージョンに更新する
- または最新版システム(FlyOS-FAST 最新バージョンなど)を再フラッシュする
- Invalid adxl345 id:
Invalid adxl345 id (got xx vs e5)と表示された場合、まずすぐにACCELEROMETER_QUERYをもう一度実行してください。それでもエラーが続く場合は、市販の加速度計配線、変換基板、またはセンサーモジュールを交換してクロステストを優先的に行ってください。お客様自身による追加ハンダ付けやハンダ箇所の修理は推奨されません。 - Invalid lis2dw / mpu / icm id:LIS2DW、MPU9250、ICM20948 などのセンサーを使用する場合、設定セクション名、通信バス、チップモデルが実際のハードウェアと一致していることを確認してください。
- Unable to obtain response / timeout:通常、上位機と加速度計 MCU 間の通信異常を示します。USB/CAN 接続、
[mcu]ID、cs_pin、spi_bus、またはi2c_busを確認してください。
BatchBulkHelper / spi_transfer_response
エラーメッセージ:ACCELEROMETER_QUERY、TEST_RESONANCES、または SHAPER_CALIBRATE の実行時に表示される場合:
BatchBulkHelper start callback error
BatchBulkHelper stop callback error
Unable to obtain 'spi_transfer_response' response
エラーの性質:spi_transfer_response は、Klipper が SPI リクエストの応答を受信しなかったことを示しますが、これが根本原因であるとは限りません。最近のログ事例では、MCU が先に Timer too close によりシャットダウンし、その後 ADXL のバッチ収集で SPI 応答を取得できないというエラーが発生しました。この場合、先に前述のシャットダウンに対処し、加速度計の故障と直接判断しないでください。
調査方法:
- 完全な
klippy.log内で最初のBatchBulkHelperを見つけ、その上でより早いTimer too close、Lost communication with MCU、MCU shutdown、またはSerial connection closedを検索します。 - より早いシャットダウンが存在する場合、まず システムとタイムアウトエラー に従って根本原因を処理します。その後の
spi_transfer_responseは通常、接続が回復すると消えます。 - より早いシャットダウンがなく、
ACCELEROMETER_QUERYを実行するたびにすぐにエラーが発生する場合は、加速度計の[mcu]、cs_pin、spi_bus、およびチップタイプを確認してください。
加速度計の配線、変換基板、またはモジュールを抜き差しまたは交換する前に、プリンターの電源を完全に切り、電源供給を切断してください。通電状態で SPI/I2C 配線を抜き差ししたり、露出したピンに触れたりしないでください。
- 電源を切った後、市販の配線、変換基板、またはセンサーモジュールを交換してクロステストを実施してください。一般ユーザーによる追加ハンダ付けやジャンパー線の使用は推奨されません。
- 共振テストの開始時または終了時のみ発生する場合は、カメラ、画面、その他の高負荷サービスを一時的に停止して再テストし、完全なログをさらなる分析用に保存してください。
結果の判断
- 正常な出力:連続したデータストリームが返される場合(下図参照)、加速度計は正常に動作しており、共振補正測定を実行できます。
- エラー出力:タイムアウト、データなし、または通信エラーが表示された場合は、以下を順に確認してください:
- 電源を切った後、加速度計の配線がしっかりと接続されているか確認
- 設定ファイル内のセンサー設定と SPI が正しいか確認
- 市販の配線、変換基板、またはセンサーモジュールの交換を優先して、電源/通信の問題を切り分け
共振テストの一般的なエラー
| エラーメッセージ | 一般的な原因 | 対処方法 |
|---|---|---|
No data received from accelerometer | 加速度計が未接続、SPI/I2C 配線順序の誤り、供給電力異常 | まず ACCELEROMETER_QUERY を実行して通信が正常か確認し、再テストする |
Insufficient axis data for shaper calibration | 動作範囲が小さすぎる、加速度が低すぎる、センサー読み取りノイズが大きすぎる | テスト範囲または accel_per_hz を増やし、加速度計がしっかり固定されているか確認する |
Frequency range too narrow | ベルトが緩すぎる、機械的な共振周波数が測定範囲外 | ベルト張力、機械構造の締め付けを確認。必要に応じて max_freq を下げるか、accel_per_hz を上げる |
| 共振グラフがすべてノイズで、明確なピークがない | センサーがしっかり固定されていない、ファン振動の干渉、配線の揺れ | 電源を切り、センサーを再固定する。テスト中はファンを停止し、信号線をモーター線から離して配線する |
SHAPER_CALIBRATE 実行後に出力がない、またはエラーで終了 | Python 依存関係(numpy/matplotlib)の欠落、メモリ不足 | このドキュメント冒頭の依存関係インストール手順に従って追加インストール。大きな共振グラフ計算にはより多くのメモリが必要な場合がある |
Cannot test Z axis together with other axes | TEST_RESONANCES で Z 軸と X/Y 軸が同時に指定された | Z 軸は単独でテストする必要があり、X/Y と混合しない |
Invalid POINT parameter | POINT= 座標形式の誤り、または x,y,z の3つの値が欠落 | POINT=100,100,20 のような形式で記入する |
Invalid NAME parameter | 出力名が空、特殊文字を含む、またはコマンド要件と一致しない | 英語、数字、アンダースコア、またはハイフンを使用して命名する |
No accelerometer measurements found | テスト中に有効な加速度データが収集されなかった | まず ACCELEROMETER_QUERY を実行し、センサーの固定と通信を確認する |
Unsupported output | OUTPUT= パラメータにサポートされていないタイプが指定された | Klipper がサポートする出力タイプに従って記入。通常は resonances を使用 |
ACCELEROMETER_QUERY が正常でも共振テストが常に失敗する場合は、以下の順序で調査を優先してください:
- 電源を切り、加速度計の表面が被測定部品に密着していること、緩衝材や両面テープの緩みがないことを確認。
- テスト中はモデル冷却ファン、ホットエンドファン、チャンバーファンを一時的に停止。
- テスト中に配線がセンサーを引っ張ったり、可動軸に引っかかったりしないことを確認。
- テスト振幅を増やす:
[resonance_tester]でaccel_per_hzをデフォルトの75から100〜150へ段階的に引き上げる。 - ツールボード(USB/CAN)上の加速度計を使用する場合、通信線がモーター線やヒートベッド線に近づかないことを確認。
加速度計校正
校正手順
-
プリンターが ホーミング 済みであることを確認。
-
コンソールで以下のコマンドを入力し、X、Y 軸の自動校正を開始します:
SHAPER_CALIBRATE -
校正が完了したら、設定を保存します:
SAVE_CONFIG
単軸校正
1つの軸のみを校正する場合は、以下を使用できます:
SHAPER_CALIBRATE AXIS=X
または、X を Y に置き換えます。
校正中、プリンターが激しい振動を発生する可能性があります。振動が大きすぎる場合は、すぐに緊急停止ボタンを押すか、M112 コマンドを送信して緊急停止してください。
振動強度の調整
テスト時に振動が強すぎる場合は、accel_per_hz パラメータ値(デフォルト 75)を適宜下げてください:
[resonance_tester]
accel_per_hz: 50
設定と調整に関する問題:加速度計ハードウェアは正常であるにもかかわらず、共振補償を有効にしても効果が不十分な場合、
shaper_freqの設定が不適切な場合、Pressure Advance と Input Shaper の競合などの問題については、共振補償と圧力先行設定の問題 を参照してください。
説明:上記の手順は、Klipper ベースのほとんどの 3D プリンターの共振補償設定に適用されます。実際のハードウェアとシステム環境に応じて調整してください。