开源改变世界!!

从另一个 arduino 连接串行作为控制器 #623

推推 grbl 2年前 (2022-10-26) 266次浏览 0个评论
打开
joaquinmartinezgc 打开了这个问题 on 12 Mar 2015 · 56 条评论
打开

从另一个 arduino 串行连接作为控制器第623章

joaquinmartinezgc 打开了这个问题 on 12 Mar 2015 · 56 条评论

注释

从另一个 arduino 连接串行作为控制器 #623

你好!我想知道为我的工厂制作一个人工控制器。我已经知道 Grbl 做不到,因为它是一个 g 代码解释器。

但我的想法是使用另一个 arduino 作为代理。如果手动模式打开,则 3 个编码器电位器控制磨机,如果手动模式关闭,则将串行转发到 Grbl。

有可能以这种方式做到吗?

谢谢!

从另一个 arduino 连接串行作为控制器 #623
成员

尚尼特 评论 on 12 Mar 2015

@peluzza:绝对!您只需将第二个 Arduino 的串行 TX/RX 线连接到 Grbl 的 RX/TX 输入。这一直是我想做的事情,但一直没有时间。这个想法是在 Arduino IDE 中编写一个非常简单的 .INO 程序,使用他们的库来支持 SD 卡、LCD 和一些控制引脚。这样,您可以在没有计算机的情况下进行 CNC 设置。

从另一个 arduino 连接串行作为控制器 #623

哇,那么,是时候把手放在键盘上开始编码了;)

我在这里找到了一个关于它的旧线程:http:
//letsmakerobots.com/content/can-one-arduino-resent-serial-com-another-arduino

如果有人发现/知道并且已经完成了这样的项目,或任何其他提示,请在此处发布。谢谢!

从另一个 arduino 连接串行作为控制器 #623
成员

尚尼特 评论 on 12 Mar 2015

另外,这也适用于其他人,请分享源代码!我很想把这样的东西做成一个受支持的项目。

从另一个 arduino 连接串行作为控制器 #623

轨迹球或类似的东西不是更好的选择吗?

有了花盆你有什么?270度的调整,5-10%的定位误差,准确定位比较困难。
此外,它需要配置以匹配机器的大小。

使用轨迹球或其他基于编码器的技术(计算机鼠标上的一堆滚轮?),您可以滚动并让它移动一个设定的乘数。或者你可以有一个额外的“灵敏度”控制……
此外,它应该很容易转换为发送连续的反应坐标系(G91)命令流。

从另一个 arduino 连接串行作为控制器 #623

你应该看看这个选项http://www.shapeoko.com/forum/viewtopic.php?f=7&t=5505

这让我很感兴趣,我可能会玩它(当我没有其他项目时……哈哈。)

从另一个 arduino 连接串行作为控制器 #623

@Norwegian-Gadgetman为什么要花盆?简单的旋转编码器通常具有 20 步和 360º 无锁定位置,因此比轨道或操纵杆精确得多。我的是 EC11,它也是瞬时按钮,所以我的想法是通过单击来切换微步、步、转,并简单地旋转尽可能多的步,就像 G 代码一样(3D Etch-A-Sketch!! !)

这对于一组准确的自定义零位非常有用(想想连接到它的激光)。

可能我会在几周内开始这个项目,所以任何进一步的帮助将不胜感激。

从另一个 arduino 连接串行作为控制器 #623

只是软限制不再起作用,坐标偏移也有一些问题。
如果改为 pedant 由 gui 处理,那么情况会更好,但
超出了 grbl 的范围。

2015-03-11 21:40 GMT+01:00,peluzza通知@github.com :

@Norwegian-Gadgetman为什么要花盆?简单的旋转编码器通常具有 20 步
和 360º 无锁定位置,因此比轨道或
操纵杆精确得多。我的是 EC11,它也是瞬时按钮,所以我的想法是
通过单击来切换微步、步、转,并简单地旋转尽可能多的
步,就像 G 代码一样(A 3D Etch-A-Sketch! !!)

这对于一组准确的自定义零位非常有用
(想想连接到它的激光)。


直接回复此邮件或在 GitHub 上查看:
#623(评论)

从另一个 arduino 连接串行作为控制器 #623

@cri-s我的意思是在开始铣削之前微调零位,我用它来修复或改进已经完成的零件(PCB)。对我来说,微调和手动控制是必须的。

