跳轉至

控制器錯誤

控制器不是一個通用盒子,您可以直接插入一切。

它讀取感應器、輸出控制信號並與主機通訊。但電源負載必須通過適當的輸出、MOSFET、繼電器、SSR 或驅動器供電。

症狀

典型的控制器或連接問題跡象:

  • 板無法通過 USB 檢測到;
  • 韌體無法啟動;
  • 引腳無反應;
  • 控制器重新啟動;
  • 控制器明顯加熱;
  • 連接模塊後板停止工作;
  • 打開負載時 ESP32 失去 Wi-Fi;
  • 感應器在有電源時不可見;
  • Klipper 無法連接到 MCU;
  • 命令在錯誤的引腳上工作。

選擇了錯誤的控制器

選擇板之前,您必須理解任務。

對於簡單的自主 Wi-Fi 設備,ESP32 可能是一個不錯的選擇。

對於 Klipper 中的額外 MCU,通常更實用地查看:

  • RP2040;
  • STM32;
  • 現成的 3D 印表機板。

Arduino Uno/Nano 對於學習和簡單實驗很有用,但對於印表機周圍的新嚴肅設備,您很快會遇到限制。

錯誤是僅因為「它很流行」而選擇板,不檢查:

  • 需要的引腳數量;
  • 邏輯電位;
  • 電源供應;
  • 韌體支持;
  • USB/UART/CAN 可用性;
  • 支持的庫;
  • 輸出電流;
  • 開發環境。

ESP32 作為 Klipper MCU

ESP32 作為單獨的 IoT/Wi-Fi 設備很有用。

但不要自動期望 ESP32 是 Klipper MCU 的最佳選擇。

如果目標是與 Klipper 集成為額外的 MCU,首先查看 Klipper 的官方和經過驗證的選項。對於新的硬體擴展,使用 RP2040 或 STM32 通常更簡單可靠。

ESP32 如果設備應該很有用:

  • 自主工作;
  • 有 Wi-Fi;
  • 通過 MQTT 或 HTTP 提供數據;
  • 有網際網路介面;
  • 與 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 號碼。

要檢查的內容

迷你檢查清單:

  1. 是否為任務選擇了正確的板?
  2. 板需要什麼電源?
  3. 什麼邏輯:3.3V 或 5V?
  4. 是否與外部模塊有共同 GND
  5. 是否負載未從 GPIO 供電?
  6. 板是否支持需要的介面?
  7. 選擇的引腳是否未被使用?
  8. 韌體是否正確?
  9. 板是否通過 USB 可見?
  10. 配置是否與板引腳圖匹配?

不能做什麼

您無法:

  • 不檢查就將 5V 應用於 3.3V 輸入;
  • 將負載直接連接到 GPIO;
  • 刷入隨機「類似」板的韌體;
  • 在電源下改變配線;
  • 假設任何 GPIO 適合任何任務;
  • 忽略控制器加熱;
  • 在沒有需要時連接外部模塊而沒有共同接地。

要點

  • 控制器控制但不直接為負載供電。
  • 3.3V 和 5V 邏輯必須相容。
  • GPIO 是信號,不是電源供應。
  • 對於 Klipper MCU,您通常查看 RP2040/STM32,ESP32 作為自主 Wi-Fi 設備更方便。
  • 韌體和引腳圖必須與實際板匹配。
  • 如果板加熱或停止被檢測,關閉電源並找到連接錯誤。

參考資源