开源改变世界

GPIOPin.12 – 引导加载程序 #380

推推 grbl 3年前 (2023-02-05) 185次浏览
关闭
boboxx 打开了这个问题 2022 年 4 月 14 日 · 6条评论
关闭

GPIOPin.12 – 引导加载程序#380

boboxx 打开了这个问题 2022 年 4 月 14 日 · 6条评论

评论

GPIOPin.12 - 引导加载程序 #380

我第一次在连接到某个 DM542 步进驱动器的 ESP32 Devkitv1 上加载 FluidNC。我加载了预编译的固件,我正在使用基本的 3axis_v4.yaml 配置。

查看 ESP32 引脚参考,默认情况下 GIOpi12 可以使用,但它与引导加载程序相关联。我遇到的问题是,我曾尝试将引脚设置为高电平或低电平,但如果电缆连接到步进驱动器或连接了 GPIO12,当我连接 USB 为电路板供电时,它总是进入引导加载程序模式。

我怎样才能解决这个问题?

x:
steps_per_mm: 800
max_rate_mm_per_min: 2000
acceleration_mm_per_sec2: 25
max_travel_mm: 1000
homing:
cycle: 2
mpos_mm: 10
positive_direction: false

motor0:
  limit_all_pin: gpio.4:low:pu
  stepstick:
    direction_pin: gpio.14
    step_pin: gpio.12:low
motor1:
  null_motor:
GPIOPin.12 - 引导加载程序 #380 boboxx 添加了 把招工广告 需要额外注意标签 2022 年 4 月 14 日
GPIOPin.12 - 引导加载程序 #380
作者

是的,这就是我查看的参考:
GPIO_NUM_12
如果驱动为高电平,闪光灯电压 (VDD_SDIO) 为 1.8V,而不是默认的 3.3V。具有内部下拉,因此未连接 = 低 = 3.3V。如果使用 3.3V 闪存并且此引脚被拉高,可能会阻止闪存和/或启动,从而导致闪存掉电。有关更多详细信息,请参阅 ESP32 数据表
这是一个 strapping pin 功能。您可以通过设置一次性可编程efuse来强制电压。python espefuse.py –port COM4 set_flash_voltage 3.3V。这将防止检查引脚。

我也尝试将其设置为此,但它也进入引导加载程序:
motor0:
limit_all_pin:gpio.4:low:pu
stepstick:
direction_pin:gpio.14
step_pin:gpio.12:high
motor1:
null_motor:

GPIOPin.12 - 引导加载程序 #380
所有者

是什么使引脚变高?

我不会与 efuses 见面。很多人把 ESP32 弄得乱七八糟。

GPIOPin.12 - 引导加载程序 #380
作者

我已将 gpio12 连接到 pul-,但 pul+ 连接到 3.3v。我按照第 9 页上的图表https://kitaez-cnc.com/f/dm542.pdf

我真的不明白为什么引脚在启动时变高。

GPIOPin.12 - 引导加载程序 #380

步进输入有一个光隔离器。从电气上看,它看起来像一个红外 LED 和串联的电阻器,从 3.3V (PUL+) 连接到 GPIO 12 (PUL-)。这足以在 GPIO 12 上施加一个电压,将其解释为电高,从而触发引导问题行为。
GPIOPin.12 - 引导加载程序 #380

efuse 解决方案将冒着出错和导致其他问题的风险工作。
另一种解决方案是重新分配引脚,以便 GPIO.12 用于某些其他功能,其输入从电气角度来看不像上拉。
另一种解决方案是将 PUL- 连接到 GND,将 GPIO.12 连接到 PUL+,如您引用的 PDF 的图 4 所示。