注释
目前看起来这些引脚只能设置为 ESP 引脚,而不能设置为 I2SO 引脚。 …10vSpindle.cpp:177:42:错误:从“int”到“gpio_num_t”的无效转换 |
我怀疑在 ENABLE_PIN 和 DIR_PIN 情况下调用 gpio_reset_pin 是不必要的。跟在它们后面的 pinMode(,,,, INPUT) 调用可能就足够了。 gpio_reset_pin() 可能是必要/有用的情况是用于 OUTPUT_PIN,因为它与 LEDC 控制器一起用于执行 PWM。在 deinit() 中,gpio_reset_pin() 会将其与 LEDC 控制器分离。 所以我会尝试删除除 *_OUTPUT_PIN 之外的所有内容的 gpio_reset_pin() 调用。I2S0 无论如何都不能用于 OUTPUT_PIN,因为只有 GPIO 可以连接到 LEDC 控制器。 |
谢谢…我们正在取得进展。 我可以从以下开始:
我按照建议删除了 gpio_reset_pin() ……并且能够编译:
然而,spindle_enable_pin 做了一些奇怪的事情……当 GRBL 处于空闲状态时,当我运行 X1000 时它读取 0V,它在 2 和 3V 之间振荡。 对于我的冷却液销,我使用了:
这在空闲或运行模式下非常稳定。 |
I2S0 引脚最初用于驱动步进电机。它们也可用于开/关信号(无 PWM)。 我们没有考虑将它们用于 PWM 主轴,但它们应该适用于 Enable 和 Dir 使用。 我注释掉了那个函数并运行了这个设置。
它工作得很好。这是在我的逻辑分析仪上捕获的 M3S100 (10%)。启用信号在我的设置中是稳定的。 |
I2SO(28) 上的 SPINDLE_ENABLE_PIN“振荡”表明移位寄存器芯片和测量点之间某处连接不良。销上有负载吗?如果错误的连接猜测是正确的,那么添加负载将消除振荡,电压将始终为 0。 |
@MitchBradley我会再次检查连接。10K 下拉会不会因为负载而变得橡木? |
10k 下拉负载足以检测开路。您也可以直接在移位寄存器引脚上进行探测。如果引脚和电路板之间的焊点不良,有时探测引脚会“解决”问题。探针将引脚向下推,使其更好地接触焊盘。不过,这样的修复不会持久。您需要回流焊料以正确恢复连接。 |
发现!!!我的螺丝连接器有点松动。 一切正常!!!谢谢 |
Protoneer 评论 on 12 May 2021
您使用的是什么版本的固件?最新
问题是否可重复?是的
什么情况下会出现bug?
设置机器文件如下:
Arduino错误
SPINDLE_ENABLE_PIN 和以下函数 virtual void Spindles::PWM::deinit() 重复上述错误