开源改变世界

2 月 9 日测试 0.9c #347

推推 grbl 2年前 (2023-01-21) 139次浏览

关闭
mschorer 打开了这个问题 2014 年 2 月 11 日 · 2 条评论
关闭

2 月 9 日测试 0.9c#347

mschorer 打开了这个问题 2014 年 2 月 11 日 · 2 条评论

注释

2 月 9 日测试 0.9c #347

从昨天开始用 0.9c 进行第一次测试:

  • 归零 z,然后挂起(5 个 z 移动,根本没有 xy 移动,默认设置)
  • 通用 gcode 发送器 1.07b:流媒体再次工作
  • “m03 sxxxx”使主轴旋转起来,没有移动,继续按下 cycle_start 按钮 – 请参阅下面的日志
[verbose]<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000>
>>> g21g90
>>> m5
ok
>>> g0x0y0z0
>>> m3s2000
>>> g1x5f120
>>> m3s2000
>>> g1x10
>>> m3s2000
>>> g1x15
>>> m3s2000
>>> g1x20
ok
ok
>>> m3s2000
>>> g1x25
>>> m3s2000
>>> g1x30
>>> m3s2000
>>> g1x35
ok
ok
>>> m3s2400
>>> g1x30
>>> m3s2400
>>> g1x25
>>> m3s2400
[verbose]<Queue,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000>
###### repeats, no move ######
[verbose]<Queue,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000>
###### press cycle_start button ##########
[verbose]<Run,MPos:0.010,0.000,0.000,WPos:0.010,0.000,0.000>
[verbose]<Run,MPos:0.144,0.000,0.000,WPos:0.144,0.000,0.000>
###### moves ######
[verbose]<Run,MPos:4.780,0.000,0.000,WPos:4.780,0.000,0.000>
[verbose]<Run,MPos:4.966,0.000,0.000,WPos:4.966,0.000,0.000>
ok
>>> g1x20
ok
>>> m3s2400
[verbose]<Queue,MPos:5.000,0.000,0.000,WPos:5.000,0.000,0.000>
[verbose]<Queue,MPos:5.000,0.000,0.000,WPos:5.000,0.000,0.000>
###### repeats, no move ######
**** Connection closed ****
2 月 9 日测试 0.9c #347

2月15日。

今天还用连接到机器的最新版本的 0.9c 做了一些测试。

首先:
机器处于安全位置(定位为 0.9a,你永远不会知道 ;-)

闪烁 0.9c => 然后尝试运行我自己的 streamin-programm => 关于设置 setting-texboxes 和 setting-radiobuttons 的一些例外。=> 没问题。0.9c 有更多设置 (31)。=> 修改了setting-testbuttons 和setting-radiobuttons,我们又回来了。

从这些设置开始:
$0=320.000 (x, step/mm)
$1=320.000 (y, step/mm)
$2=320.000 (z, step/mm)
$3=3000.000 (x max rate, mm/min)
$4=3000.000 (y 最大速率,mm/min)
$5=3000.000(z 最大速率,mm/min)
$6=50.000(x 加速度,mm/sec^2)
$7=50.000(y 加速度,mm/sec^2)
$8=50.000 (z 加速度,mm/sec^2)
$9=225.000(x 最大行程,mm)
$10=125.000(y 最大行程,mm)
$11=170.000(z 最大行程,mm)
$12=5(步进脉冲,usec)
$13 =3000.000 (default feed, mm/min)
$14=0 (step port invert mask:00000000)
$15=196 (dir port invert mask:11000100)
$16=25 (step idle delay, msec)
$17=0.020 (junction deviation, mm )
$18=0.002(圆弧公差,mm)
$19=3(n-decimals,int)
$20=0(报告英寸,bool)
$21=1(自动启动,bool)
$22=0(反转步骤启用,bool)
$23=0 (反转限制销,布尔)
$24=0(软限制,布尔)$25=1(硬限制,布尔)
$26=0(归位周期,布尔)
$27=96(归位方向反转掩码:01100000)
$28=200.000(归位进给,毫米/分钟)
$29=200.000(归位搜索,毫米/分钟)
$30=250(归位去抖,毫秒)
$31=1.000(归位牵引,毫米)

第一条命令:
G91X1 => 机器向左移动。=> 更改了目录 inv 掩码 =>15=224(�ℎ�������������($) => $15=224)

再次:
G91X1 => 好的。也在 Y (G91Y1) 和 Z (G91Z1) 上。

G91X100 => 可以,但速度较慢。改变了 $6=200
G91X100 => 好的。完美搭配 完美的锐利运动。对 Y(
$7=200) 和 Z($8=200) 做同样的事情。=> 完美!

现在是硬限位检查:
G91X-100F100 并且在移动时手动激活 X 限位开关 => 警报:硬/软限位。硕士?
[重置以继续]
也在其他轴上。=> hardlimits 似乎在正常运行。实际测试将在生产中进行。

使用这些设置进行归位检查:
$26=1(归位周期,布尔值)
$27=96(归位方向反转掩码:01100000)
$28=200.000(归位进给,mm/min)
$29=200.000(归位搜索,mm/min)
$30= 250(归位去抖,毫秒)
$31=1.000(归位牵引,毫米)

$H

Y 向上移动直到切换。然后是延迟,小故障 => 没有别的。

