Contact me: hankecnc@gmail.com

命令行问题 v9 #642

推推 grbl 3年前 (2023-01-22) 129次浏览

关闭
kd8wdave 打开了这个问题 2015 年 3 月 29 日 · 9条评论
关闭

命令行问题 v9#642

kd8wdave 打开了这个问题 2015 年 3 月 29 日 · 9条评论

注释

命令行问题 v9 #642

我建造了一台“自制”数控机床。我目前正在使用命令行功能测试它的动作。当我使用 G1 命令以 F100 速度单独使用 X80 或 X-80 执行 ann ‘X move’ 时,它似乎工作得很好。我用铅笔作为纸上的标记,并用自制的安装主轴来固定我的旧 dremel(直到我购买的主轴来了)。我的 Y 轴和 Z 轴似乎也可以使用“grbl 控制器”GUI 正常工作。但是,当我用 F3 或更少执行 X 移动时,当我只给出 X 命令时,我也看到 Y 轴移动。??这搞砸了我试图将 PCB 板上的铜沿着铜板边缘剃掉的尝试。这个问题一直以来,
我的背景是一家大型钢厂的退休“工艺工程师”。我已经在多得数不过来的机器上编写过代码,目前仍在为 PIC 控制器编写我自愿提供的东西。我为我正在使用的双极电机构建了自己的 Arduino step/dir 命令到 8 步表。我的卡支持我在 ebay 上找到的双 H 桥驱动器。当 F 速度命令约为 30 mm/min 或更高时,我没有问题。任何想法将不胜感激?

干杯

命令行问题 v9 #642 kd8wdave 更改了标题 命令行问题 命令行问题 v9 2015 年 3 月 29 日
命令行问题 v9 #642
成员

@kd8wdave: 感谢举报。我发现越来越多的 LinuxCNC 用户最近开始转向 Grbl,这很有趣。(尤其是退休工程师!:))

所以,你遇到的问题很不寻常。内部轴管理相当简单和强大。没有什么我能立即想到的会导致这个特定的轴混淆问题。我知道某些 GUI 在将 g 代码发送到 Grbl 之前会对 g 代码进行一些“预处理”。要排除 GUI,请尝试通过串行终端程序(如 CoolTerm)直接连接到 Grbl。看看它是否在那里做同样的事情。

至于最小进给速度,Grbl有一个保守的下限1.0mm/min(在config.h中配置)。这主要是为了防止与低于 0.1 毫米/分钟的非常慢的运动的浮动精度相关的问题。过去,这会在步进计算中引起问题,但不会像您那样移动轴。

为了帮助诊断此问题,请发布您的$$设置和$I构建信息。另外,如果可能的话,请尝试通过移除与 arduino 的所有连接并执行相同的测试来验证它不是您电子设备中的东西。监控引脚 2(X 步)和引脚 3(Y 步)上的输出。

命令行问题 v9 #642
成员

@kd8wdave: 快速检查了一下,一切正常。方向引脚设置正确,步进脉冲引脚输出正确。尝试了从 1.0 毫米/分钟、3.0 毫米/分钟到 300 毫米/分钟的各种进给速率。没变。不确定发生了什么。

但是,一旦我有了你的设置,我应该能够对你的设置进行更接近的模拟,看看它是否是特定的设置。

命令行问题 v9 #642
作者

我会做你建议的事情。我使用
“grbl”的主要原因是远离并行端口。我真的相信
USB PC 到 Arduino 解决方案更容易处理。我最初
的问题有点出人意料,但会做一些更广泛的
测试以查看结果。感谢您的回应。 顺便说一句,除非您使用命令行,否则
v9 上的“grbl contnroller”gui 不会正确设置常量。
是否知道
该功能何时会被修复,或者它只是可以忽略的东西。它
显示数据很好,但命令代码是错误的。
我只是通过命令行进行设置,这样就可以正常工作。
我将报告我在我的问题上的发现。

在 2015/03/29 10:21,Sonny Jeon 写道:

@kd8wdave https://github.com/kd8wdave:感谢您的报告。我
发现越来越多的 LinuxCNC 用户
最近开始转向 Grbl,这很有趣。(尤其是退休工程师!:))

