注释
|
有趣的。由于 clear parameters $RST=# 命令修复了它,看起来参数数据不知何故被破坏了。我不确定为什么它会因状态查询而崩溃,但我想可能是在应用工作位置的偏移量时导致了它(串行 TX 被缓冲)。也许它被读作 NaN 或其他东西。 发生此问题时,您是否检查了 $# 打印输出?我的猜测是它也在那里崩溃。 |
|
你是完全正确的 $# 已损坏并导致重置 ?<报警,MPos:0.000,0。 |
|
@vlachoudis: G54 确实看起来很奇怪,但我很惊讶 如果您将 G54 重写为全零,是否可以解决崩溃问题?这将确认 EEPROM 中的工作坐标系是否由于 bCNC 可能发送 G10 命令的方式而以某种方式损坏? |
|
通过重置 G54,一切正常。 |
|
@vlachoudis:我认为这是可行的,但不确定如何在 Grbl 方面实现它。工作坐标偏移未定义为有限制。在某些情况下,您的偏移量可能会超过机器的行程,但 g 代码程序本身会在其中运行。不过这种情况很少见。 我想可以检查正在编程的异常值,但我不确定截止点应该在哪里或者它是否应该是可配置的。 |
|
至少可以避免重置。bCNC 每秒触发 10 次位置,我陷入无限循环,立即重置。 |
|
唔。我认为我们需要隔离导致重置的值及其原因。它可能是 print float 功能或其他功能。 |
|
我会试着让上面的阀门休息一下,看看我是否能重现它 |
|
事实上,通过设置这个大值,它再次发生 |
|
我相信在“printFloat()”例程中,您用完了 buf[10]; |
|
将 unsigned char buf[10] 更改为 buf[13] 后,它不再重置。 |
|
@vlachoudis: 惊人的。感谢您对此进行如此深入的研究。我将在本周晚些时候推出修复程序。还有一些日常工作占用了我所有的时间。 |


你好,我最近两次遇到以下问题。出于某种奇怪的原因,“?” 强制复位。我在 Arduino UNO 上使用最新的 0.9j,唯一的变化是我在主轴配置上设置了 12000rpm。
最初我虽然出于某种原因我的 atmega 被炸了。所以我换了一个全新的,闪一下,然后在短时间运行后我又遇到了同样的问题。
这次我做了一个 $RST=# 它纠正了这个问题。
我还有备用的 ATMEGA328(没有出现问题的 RST)
(来自 miniterm.py 的输出,带有粗体我的按键)
?<Idle,MPos:
0.000,0.0 Grbl 0.9j [‘$’寻求帮助]
[‘$H’|’$X’解锁]
? <报警,MPos:0.000,0。
Grbl 0.9j [‘$’寻求帮助]
[‘$H’|’$X’解锁]
$$
$0=10 (step pulse, usec)
$1=10 (step idle delay, msec)
$2=0 (step port反转掩码:00000000)
$3=0(dir 端口反转掩码:00000000)
$4=1(步进启用反转,布尔)
$5=0(限制引脚反转,布尔)
$6=0(探针引脚反转,布尔)
$10=3( status report mask:00000011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches,
$21=1(硬限制,bool)
$22=1(归位周期,bool)
$23=11(归位方向反转掩码:00001011)
$24=25.000(归位进给,mm/min)
$25=1000.000(归位搜索,mm/min )
$26=250(归位去抖,毫秒)
$27=2.000(归位牵引,mm)
$100=320.000(x,步长/mm)
$101=320.000(y,步长/mm)
$102=800.000(z,步长/mm ) )
$110=0.000(x 最大速率,mm/min)
$111=4000.000(y 最大速率,mm/min)
$112=1200.000(z 最大速率,mm/min)
$120=150.000(x 加速度,mm/sec^2)
$121=150.000(y 加速度,mm/sec^2)
$122=25.000(z 加速度,mm/sec^2)
$130=370.000(x 最大行程,mm)
$131=205.000(y 最大行程,mm)
$132=100.000( z 最大行程,mm)
好吧?
_ <报警,MPos:0.000,0。 Grbl 0.9j [‘$’寻求帮助] [‘$H’|’$X’解锁]