从另一个 arduino 连接串行作为控制器 #623

Peluzza,请不要将 EC11 称为“pot”,因为它是“Potentiometer”的缩写,它是一个可变电阻器。

我假设您的意思是可变电阻器,例如在放大器中用作音量控制的可变电阻器。

混合概念只会搅浑水,浪费时间。

从另一个 arduino 连接串行作为控制器 #623

@Norwegian-Gadgetman嗯,这是在说“编码器罐”之后的一个简单的捷径。抱歉,如果我让您感到困惑(并浪费了您的时间)。我总是想说“带有瞬时按钮的旋转编码器”。

在西班牙语中,“pot”只是旋钮的缩写,所以我们用“resitor pot”和“encoder pot”来区分。

从另一个 arduino 连接串行作为控制器 #623

目前正在构建一个控制 UNO (Grbl) 的 arduino Mega。我有一个可行的解决方案,并希望对其进行扩展,以充分利用 Grbl 描述的 I/O 缓冲区功能。我还为通用 gcode Sender 开发了一个 passthrough。Gcode 文件逐行存储在 SD 上。刚刚发现我在 SD 上的一个“行”中存储了多个 Gcode,破坏了我的解决方案的稳健性。

从另一个 arduino 连接串行作为控制器 #623

@chamnit
你好!我有类似的东西:我正在研究嵌入式cnc控制器。
它实际上是使用 arduino uno 作为 grbl 支持,以及一个 Mega 来支持包括 SD 读卡器的 LCD 触摸屏。它可以根据特定目的从用户输入生成 gcode,将其保存在 SD 上的 gcode 文件中,并通过串行从 mega 流式传输到 grbl。或者我可以将gcode文件从
计算机放在sd上,将它放在SD阅读器中,然后将文件流式传输到grbl。所有这些实际上都在起作用。
只是管理 grbl 退货的小问题。
我很乐意分享它,让我清理我的代码..
grbl 是一个了不起的工具,让我节省了很多时间,谢谢。

从另一个 arduino 连接串行作为控制器 #623

我的E-mail地址是:

NL01871@gmail.com

