ADXL345
配線
- 加速度計の接続方法は下図の通りです
参考設定
[adxl345]
cs_pin: PB12
spi_bus: spi2 # ハードSPI、ハードSPIとソフトSPIのどちらかを選択。デフォルトはハードSPI
# spi_software_mosi_pin: PB15 # ソフトSPI、ハードSPIとソフトSPIのどちらかを選択。デフォルトはハードSPI
# spi_software_miso_pin: PB14
# spi_software_sclk_pin: PB13
[resonance_tester]
accel_chip: adxl345
#accel_chip_y: adxl345 bed
probe_points:
100, 100, 20 # 通常はヒートベッドの中央。実際のマシンに応じて変更してください
使用チュートリアル
加速度センサーテストとキャリブレーション
依存パッケージのインストール
- デバイスが 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を確認してください。
結果の判断
- 正常な出力:連続的なデータストリームが返された場合(下図参照)、加速度センサーは正常に動作しており、共振補償測定を実行できます。
- エラー出力:タイムアウト、データなし、または通信エラーが表示された場合は、以下の順序で確認してください。
- 電源をオフにして、加速度センサーの配線が確実に接続されていることを確認する
- 設定ファイル内のセンサー設定と 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 プリンターの共振補償設定に適用されます。実際のハードウェアとシステム環境に応じて調整してください。