コントローラーの間違い¶
コントローラーはすべてを直接接続できるユニバーサルボックスではありません。
それはセンサーを読み取り、制御シグナルを出力し、ホストと通信します。しかし、電力負荷は適切な出力、MOSFET、リレー、SSR、またはドライバーを通じて電力供給する必要があります。
症状¶
コントローラーまたは接続の問題の典型的な兆候:
- USB経由でボードが検出されない;
- ファームウェアが起動しない;
- ピンが応答しない;
- コントローラーが再起動する;
- コントローラーが大幅に加熱する;
- モジュールが接続された後、ボードが動作を停止する;
- モジュールがオンになるとESP32がWi-Fiを失う;
- 電力が存在していてもセンサーが見えない;
- Klipperがmcuに接続しない;
- コマンドが間違ったピンで動作します。
間違ったコントローラーが選ばれた¶
ボードを選択する前に、タスクを理解する必要があります。
単純な自律Wi-Fi デバイスの場合、ESP32は良い選択になることができます。
Klipperの追加MCUの場合、それはしばしば以下を見ることがより実用的です:
- RP2040;
- STM32;
- 既成の3Dプリンターボード。
Arduino Uno/Nanoは学習と単純な実験に役立ちますが、プリンターの周りの新しい真摯なデバイスの場合、あなたは迅速に限界に走ります。
間違いは、以下をチェックすることなく「それは人気がある」ため、ボードを選択することです:
- 必要なピンの数;
- ロジックレベル;
- 電源供給;
- ファームウェアサポート;
- USB/UART/CAN可用性;
- 必要なライブラリのサポート;
- 出力電流;
- 開発環境。
KlipperのMCUとしてのESP32¶
ESP32は別のIoT/Wi-Fiデバイスとして役立ちます。
しかし、Klipperの MCUとしてESP32が最良の選択であることを自動的に期待しないでください。
目標がKlipperの統合である場合、最初にKlipperの公式および実証済みのオプションを見てください。新しいハードウェア拡張の場合、RP2040またはSTM32を使用する方が単純で信頼できることが多いです。
デバイスが以下を実行する場合、ESP32は良い選択です:
- 自律的に働く;
- Wi-Fiを持つ;
- MQTTまたはHTTP経由でデータを提供する;
- Webインターフェイスを持つ;
- Home Assistantと通信する;
- Klipperとは別に動作します。
3.3Vおよび5Vロジック¶
多くの最新のコントローラーは3.3Vロジックで動作します。
例えば:
- ESP32;
- RP2040;
- 多くのSTM32。
間違いは、5Vシグナルを3.3Vのみに設計された入力に適用することです。
これができる:
- ピンを即座に破損させます;
- 後でコントローラーを破損させる;
- 不安定な動作を引き起こします;
- 大丈夫に見えたモジュールを壊す。
接続する前に確認してください:
- モジュール電力電圧;
- 入/出力ロジックレベル;
- レベルコンバーターがあるかどうか;
- 入力が5Vを受け入れるかどうか;
- 技術説明に何が書かれているか。
GPIOは負荷に電力を供給しません¶
GPIOはシグナルピンです。
それは電力を供給してはいけません:
- ファン;
- サーボ;
- ヒーター;
- LEDストリップ;
- ドライバーなしリレー;
- ソレノイド;
- モーター。
GPIOはコマンドを送ることができます。負荷電流は、電力出力、MOSFET、ドライバー、リレー、または別のモジュールを通じて供給される必要があります。
負荷がGPIOに直接接続されている場合、ピンまたは全体のボードを破損することができます。
共通GNDがない¶
コントローラーは、共通の基準レベルがある場合のみ、外部モジュールを駆動できます。
典型的な間違い:
- 別の5V供給で電力供給されたサーボ;
- シグナルはコントローラーから来ます;
GNDが接続されていない;- サーボがジャークするか、応答しません。
MOSFET モジュール、PWM ファン、一部のセンサー、および外部ボードも同じです。
ファームウェアが不正¶
ボードは大丈夫ですが、ファームウェアは適合しません。
エラー:
- 間違ったマイクロコントローラー用にフラッシュされたファームウェア;
- 間違ったブートローダーを選択しました;
- USB および UART ファームウェアを混合しました;
- 間違ったシリアルポートを選択しました;
- Klipperは間違ったデバイスパスを指定しました;
- ボード内のピンが設定と一致しません;
- フラッシュ後のファームウェア/ホストを再起動しませんでした。
フラッシュする前に、ボードとマイクロコントローラーのモデルを正確に知る必要があります。
ピンは回路図に存在しますが適さない¶
すべてのピンが同じではありません。
ピンには制限があります:
- 入力のみ;
- USB/UART/SPIで使用される;
- ブート中に使用される;
- ブートモードに関連する;
- 必要なPWMをサポートしていない;
- 引っ張られたり下げられたり;
- 別のモジュールと競合します。
ピンが異常に動作する場合は、GPIO番号だけでなく、ボードドキュメントをチェックします。
何をチェックするか¶
ミニチェックリスト:
- 正しいボードはタスク用に選択されていますか?
- ボードには何の電力が必要ですか?
- ロジック:3.3Vまたは5V?
- 外部モジュールとの共通
GNDがありますか? - 負荷はGPIOから電力を供給されていないか?
- ボードは必要なインターフェイスをサポートしていますか?
- 選択したピンは使用されていないか?
- ファームウェアは正しいか?
- ボードはUSB経由で見えるか?
- 設定はボードピンアウトと一致しますか?
やってはいけないこと¶
あなたはできません:
- チェックなしで5V を 3.3V 入力に適用する;
- GPIOに負荷を直接接続する;
- 「類似の」ボードのランダムなファームウェアをフラッシュする;
- 電源の下で配線を変更する;
- どのGPIOでもどのタスクに適合していると仮定します;
- コントローラー加熱を無視する;
- 必要なときに共通のグラウンドなしで外部モジュールを接続します。
重要なポイント¶
- コントローラーは制御しますが、負荷に直接電力を供給しません。
- 3.3VおよびBEIOロジックは互換性がある必要があります。
- GPIOはシグナルであり、電源供給ではない。
- Klipperのmcuの場合、RP2040/STM32をよく見ます、ESP32は自律Wi-Fiデバイスとしてより便利です。
- ファームウェアとピンアウトは実際のボードと一致する必要があります。
- ボードが加熱しているか、検出されなくなった場合は、電源を切り、接続エラーを見つけてください。
参照¶
- Klipper: Installation - Klipperの MCU の準備とフラッシュプロセス。
- Klipper: Config Reference, MCU -
[mcu]セクション、シリアル/CAN接続、および追加のmcu。 - Arduino: Digital Pins - 電源供給ではなく、入/出力としてのデジタルピンの基本的な説明。
- Espressif ESP32 Datasheet - ESP32の公式電気仕様。
- Raspberry Pi Pico Datasheet - RP2040/Pico、電力、およびGPIOの公式データ。