所以,你遇到的问题很不寻常。内部轴管理
相当简单和强大。没有什么我能
立即想到的会导致这个特定的轴混淆问题。我知道某些 GUI 在将 g 代码 发送到 Grbl
之前会对 g 代码进行一些“预处理” 。
要排除 GUI,请尝试
通过串行终端程序(如 CoolTerm)直接连接到 Grbl。看看它是否在那里做
同样的事情。

至于最小进给速度,Grbl有一个保守的下限
1.0mm/min(在config.h中配置)。这主要是为了防止与低于 0.1 毫米/分钟
的非常慢的运动的浮动精度相关的问题。
过去,这会在步进
计算中引起问题,但不会像您那样移动轴。

为帮助诊断此问题,请发布您的 |$$| 设置和|$I|
构建信息。 另外,如果可能的话,请尝试通过移除与arduino 的所有连接并执行相同的测试来验证它不是
您电子设备中的东西。
监控引脚 2
(X 步)和引脚 3(Y 步)上的输出。


直接回复此电子邮件或在 GitHub
#642(评论)上查看。

命令行问题 v9 #642
作者

谢谢 Sonny,我会在今天某个时候获取设置并将它们发送给您。

戴夫

在 2015/3/29 12:13,Sonny Jeon 写道:

@kd8wdave https://github.com/kd8wdave:快速检查了一下,
一切正常。方向引脚设置正确,
步进脉冲引脚输出正确。
尝试了从1.0 毫米/分钟、3.0 毫米/分钟到 300 毫米/分钟的各种进给速率。没变。不确定发生了什么。

但是,一旦我有了你的设置,我应该能够对
你的设置进行更接近的模拟,看看它是否是特定的设置。


直接回复此电子邮件或在 GitHub
#642(评论)上查看。

命令行问题 v9 #642
作者

嗨 Sonny,
这是我直接从 hyperterm 端口设置中获取的设置数据的副本。
还有几张我机器的照片。
我需要一些时间来尝试您建议的不同步骤。我
发现我可以连接到一个超级
端口并命令机器,但我需要设置我的示波器以便我可以
捕获
X 轴和 Y 轴上的步进命令。我会在今晚或明天尝试这样做。

