Contact me: hankecnc@gmail.com

硬件或软件问题? #847

推推 grbl 3年前 (2023-01-23) 306次浏览

关闭
vlachoudis 打开了这个问题 2015 年 11 月 15 日 · 12条评论
关闭

硬件或软件问题?#847

vlachoudis 打开了这个问题 2015 年 11 月 15 日 · 12条评论

注释

硬件或软件问题? #847

你好,我最近两次遇到以下问题。出于某种奇怪的原因,“?” 强制复位。我在 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’解锁]

硬件或软件问题? #847
成员

有趣的。由于 clear parameters $RST=# 命令修复了它,看起来参数数据不知何故被破坏了。我不确定为什么它会因状态查询而崩溃,但我想可能是在应用工作位置的偏移量时导致了它(串行 TX 被缓冲)。也许它被读作 NaN 或其他东西。

发生此问题时,您是否检查了 $# 打印输出?我的猜测是它也在那里崩溃。

硬件或软件问题? #847

你是完全正确的 $# 已损坏并导致重置

?<报警,MPos:0.000,0。
Grbl 0.9j [‘$’寻求帮助]
[‘$H’|’$X’解锁]
$#
[G54:-1000276.160,-1000048.000,-68.200]
[G55:-368.000,-203.000,-42.000]
[ G56:-358.000,-198.000,-27.000]
[G57: 0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:-335.952,-111.970,-2.000]
[G30:0.000,0.000,0.000]
[G
Grbl 0.9j [‘$’寻求帮助]
[‘$H’|’$X’解锁]

硬件或软件问题? #847
成员

@vlachoudis: G54 确实看起来很奇怪,但我很惊讶$#它在打印 G92 或 TLO 时会崩溃。我不确定为什么会这样做,因为 G92 和 TLO 都在 RAM 中,而不是 EEPROM。

如果您将 G54 重写为全零,是否可以解决崩溃问题?这将确认 EEPROM 中的工作坐标系是否由于 bCNC 可能发送 G10 命令的方式而以某种方式损坏?

硬件或软件问题? #847

通过重置 G54,一切正常。
我明白了问题的根源。我通过函数评估将 WCS 设置为 bCNC 中 gcode 的边距自动给出的下限,
set [xmin] [ymin]
但是当我没有激活任何 gcode 时,边距无效并且我设置了一个疯狂的值导致 grbl 出现奇怪的行为。
我会从 bCNC 方面保护,但也许在 grbl 上受到保护会很好。

硬件或软件问题? #847
成员

@vlachoudis:我认为这是可行的,但不确定如何在 Grbl 方面实现它。工作坐标偏移未定义为有限制。在某些情况下,您的偏移量可能会超过机器的行程,但 g 代码程序本身会在其中运行。不过这种情况很少见。

我想可以检查正在编程的异常值,但我不确定截止点应该在哪里或者它是否应该是可配置的。

硬件或软件问题? #847

至少可以避免重置。bCNC 每秒触发 10 次位置,我陷入无限循环,立即重置。

硬件或软件问题? #847
成员

唔。我认为我们需要隔离导致重置的值及其原因。它可能是 print float 功能或其他功能。

硬件或软件问题? #847

我会试着让上面的阀门休息一下,看看我是否能重现它

硬件或软件问题? #847

事实上,通过设置这个大值,它再次发生
ok
g10l20p1x1000276.160y1000048.000
ok
?<Idle,MPos:
0.000,0.0 Grbl 0.9j [‘$’ for help]
[‘$H’|’$X’ to unlock]

硬件或软件问题? #847

我相信在“printFloat()”例程中,您用完了 buf[10];
long 最多 +/-2 147 483 647 需要:符号 + 10 位数字 + 点 + ‘\0’
你至少需要 13 个字节!

硬件或软件问题? #847

将 unsigned char buf[10] 更改为 buf[13] 后,它不再重置。

硬件或软件问题? #847
成员

@vlachoudis: 惊人的。感谢您对此进行如此深入的研究。我将在本周晚些时候推出修复程序。还有一些日常工作占用了我所有的时间。

喜欢 (0)