注释
似乎限位开关报告为已触摸且不会清除。寄一个 ?命令并发布响应 |
未按下时限位开关清晰: 按下 X 限位开关: 按下 Y 限位开关: 如果我发送 $H 然后点击,这就是我看到的?反复: Grbl 1.2a [‘$’ for help] 我很确定该系统在物理层面上工作,因为我之前使用过 GRBL 和 Nano。 |
奇怪,从你的状态报告来看,它看起来像一个成功的家。 您是否能够在每个轴的两个方向上点动机器? |
是的,两个轴都在 Web UI 中运行良好。我还启用了软件去抖动,没有任何区别。 如果我从 ESP32 上拔下 endstop 信号线,我看不到 Pn:X 或 Pn:Y,并且归位运行直到超时。 我仔细检查了(常开)开关,它们似乎有一个 OK 信号(我没有要测试的示波器,只有万用表)。 |
你能发布你的完整机器定义文件和启动文本吗? |
您也可以尝试打开硬限制。然后尝试慢跑。如果由于噪声检测到限制,它将发出警报。 |
我尝试启用硬限制并立即报告: 我认为这意味着引脚不断闪烁,比每秒一次的状态报告更快。让我做一些更基本的测试。 |
我将关闭这个问题,并给你一个我们 slack 的链接。 |
除非您的限位开关上有外部上拉电阻和 RC 滤波,否则您的限制将受到大量噪声拾取的影响。ESP32 GPIO 上的内置上拉电阻,即使在有上拉电阻的引脚上,也非常弱(高电阻,电阻控制不佳),因此面对机器中常见的各种噪声,它们并没有多大用处环境。最好有 5K 到 10K 范围内的外部上拉电阻,信号对地电容约为 0.1 uF。此外,每个限位开关都应该有自己的双绞线,一侧连接到控制器板上的 GND,另一侧是信号。不要与多个开关共用一根外部 GND 线,也不要让 GND 和信号线(因此是双绞线)之间存在物理分离。并且不要将限位开关在开关端接地。GND 连接必须在控制器端。 |
达科纳 评论 on 5 Jun 2020
我有一台简单的 2 轴机器,限位开关位于最负位置。我被困在试图回家工作。我有https://github.com/bdring/Grbl_Esp32/wiki/Setting-Up-Limit-Homing-Switch中显示的 3 线开关,两根线连接(信号和接地)。我已经验证了 X 和 Y 限位开关在按下时会报告 Pn:X 和 Pn:Y,而在松开时不会报告,并且它们连接到正确的轴。
当我试图回家时,每个轴都做同样的事情:以快速搜索速度在正方向上两小步走 27 美元的距离,然后停止。不报告错误(除非已经按下限位开关,在这种情况下会发出警报:8 警报:3)。
我已经将我的机器配置为:
#define LIMIT_MASK B011
#define X_LIMIT_PIN GPIO_NUM_17
#define Y_LIMIT_PIN GPIO_NUM_4
#ifdef HOMING_CYCLE_0
#undef HOMING_CYCLE_0
#endif
#define HOMING_CYCLE_0 (1<<X_AXIS) // X 先
#ifdef HOMING_CYCLE_1
#undef HOMING_CYCLE_1
#endif
#define HOMING_CYCLE_1 (1<<Y_AXIS)
#ifdef HOMING_CYCLE_2
#undef HOMING_CYCLE_2
#endif
和运行时设置:
$3=0
$5=1
$20=0
$21=0
$22=1
$23=3
$24=200.000
$25=2000.000
$26=250
$27=1.000
所有这些似乎都有道理。