天天看點

Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

作者:shinsu

1.首先解決Wemos D1R32 和 CNC shiled V3直插後會自動重新開機不斷報錯問題

  • 報錯資訊:rst:0x10(RTCWDT_RTC_RESET),boot:0x33(SPI_FAST_FLASH_BOOT)
Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

報錯資訊:rst:0x10(RTCWDT_RTC_RESET),boot:0x33(SPI_FAST_FLASH_BOOT)

2.通過查詢資料,可能産生問題的原因為GPIO12引腳,初步驗證

  • 方式1:先正常給Wemos D1 R32闆子通電,使用Thonny正常連接配接後再插入CNC擴充闆,能夠正常使用不會報錯。但不能重新開機裝置。
Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

先啟動Wemos d1 r32,再插入CNC擴充闆

  • 方式2:不采用直插方式,使用Wemos D1 R32的5V和GND連接配接CNC擴充闆對應引腳,GPIO12引腳使用杜邦線分别在連接配接和不連接配接CNC擴充闆en引腳情況下驗證,Thonny軟體的現象是否報錯。
Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

驗證是否為GPIO12(驅動器EN引腳)導緻Wemos D1 R32無法正常啟動

3.經過上述測試,可以判斷産生錯誤的原因為GPIO12口的問題。

  • 由于CNC擴充闆的EN引腳用于控制步進電機的使能。低電平使能,高電平去使能。
  • 通過萬用表測量,可知en引腳以及CNC擴充電阻下端(紅圈)辨別處電壓為3.3V(實測3.7V左右)。
  • 不插入CNC擴充D1R32的GPIO12引腳正常啟動電壓啟動為0V
  • 所有紅圈辨別處互相導通
Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

步進電機使能引腳

  • 測量驅動子產品VDD(10腳)引腳電壓為5V,10K電阻上端(藍色圓圈辨別)同樣為5V。
Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

步進電機驅動子產品供電

  • 測量驅動子產品VMOT電壓,其由供電端子提供電壓,此處我使用的12V
Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

步進電機供電

  • 由此想到移除此10K電阻測試是否能正常使用。
Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

移除10K上拉電阻

4.測試:連接配接USB,使用Thonny能正常連接配接,不會産生出錯資訊。

Note-26.Micropython:Wemos D1R32 和 CNC shiled V3控制步進電機

移除10K電阻後測試控制步進電機

  • 注意調整好驅動子產品參考電壓
  • 如果電機隻震動,不轉則調整一下順序。
  • ***警告:上電時請勿插拔步進電機電纜***
  • 驗證控制
# 導入庫

from machine import Pin, PWM

import time

# 定義使能引腳(GPIO12)

enPin = Pin(12, Pin.OUT)

enPin.value(1) # 高電平為去使能

# 定義X軸

xPin = Pin(16, Pin.OUT)

xPin.value(1) # 高電平1為逆時針,0為順時針

# 建立PWM對象,用于控制電機的轉速

xPWM = PWM(Pin(26))

xPWM.freq(1000)

xPWM.duty(512)

# 使用驅動子產品

enPin.value(1) # 低電平使能           

視訊:電機聲音有點大,應該能優化控制,待研究。

視訊加載中...

5.至此基本解決Wemos D1 R32連接配接CNC擴充闆出錯問題,至于移除10K電阻是否有其他問題,待後續使用中發現。

---轉載需注明出處---