控制器錯誤¶
控制器不是一個通用盒子,您可以直接插入一切。
它讀取感應器、輸出控制信號並與主機通訊。但電源負載必須通過適當的輸出、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 號碼。
要檢查的內容¶
迷你檢查清單:
- 是否為任務選擇了正確的板?
- 板需要什麼電源?
- 什麼邏輯:3.3V 或 5V?
- 是否與外部模塊有共同
GND? - 是否負載未從 GPIO 供電?
- 板是否支持需要的介面?
- 選擇的引腳是否未被使用?
- 韌體是否正確?
- 板是否通過 USB 可見?
- 配置是否與板引腳圖匹配?
不能做什麼¶
您無法:
- 不檢查就將 5V 應用於 3.3V 輸入;
- 將負載直接連接到 GPIO;
- 刷入隨機「類似」板的韌體;
- 在電源下改變配線;
- 假設任何 GPIO 適合任何任務;
- 忽略控制器加熱;
- 在沒有需要時連接外部模塊而沒有共同接地。
要點¶
- 控制器控制但不直接為負載供電。
- 3.3V 和 5V 邏輯必須相容。
- GPIO 是信號,不是電源供應。
- 對於 Klipper MCU,您通常查看 RP2040/STM32,ESP32 作為自主 Wi-Fi 設備更方便。
- 韌體和引腳圖必須與實際板匹配。
- 如果板加熱或停止被檢測,關閉電源並找到連接錯誤。
參考資源¶
- Klipper:安裝 - 為 Klipper 準備和刷入 MCU 的一般過程。
- Klipper:配置參考,MCU -
[mcu]部分、串列/CAN 連接和額外 MCU。 - Arduino:數字引腳 - 數字引腳作為輸入/輸出的基本解釋,不是電源供應。
- Espressif ESP32 數據表 - ESP32 的官方電氣規格。
- Raspberry Pi Pico 數據表 - RP2040/Pico 的官方數據、電源和 GPIO。