也许结合软限制?=> 启用 softlimits $24=1 并再次启用 $H => Y 移动后结果相同;归位停止,Z 轴正在激活限位开关。(不可能移动)
禁用硬限位=>(几个重置和终止警报,然后 $25=0)将 Z 移离开关并再次激活硬限位=>($25=1)

在 25 毫秒内更改归位去抖 $30=25

$H => 归位周期开始。=> Y 到达限位开关并离开开关 1 毫米。然后 X 和 Y 同时移动到左下角(在 XY 平面中)。Y 首先达到限制并停止。X 仍在移动,直到限位开关停止。(X 和 Y)都离开开关。

似乎 Homing 正常运行,但没有 250 毫秒的去抖动。

另一个 100 毫秒去抖动测试 => 无归位。在 Z 之后一切都停止了。
50 毫秒去抖 => 无归位。相同场景
40 毫秒去抖 => 无归位。相同场景
30 毫秒去抖 => 完美归位。

我会将其保持在 25 毫秒去抖动。

更改设置并尝试使用 G91X100Y100Z-30F3000 => Bummer 将机器移动到安全位置,几毫米后 => Hardlimits!。关闭警报并再次 G91X100Y100Z-30F3000 => 相同的结果。关闭警报并再次 G91X100Y100Z-30F3000 => 现在机器到达目的地。硬限制仍然存在一些问题,但我会暂时启用它们。(仅供测试)

测试主轴启动 (M3) => 确定。
主轴停止 (M​​5) => 确定。

是时候进行一些风磨了。
也启用
软限制 $24=1(软限制,bool)
$9=498.000(x 最大行程,mm)
$10=730.000(y 最大行程,mm)
$11=110.000(z 最大行程,mm)

设置工作零
空闲,MPos:-34.772,65.228,-57.769,WPos:0.000,0.000,0.000
[G0 G54 G17 G21 G91 G94 M0 M5 M9 T0 F3000.000]

加载了一个包含大量圆弧和小直线的 nc 文件。

代码段
N0 G17
N10 G00 X0.00 Y0.00
N20 G00 Z5.00
N30 S15000 M03
N40 G00 X75.88 Y90.68 Z5.00
N50 G01 Z-2.08 F500
N60 G01 X75.70 Y90.61 F1500
N70 X70.48 Y89 .83
N80 G02 X60.31 Y91.97 I-1.60 J17.68
N90 G01 X45.04 Y101.57
N100 X34.49 Y104.23
N110 X34.40 Y104.40
N120 G02 X37.71 Y108.27 I9.12 J -4.47
N130 G02 X55.29 Y109.67 I10.17 J-16.76
N140 G02 X67.35 Y101.30 I-13.56 J-32.42
N150 G02 X75.88 Y90.68 I-52.96 J-51.27
N160 G01 Z-4.17 F500
N170 G01 X75.70 Y90.61 F1500


直到


N21590 G02 X60.92 Y296.47 I14.36 J-4.59
N21600 G01 X64.08 Y298.30
N21610 G02 X72.43 Y300.41 I10.66 J-24.69
N21620 G02 X80.86 Y300.32 I3.85 J-36.19
N21630 G02 X94.10 Y296.32 I-11.15 J-60.93
N21640 G01 X90.42 Y296.42
N21650 G03 X85.48 Y294.37 I1.69 J-11.02
N21660 G03 X80.11 Y288.39 I11.85 J-16.03
N21670 G01 X71.01 Y272.24
N21680 G02 X267.9 .64 I-6.19 J4.14
N21690 G01 X64.13 Y267.97
N21700 X54.97 Y265.26
N21710 X51.79 Y263.58
N21720 G03 X47.80 Y259.89 I12.22 J-17.20
N21730 G00 Z517400
N217400 N21740 G00 X0.00 Y0.00
N21750 G00 Z5.00
N21760 M5

首先在 Checkmode => $C => AlArm。这次软限制?=> 通过禁用软限制和检查代码进行测试。=> 是的,我的错所以 softlimits 也在起作用。Checkmode 运行完美。将缓冲区保持在 120 字节以下。

现在是真正的考验。床身上方 50 毫米,没有任何阻碍。=>开始。缓冲区已满。

N0G17
N10G00X0.00Y0.00
N20G00Z5.00
N30S15000M03
N40G00X75.88Y90.68Z5.00
N50G01Z-2.08F500
N0G17 (Removed from buffer after ok)
N60G01X75.70Y90.61F1500
N70X70.48Y89.83
N10G00X0.00Y0.00 (Removed from buffer after ok )
N20G00Z5.00 (ok后从buffer中删除)
N80G02X60.31Y91.97I-1.60J17.68

就是这样,什么也没有发生。=> Feed hold !=> 排队 => 循环开始 ~ => 在此命令后机器开始移动并且运行非常平稳。所以缓冲区中“M-commands”的问题仍然存在,没有showstopper。

我暂时将这个版本保留在 Arduino 上。也许这周一些真正的工作。

我希望它物有所值。

@chamnit 谢谢你的出色工作!

2 月 9 日测试 0.9c #347
成员

行。从我刚才推送的最后一次提交开始,归位问题现在应该得到解决。我发现的一个罕见的进给暂停问题也应该得到解决。M03 问题仍然是我需要解决的问题。因此,如果你们要进行测试,请检查进给保持和归位周期的稳健性。谢谢!

喜欢 (0)