天天看點

Wemos D1 R32 ESP32開發闆與CNC擴充闆結合後報invalid header錯誤

作者:林海源

Wemos D1 R32 ESP32開發闆與CNC擴充闆結合後,ESP32反複報rst:0x10 (RTCWDT_RTC_RESET),boot:0xb (HSPI_FLASH_BOOT) invalid header: 0xffffffff錯誤的解決辦法。

Wemos D1 R32 ESP32開發闆與CNC擴充闆結合後報invalid header錯誤
Wemos D1 R32 ESP32開發闆與CNC擴充闆結合後報invalid header錯誤

結合上電後錯誤如下:

[22:07:33.904]收←◆ets Jul 29 2019 12:21:46

rst:0x10 (RTCWDT_RTC_RESET),boot:0xb (HSPI_FLASH_BOOT)

[22:07:33.949]收←◆invalid header: 0xffffffff

[22:07:33.993]收←◆invalid header: 0xffffffff

[22:07:34.037]收←◆invalid header: 0xffffffff

[22:07:34.081]收←◆invalid header: 0xffffffff

[22:07:34.126]收←◆invalid header: 0xffffffff

[22:07:34.170]收←◆invalid header: 0xffffffff

[22:07:34.215]收←◆invalid header: 0xffffffff

解決辦法:

第一步:将CNC擴充闆對應到Wemos D1 R32 ESP32開發闆的GPIO12引腳掰彎,結合上電後不會在出現上述錯誤。

此時,你會發現Wemos D1 R32 ESP32開發闆的給出指令後,電機不能正常工作。

第二步:将折彎的引腳直接接到CNC擴充闆任何一個GND上,電機可以正常工作了。

缺點是你不在能控制使能了。(目前你可以嘗試接到其他引腳上)

原因分析:

最開始的時候我做了一個嘗試,我将CNC擴充闆對應Wemos D1 R32 ESP32開發闆的5V引腳掰彎,Wemos D1 R32 ESP32可以正常啟動,貌似解決了重複重新啟動的問題,但電機是不能正常運作起來的。後來發現A4988要求必有有兩個電源接入,一個是VCC(8-36V)一個是VDD(3-5V的邏輯電源)。

在找資料。。。。。。。

經查 ESP32 的手冊,确認是因為上電後因 Strapping 的相關引腳有關。上電給 Strapping 引腳正确的電平,ESP32子產品才可以正常啟動或者進入下載下傳模式。

Wemos D1 R32 ESP32開發闆與CNC擴充闆結合後報invalid header錯誤

兩個闆子結合後沒有用到GPIO0,GPIO2還是無關項。那麼就剩MTDI和MTDO了。回想起第一步的嘗試,當不接5V邏輯電源時,不重新開機,那麼說明MTDI是不是下拉到0了?

MTDI、MTDO是個什麼鬼????在網上找到了ESP-Prog的介紹。其中給出的連接配接引腳如下:

Wemos D1 R32 ESP32開發闆與CNC擴充闆結合後報invalid header錯誤

MTDI應對的是GPIO12,也就是CNC擴充闆的使能引腳。

至此發現兩個闆子結合上電後,CNC擴充闆通過Wemos D1 R32 ESP32開發闆的5V邏輯電源給Wemos D1 R32 ESP32開發闆的GPIO12拉高了,才導緻Wemos D1 R32 ESP32反複重新啟動。

不懂原理,純試出來的。

繼續閱讀