天天看点

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电阻是否有其他问题,待后续使用中发现。

---转载需注明出处---