我将得到一个更好的程序来与之通信,(然后我可以将
我自己的字符命令回显给
自己,这样我就不会丢失事件的顺序并且知道我是否打错了字。

干杯

我还没有安装开关。
我暂时保留了默认的行程限制
我正在尝试使用命令“G1 X75 F3”或“G1 X-75 F3”
当我这样做时,我可以看到“Y 轴”步进(始终在同一
方向).

$i
[0.9i.20150315:]
$G
<空闲,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000>
$$
[G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 F120。S0.]
$0=100 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=1 (step enable反转,布尔)
$5=0(限制引脚反转,布尔)
$6=0(探针反转,布尔)
$10=3(状态报告掩码:00000011)
$11=0.020(结点偏差,mm)
$12=0.002(电弧公差, mm)
$13=0(报告英寸,布尔)
$20=0(软限制,布尔)
$21=0(硬限制,布尔)
$22=0(归位周期,布尔)
$23=0(归位方向反转掩码:00000000)
$24=25.000(归位进给,毫米/分钟)
$25=500.000(归位搜索,毫米/分钟)
$26=250(归位去抖,毫秒)
$27=1.000(归位牵引, mm)
$100=314.961 (x, step/mm)
$101=66.929 (y, step/mm)
$102=314.961 (z, step/mm)
$110=150.000 (x max rate, mm/min)
$111=500.000 (y最大速率,mm/min)
$112=150.000 (z 最大速率, mm/min)
$120=3.000 (x 加速度, mm/sec^2)
$121=3.000 (y 加速度, mm/sec^2)
$122=3.000 (z accel, mm/sec^2)
$130=200.000(x 最大行程,mm)
$131=200.000(y 最大行程,mm)
$132=200.000(z 最大行程,mm)

命令行问题 v9 #642

我的想法是“你在 eBay 上找到的双 H 桥”……
(最好有一个链接)

您正在使用 100uS 步进脉冲运行吗?
(我认为默认是10uS)
这么长的脉冲有什么原因吗?

如果将其降低到 50uS、25 或 evne 10uS 会怎样?

命令行问题 v9 #642
作者

你好,先生;
我测量了 Arduino-Uno 设备
沿 X 轴长距离移动时的步进脉冲之间的间隔,发现
无论我将步进脉冲设置为 10 us 还是 100 us,都有大约 2 毫秒的间隔。我
可能可以用 50 us 完成,但我开发了一个 PIC16F628A 程序
,它获取 step/dir/enable 信号并将其转换为
我的步进电机所需的必要 8 步波脉冲序列。PIC卡
(自制)将波(4 线)步进脉冲直接发送到
我从 ebay 购买的双 H 桥设备。100 us
只是一个“安全余量”,允许我在没有
中断驱动程序例程的情况下运行,所以我只是“轮询”必要的
信号。我用三个
单独的卡片(每个轴一张)
我想我会错过 25 us 或更短的脉冲。我不太确定
人们如何接受 10 us 的设置。我确实遇到的另一个问题

,在 GUI 控制器发出命令后,设备会停止,
有时恰好在移动命令的中途。然后我无法让它
在没有重置的情况下重新启动。考虑到这一点,并决定
将接口从 115k 降低到 38.4k。
自从我这样做以来,它就没有死过。可能只是我的 Optiplex 台式机的问题,
不确定。我很高兴它使用 USB
端口运行,不需要并行端口!恕我直言,72 岁,
我仍然发现很难只使用“别人的”程序而不
自己讨价还价。退休后,我有几个爱好,这
只是其中之一。

这是我第一次玩 CNC 应用程序,
玩起来很有趣。我发现了一些我将
在下一个中改进的地方,但我将首先让这个正确工作。
该电机驱动器有来自多个来源的“许多”供应商。
这是我的照片。

非常感谢您的关注。

戴夫

在 2015 年 3 月 29 日下午 5:18,Norwegian-Gadgetman 写道:

我的想法是“你在 eBay 上找到的双 H 桥”……
(最好有一个链接)

您正在使用 100uS 步进脉冲运行吗?
(我认为默认是10uS)
这么长的脉冲有什么原因吗?

如果将其降低到 50uS、25 或 evne 10uS 会怎样?


直接回复此电子邮件或在 GitHub
#642(评论)上查看。

命令行问题 v9 #642
作者

嗨桑尼,我发现了问题。当我在
关闭 dremel 的情况下运行测试时,一切似乎都正常,尽管
存在另一个问题。当我以大约 3-5 毫米/分钟的速度非常缓慢地跑步时,我会感到有些
急促,并且有些失步。我将不得不
检查我的机械设置,以确保我没有在某处绑定。
作为“Y 轴运动”,当我打开 dremel 时,电源
线插入与我用于逻辑板的开关电源相同的配电盘,我 在步进输入上
得到各种“错误”步进
点(不是
来自 arduino!)它们是由
dremel 电机的交流感应噪声反馈引起的。我插上了
将 dremel 插入一根 50 英尺的电源线,电源位于完全不同的
电路上,问题几乎消失了。
我要设置一个交流过滤器来防止这个问题。

感谢您花时间查看,但我想我可能给您造成了
过度的压力。

我确实注意到,根据 Fn 速度设置,
步骤之间有不同的时间间隔。完成
滤波器设置后,我将测试这些时序问题,以便
相应地设置参数。

我的新主轴是直流主轴,但我还必须考虑
它的“噪音”问题。

再次感谢
戴夫

在 2015/3/29 12:13,Sonny Jeon 写道:

@kd8wdave https://github.com/kd8wdave:快速检查了一下,
一切正常。方向引脚设置正确,
步进脉冲引脚输出正确。
尝试了从1.0 毫米/分钟、3.0 毫米/分钟到 300 毫米/分钟的各种进给速率。没变。不确定发生了什么。

但是,一旦我有了你的设置,我应该能够对
你的设置进行更接近的模拟,看看它是否是特定的设置。


直接回复此电子邮件或在 GitHub
#642(评论)上查看。

命令行问题 v9 #642
成员

@kd8wdave: 不用担心。很高兴您找到问题的根源。在我所见过的问题中,大约 90% 是由电噪声引起的。很难调试,人们经常认为这是 Grbl 的问题。所以,你并不孤单!:)

喜欢 (0)