日期:星期一,2015 年 3 月 16 日 02:01:16 -0700
发件人:notifications@github.com
收件人:grbl@noreply.github.com
抄送:jan_jansen_47@hotmail.com
主题:回复:[grbl] 从另一个 arduino 连接串行为控制器(#623

@chamnit

你好!我有类似的东西:我正在研究嵌入式cnc控制器。

它实际上是使用 arduino uno 作为 grbl 支持,以及一个 Mega 来支持包括 SD 读卡器的 LCD 触摸屏。它可以根据特定目的从用户输入生成 gcode,将其保存在 SD 上的 gcode 文件中,并通过串行从 mega 流式传输到 grbl。或者我可以将 gcode 文件放在 sd 上

计算机,将其放入 SD 阅读器中,将文件流式传输到 grbl。所有这些实际上都在起作用。

只是管理 grbl 退货的小问题。

我很乐意分享它,让我清理我的代码..

grbl 是一个了不起的工具,让我节省了很多时间,谢谢。


直接回复此邮件或在 GitHub 上查看。

从另一个 arduino 连接串行作为控制器 #623

嗨,这是我通过两个 arduino 之间的串行从 SD 卡流式传输 gcode 文件的代码。
如果它可以帮助
https://github.com/tchepperz/ArdSketch

从另一个 arduino 连接串行作为控制器 #623

哇!它有很大帮助!谢谢@tchepperz

从另一个 arduino 连接串行作为控制器 #623

@tchepperz: 好的!您是否知道这是否适合并在 328p Uno 型控制器上运行?

从另一个 arduino 连接串行作为控制器 #623

@chamnit
我认为不会,问题是我为具有不同串行端口的 Mega 编写了它。我使用 Serial 通过监视器与用户通信,使用 Serial1 与 grbl 通信。
在 Uno 上,您只有一个串行端口,因此调用 Serial1 时会出现编译问题。

但经过一些修改,它可以在 Uno 上运行,无需使用串行监视器作为接口,而仅用于
grbl。程序可以修改为直接打开并流式传输到SD上的指定文件。那会奏效。

如果您想要用户界面,解决方案是液晶触摸屏。在我的工厂中,我使用液晶接口,因此只有一个用于 grbl 的串行端口。但我不确定你在 Uno 上是否有足够的 pin 来管理 lcd、touch、sd 和串行。

从另一个 arduino 连接串行作为控制器 #623

是的,因为 SD 和图形触摸显示器的内存要求,所以使用 mega。不幸的是不能共享代码。我建议更好地了解 grbl 通信。例如阅读通用 gcode 发送器 Java 的东西。
继续做好事。
Jan Jansen
Sagittalaan 22 5632al
+31688806529
2015 年 3 月 20 日 17:01,tchepperz notifications@github.com写道:@chamnit
我认为不会,问题是我为具有不同串行端口的 Mega 编写了它。我使用 Serial 通过监视器与用户通信,使用 Serial1 与 grbl 通信。
在 Uno 上,您只有一个串行端口,因此调用 Serial1 时会出现编译问题。

但经过一些修改,它可以在 Uno 上运行,无需使用串行监视器作为接口,而仅用于
grbl。程序可以修改为直接打开并流式传输到SD上的指定文件。那会奏效。

如果您想要用户界面,解决方案是液晶触摸屏。在我的工厂中,我使用液晶接口,因此只有一个用于 grbl 的串行端口。但我不确定你在 Uno 上是否有足够的 pin 来管理 lcd、touch、sd 和串行。

——直接回复此邮件或在 GitHub 上查看。

从另一个 arduino 连接串行作为控制器 #623

要在 arduino uno 上编译它,请使用这个库:
http ://www.pjrc.com/teensy/td_libs_AltSoftSerial.html

在包含行之后,添加以下两行:

#include <AltSoftSerial.h>
AltSoftSerial Serial1;

结果大小超过16k。

2015-03-20 20:11 GMT+01:00,Jan_Jansen_47通知@github.com :

是的,因为 SD 和图形
触摸显示器的内存要求,所以使用 mega。不幸的是不能共享代码。我建议更好地
了解 grbl 通信。例如阅读通用 gcode 发送器 Java 的
东西。
继续做好事。
Jan Jansen
Sagittalaan 22 5632al
+31688806529
2015 年 3 月 20 日 17:01,tchepperz notifications@github.com写道:@chamnit
我认为不会,问题是我为具有不同
串行端口的 Mega 编写了它。我使用 Serial 通过监视器与用户通信,使用 Serial1
与 grbl 通信。
在 Uno 上,您只有一个串行端口,因此
调用 Serial1 时会出现编译问题。

但经过一些修改,它可以在 Uno 上运行,无需使用串行监视器
作为接口,而仅用于
grbl。程序可以修改为直接打开并流式传输到
SD上的指定文件。那会奏效。

如果您想要用户界面,解决方案是液晶触摸屏。在我的工厂中,我使用
液晶接口,因此只有一个用于 grbl 的串行端口。但我不确定
你在 Uno 上是否有足够的 pin 来管理 lcd、touch、sd 和串行。

——直接回复此邮件或在 GitHub 上查看。


直接回复此邮件或在 GitHub 上查看:
#623(评论)

从另一个 arduino 连接串行作为控制器 #623

@cri-s 谢谢
AltSoftSerial 似乎使它与 Uno 一起运行。我无法测试所有程序,因为我的 uno 没有 SD 阅读器,但编译没有任何问题。只需按照 cri-s 添加行并将
Serial1.begin(115200) 修改为 Serial1.begin(57600) 。
引脚 9 成为 TX 和引脚 8 RX 用于 Serial1 …@chamnit

从另一个 arduino 连接串行作为控制器 #623

该库在 115200 处可以正常工作,只需使用 arduino 1.0.1
或更高版本进行编译。实际版本是 1.6.1
需要更改的是这一行,正如评论中所描述的那样。
while(!SD.begin(53)){对于记录而言,Sparkfun SD 盾牌与 arduino uno 的此解决 方案
不兼容。据我所知,它是唯一不兼容的 sd 盾牌。

2015-03-21 20:48 GMT+01:00 皮埃尔通知@github.com :

@cri-s https://github.com/cri-s谢谢
AltSoftSerial 似乎使它与 Uno 一起运行。我无法测试所有
程序,因为我的 uno 没有 SD 阅读器,但编译没有
任何问题。只需按照 cri-s 添加行并将
Serial1.begin(115200) 修改为 Serial1.begin(57600) 。
引脚 9 成为 TX 和引脚 8 RX 用于 Serial1 …@chamnit
https://github.com/chamnit


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

从另一个 arduino 连接串行作为控制器 #623

这个线程对于我想要启动的项目来说有点重要,所以我想我会继续而不是打开一个新线程……

我想为转台构建一个控制器,以允许它围绕一个圆圈索引位置。(请参阅相当昂贵的“分区大师”以了解其工作原理。)

所需的 gcode 非常简单,除了停靠点之间的距离外,每次都是相同的。

显然,我可以使用两个 arduino——一个有一个键盘和一个执行 UI 任务的显示器,计算所需的 gcode,然后通过串行将其流式传输到 GRBL arduino。

不过,这似乎很浪费。

有没有一种简单的方法可以从单个 arduino 执行这两项任务?换句话说:它在“UI 模式”下运行,直到构建 gcode,然后存储 gcode,转换为“GRBL 模式”并读取 gcode/移动轴?

对不起,如果这是一个荒谬的问题。我对 GRBL 和 arduino 很陌生,所以我还在搞清楚。

最好的,
-本

从另一个 arduino 连接串行作为控制器 #623
成员

尚尼特 评论 on 2 Apr 2015

@benha:由于闪存和内存的原因,可以将所有东西集成到 Arduino Mega 上,而不是 Uno。

一般来说,我建议使用第二种 Arduino 或 RaspberryPi 方法。虽然看起来很浪费,但您不必担心与主 repo 保持同步,并且可以在 10 美元的 Arduino Micro 上运行 Grbl(可能会更便宜)。您需要做的就是在通信协议发生变化时更新它。

您也不必担心破坏 Grbl 代码中的某些内容。即使它的编写和注释都很好,如果您不知道自己在做什么,您也可以轻松地做出损害代码完整性和性能的事情。

从另一个 arduino 连接串行作为控制器 #623

好的。这是我所期望的,但我想仔细检查一下。

谢谢!

从另一个 arduino 连接串行作为控制器 #623

键盘可以连接到单个 io 引脚,这不是问题,
问题更多在于
显示所需的引脚,如果不使用 i2c 显示。
Altrought,如果您确实想要只有单轴,这会给您 6 个
引脚,如果您
不使用主轴,则更多,…。因此,出于这个目的,这似乎是可能的。
@Sonny_Jeon,当您切换到 arduino 时,可以
正式包含一个名为 idle 的函数作为示例,
当没有计划缓冲区或
使用某些计划缓冲区时定期调用该函数,只有在没有运动、停止或错误。包括使用属性((weak))
的虚拟函数;允许 更好地扩展库。

对 init 也应该这样做,并且可能代替 idle、usr_init、
usr_idle、usr_loop。 如果不存在中止状态
,gc_execute_line() 应该在返回之前调用 usr_loop() 。 这允许从 i2c 或 sd 卡注入命令。

2015-04-01 19:50 GMT+02:00,Sonny Jeon notifications@github.com

@benha
:由于闪存和内存的原因,可以将所有东西集成到 Arduino Mega 上,而不是Uno。

一般来说,我建议使用第二种 Arduino 或 RaspberryPi
方法。虽然看起来很浪费,但您不必担心
与主 repo 保持同步,并且可以在 10 美元的 Arduino
Micro 上运行 Grbl(可能会更便宜)。您需要做的就是在
通信协议发生变化时更新它。

您也不必担心破坏 Grbl 代码中的某些内容。即使
它的编写和注释都很好,
如果您不知道
自己在做什么,您也可以轻松地做出损害代码完整性和性能的事情。


直接回复此邮件或在 GitHub 上查看:
#623(评论)

从另一个 arduino 连接串行作为控制器 #623

@cri-s:我不确定您切换到 Arduino 是什么意思。Grbl 一直在 Arduino Uno 上运行。至于 usr 循环,就像你问的那样,我无意支持像现在这样的任何东西。我还有很多其他事情要做。

从另一个 arduino 连接串行作为控制器 #623

桑代尔 评论 2017 年 2 月 23 日  

我试过了,但结果很奇怪:我需要一些帮助!

Grbl (v1.1e) 在 UNO(Serial) 上闪烁,并使用 RX 和 TX 引脚连接到 Leonardo(Serial1)。
并且两块板都使用USB连接到PC,以检查通信状态。

  1. 当我在 Leonardo USB 串行输入上键入 $I 命令时,Grbl 版本信息显示在 UNO 串行输出窗口中。但是,Leonardo 根本不显示版本信息。
  2. 当我在 UNO 串行输入上键入 $I 时,两个串行输出窗口上都没有显示任何信息。

看起来这两个串行互锁,或者它像两个窗口中的一个串行端口一样工作。

任何人都可以解释为什么会这样,以及解决方案?

莱昂纳多密码:

无效设置() {
Serial.begin(115200);
while (!Serial) {}
Serial1.begin(115200);
while (!Serial1) {}
Serial.println(“”);
}

无效循环() {
char rc = 0;
if (Serial1.available() > 0) {
rc = Serial1.read();
Serial.write(rc);
}

if (Serial.available() > 0) {
rc = Serial.read();
Serial1.write(rc);
}
}
`

输入(在 Leonardo 上):$I
输出(在 UNO 上):
[VER:1.1e.20170114:]
[OPT:V]
ok

从另一个 arduino 连接串行作为控制器 #623

我已经不在这了,但我记得如果我尝试通过 USB 向 uno 发送 grbl 命令,当串行 rx tx 连接到我的兆时它不起作用。所以我习惯于断开 uno 和 mega serial (rx tx) 以使用 grbl (uno) 和 usb。我无法准确解释,但我有红色表示 usb 在 arduino 上用作串行通信,而 uno 只有一种串行可能性,所以你必须选择 rx tx 或 usb 但两者不能一起工作。莱昂纳多或巨型是不同的,因为有很多连续的可能性
希望它有所帮助..

从另一个 arduino 连接串行作为控制器 #623

谢谢你。
我已经尝试过你的建议。结果是一样的——莱昂纳多没有收到数据。
我试过甲虫(小包装莱昂纳多)板。似乎发送和接收,结果再次无法使用,因为一半的数据丢失了。这可能是硬件相关问题。由于 grbl 波特率固定为 115200,我无法使用较低的波特率进行测试。我会尝试不同的板组合。

从另一个 arduino 连接串行作为控制器 #623

这是一个 arduino 项目,使用第二个 arduino 显示液晶屏,希望对您有所帮助
#1125

从另一个 arduino 连接串行作为控制器 #623

感谢 vMeph。是的,我从链接中找到了我的连接无法正常工作的原因
,这非常有帮助。
我在 GRBL 论坛上关注了 LCD,并阅读了使用模拟 IC 进行切换的原理图。
拿到IC需要时间,但请确保我能做到。

该方案不是很复杂。IC CD4066 四边开关只使用了一个门。当 MP 不需要 GRBL RxD 上的 TxD 线时,此电子开关用于隔离线路。如果没有这种隔离,进入 GP 的 USB 端口的另一个发送器将无法再发送。确实,如果我们看一下 Nano(UNO 也一样)的数据传输图,US​​B 数据通过 1k。电阻器因此低于我们的电阻器,并且会在没有绝缘的情况下被压碎。

从另一个 arduino 连接串行作为控制器 #623

vMeph 评论 2017 年 2 月 25 日  

这将在没有 ic 4060 的情况下使用 lcd 你只是不使用连接到 grbl arduino 的 rx 的 leonardo 的 tx,只有在你想将数据从 leonardo 发送到 grbl arduino 的情况下才需要 ic,在这种情况下液晶显示器会起作用,莱昂纳多只是在接收数据。

从另一个 arduino 连接串行作为控制器 #623

我也在做同样的事情。我已将 GRBL 上传到 UNO,并且我有一个控制 LCD、键盘和 SD 的 MEGA。我使用 MEGA 作为 GRBL 控制器。我在串行通信方面遇到了一些问题,也许有人可以发光。

我有 mega Tx->Uno Rx 和 mega Rx -> Uno Rx。所以他们应该说得很好,但是,似乎只有一种方式交流。我能够从 Mega 向 Uno 发送 Serial.println(“$H”) (通过 Pin 0,1 而不是 USB),GRBL 将接收并运行命令,但不会发回 “ok” 。但是我查看了 Uno 的 USB 串行输出,我看到在发送 $H 命令后,GRBL 通过在我的 Arduino 终端中打印“ok”来确认命令,但是 MEGA 没有通过引脚接收到这个 ok ???

我究竟做错了什么。理想情况下,我会将 Uno 作为主设备,它可以从我的 Mega 控制器接收 G 代码,并且可以在通过 USB 连接时从 PC 接收 G 代码。

有人在做这个吗?建议?提示?

从另一个 arduino 连接串行作为控制器 #623
从另一个 arduino 连接串行作为控制器 #623
从另一个 arduino 连接串行作为控制器 #623

b33zwaXer 评论 2018 年 8 月 24 日  

我最终解决了我的问题。我将 mega serial3 rx tx 连接到 uno/grbl 串行 Rx tx。现在我通过将mega serial3的读/写发送(反弹)到mega serial来使用mega作为主控制器。现在我可以使用连接到mega的键盘将gcode作为一个简单的独立系统发送到uno/grbl,或者我可以将mega连接到PC并将gcode“直接发送到”(反弹)到uno。它工作得很好!

从另一个 arduino 连接串行作为控制器 #623
从另一个 arduino 连接串行作为控制器 #623

为什么它很愚蠢?它使事情变得不那么复杂,而简单是我努力的一件事。为什么我要把 GRBL、LCD、键盘和 SD 卡读卡器拼凑成一个巨型设备。使用额外的 arduino 作为专用 grbl 设备更容易。对我来说,这似乎是 grbl 的预期用途。它作为一个独立的系统,你向它发送 g 代码,它会做它应该做的事情。为什么我要混淆这台润滑良好的机器?你听起来很固执,我为什么要把它单独放在mega上?或者我应该只使用 RPi!

从另一个 arduino 连接串行作为控制器 #623
从另一个 arduino 连接串行作为控制器 #623
成员

尚尼特 评论 2018 年 8 月 25 日  

@algo1980: 贬低人是不好的。这对任何人都没有帮助。请不要在这里做。

从另一个 arduino 连接串行作为控制器 #623

你好桑代尔,

可以在不使用继电器中断 TX 线路的情况下执行此操作。我认为您遇到的问题是您将 USB 连接到 grbl/arduino,这会占用 Grbl_Serial 上的 TX 线。如果您将 Grbl 视为主控制器(在您的情况下为 leo)的从属,您可以通过主控制器直接与 grbl 对话。我的代码与您在上面显示的相同。主控制器只是在 master_serial 和 master_serial1(连接到 GRBL_serial)之间反弹信息。这样做,我可以使用主控制器发送 G 代码(独立),或者如果我愿意,我可以插入 PC 并使用 G 代码发送器。希望这可以帮助。

从另一个 arduino 连接串行作为控制器 #623

算法,为什么?请给出理由。我不是软件工程师。我这样做是为了好玩。

从另一个 arduino 连接串行作为控制器 #623
从另一个 arduino 连接串行作为控制器 #623
从另一个 arduino 连接串行作为控制器 #623
从另一个 arduino 连接串行作为控制器 #623

这将在没有 ic 4060 的情况下使用 lcd 你只是不使用连接到 grbl arduino 的 rx 的 leonardo 的 tx,只有在你想将数据从 leonardo 发送到 grbl arduino 的情况下才需要 ic,在这种情况下液晶显示器会起作用,莱昂纳多只是在接收数据。

我在 GRBL RX 线上使用了一个串联的 1N4148 小信号二极管,然后你得到双向通信
不需要 IC

从另一个 arduino 连接串行作为控制器 #623

如何使用与 Arduino Uno 的 UART 连接来控制 grbl

从另一个 arduino 连接串行作为控制器 #623

我也在做同样的事情。我已将 GRBL 上传到 UNO,并且我有一个控制 LCD、键盘和 SD 的 MEGA。我使用 MEGA 作为 GRBL 控制器。我在串行通信方面遇到了一些问题,也许有人可以发光。

我有 mega Tx->Uno Rx 和 mega Rx -> Uno Rx。所以他们应该说得很好,但是,似乎只有一种方式交流。我能够从 Mega 向 Uno 发送 Serial.println(“$H”) (通过 Pin 0,1 而不是 USB),GRBL 将接收并运行命令,但不会发回 “ok” 。但是我查看了 Uno 的 USB 串行输出,我看到在发送 $H 命令后,GRBL 通过在我的 Arduino 终端中打印“ok”来确认命令,但是 MEGA 没有通过引脚接收到这个 ok ???

我究竟做错了什么。理想情况下,我会将 Uno 作为主设备,它可以从我的 Mega 控制器接收 G 代码,并且可以在通过 USB 连接时从 PC 接收 G 代码。

有人在做这个吗?建议?提示?

嘿,您介意分享您在大型设备上使用的代码吗?
当我发送 Serial.print(“$H”) 时,试图让 grbl 响应时遇到了一些问题。但是,当我在控制器 arduino 的串行监视器上输入命令时,grbl 会响应

从另一个 arduino 连接串行作为控制器 #623

最后,我放弃了 mega 并在 Rpi 上使用了通用 gcode 发送器 UGS。效果很好!

从另一个 arduino 连接串行作为控制器 #623

最后,我放弃了 mega 并在 Rpi 上使用了通用 gcode 发送器 UGS。效果很好!

哦,我明白了,我只是想知道您在输入 serial.println(“$H”) 时为使 grbl 命令工作而写了什么

从另一个 arduino 连接串行作为控制器 #623

不确定这是否有帮助,但我确实遇到了这个网站。
https://github.com/ChrisAnd1998/GRBL-Pendant-with-LCD

从另一个 arduino 连接串行作为控制器 #623

我正在为我的 CNC 使用 grbl。
如果我的 PC 和 Uno 之间的串行通信停止,我希望主轴关闭。
(我每 200 毫秒用“?”命令从 PC 到 grbl 查询位置数据。
因此,如果我断开串行端口通信或我的 PC CNC 应用程序崩溃,该串行数据线流量将停止)。
我想用另一个 PLC 检测到这个并关闭主轴等。
我可以在不影响串行通信的情况下只监视 Tx 引脚的这个流量(脉冲边缘)吗?
有人试过这个吗?

从另一个 arduino 连接串行作为控制器 #623

我正在为我的 CNC 使用 grbl。
如果我的 PC 和 Uno 之间的串行通信停止,我希望主轴关闭。
(我每 200 毫秒用“?”命令从 PC 到 grbl 查询位置数据。
因此,如果我断开串行端口通信或我的 PC CNC 应用程序崩溃,该串行数据线流量将停止)。
我想用另一个 PLC 检测到这个并关闭主轴等。
我可以在不影响串行通信的情况下只监视 Tx 引脚的这个流量(脉冲边缘)吗?
有人试过这个吗?或者有没有其他方法可以实现这一目标?注意:我说的是一个场景,USB 电缆仍然物理连接并为 Uno 供电。只有我在软件中断开的串行端口。

从另一个 arduino 连接串行作为控制器 #623

从 PLC 我计划在 A1 引脚上给 Uno 一个 DOOR 信号,所以主轴将由 Uno 自己关闭。或者我可以将一个 PLC 控制的继电器串联到来自 Uno 等的主轴命令。但我需要首先可靠地检测到串行通信已经停止。

从另一个 arduino 连接串行作为控制器 #623

从 PLC 我计划在 A1 引脚上给 Uno 一个 DOOR 信号,所以主轴将由 Uno 自己关闭。或者我可以将一个 PLC 控制的继电器串联到来自 Uno 等的主轴命令。但我需要首先可靠地检测到串行通信已经停止。

这个网站是一个过时的论坛 – 你需要使用 Gnea/grbl
因为我在这里会尽力帮助你。
结合安全门操作的最佳方式是使用进给保持输入引脚。
代码中有一条注释可以取消注释,使其成为代码的实时函数。
安全门代码在 Z 轴退刀然后停止主轴。它在代码中的确切位置停止并等待循环开始以恢复其操作。在我看来,它是 grbl 中最漂亮的功能之一,它很有效。它已经在代码中。

从另一个 arduino 连接串行作为控制器 #623

串行通信是一场噩梦。我确实设法嗅探串行数据以控制来自 grbl 的外部 vfd 控制主轴。如果您从另一个串行设备连接 rx 和 gnd 线,您可以监听从 pc 传输到 grbl 的命令。通过解析接收到的数据,您可以找到您正在寻找的命令字符串的元素,并使用监听设备对该数据进行处理。例如,您可以向车间软件发送消息以监控机器活动(就像大男孩做的那样,哈哈)。这是一个额外的复杂程度,你会发现它只是一天结束时的一个花哨的项目。主轴转动,切屑飞扬,赚钱。

喜欢 (0)

您必须 登录 才能发表评论!