注释
过去做过类似的事情,我知道你需要 否则,它应该像你说的那样工作。我的设置和你的设置之间的唯一区别 -爱德华 2014 年 11 月 2 日星期日上午 10:40,typ1 notifications@github.com写道:
|
谢谢爱德华—— 这确实是问题….一旦解决了这个问题,直通功能就可以完美运行。继续我的信号实现。很高兴知道其他人尝试过类似的东西,而我的设计实际上是可行的。 |
你能分享你的代码吗?我用两个 uno 尝试基本相同的东西,但我不能。如何在 grbl 代码块之后编写接收代码,wiki 编译页面说不要添加循环或 void。 |
这个项目做了类似的事情:https ://github.com/xpix/XLCD/wiki |
@designr47我还没有完全完成代码,但我只是测试了基本概念。这是我在 Mega 上加载的内容”
您在 gcode 之前发送一个“A”,在 gcode 之后发送一个“B”。只要指标过滤器(A、B 和 C)不是 gcode 中使用的字符,它就可以工作。我仍然需要添加一些东西(流量控制等),所以它可能会有所改变,但这是基本思想。 |
我还在考虑在第二个 arduino 上制作一个串行直通程序,放在 PC 和 GRBL 之间。 |
嗨 – 我正在尝试创建相同的设置。我创建了一个非常相似的代码@typ1‘s 并放置在我的巨型板上,并且能够操作 uno 来打开和关闭 pin13 LED。但是,当我将 Grbl 代码放在 uno 上时,我没有收到任何响应(grbl 欢迎消息)。我的想法不多了。 @designr47 @typ1 @shapeoko 你有没有遇到过类似的问题,你知道我应该尝试什么吗?谢谢!! |
当发送“C”时,代码应使 Mega 上的 LED 闪烁。当发送“A”时,Mega 开始将串行数据转发到 Uno。这一直持续到它看到“B”。启动转发后,尝试发送“$$”和“Enter”以查看 Grbl 是否响应设置列表。最后一段代码应该将 Grbl 发送到终端的任何内容转发出去。另外,正如我发现的那样,确保两块板都相互接地。 |
您使用什么应用程序访问串行端口? |
我注意到这仍然是开放的(即使在 12 个月之后),并且对于我最近构建的这个设计有一个非常简单的解决方案。我也去搜索了,虽然有人在做这种事情,但没有人分享……嗯 你的 Fritzing 几乎是完美的,除了需要在两个单元之间建立一个 gnd 链接。 至于草图..开始,我使用了这段代码(它完全按照你的意愿工作)
这使用了 Mega2560 上的串行中断,它非常强大,正是您不希望在 gcode 中掉线的功能。 它根本不需要在 loop() 方法中运行任何东西就可以工作 然而,整个过程有一个问题,我试图以不同的结果来解决它。首先,启动顺序很重要,有时我必须重新启动两个单元几次,然后任何 Gcode 发送者才能看到 GRBL hello 消息。这听起来很糟糕,但一旦连接起来,只要它在运行,它似乎就坚如磐石。解决了这个问题,但是在 GRBL 板复位引脚上添加了一条数字线(保持高电平),然后等待 Mega 启动,然后在复位线上发出 LOW、delay()、HIGH,这会在 Mega 之后重新启动 GRBL 板开始了。这降低了他们不在线但并不完美的机会。 我比上面的代码更进一步,添加了 LCD 显示屏和压电蜂鸣器,如果设备进入警报状态,它会发出尖叫声。我还对 Blynk (blynk.cc) 进行了修改,以便在我的移动/平板设备上创建一个显示和慢跑工具(有点工作,但在我看来不太正确)。 如果需要,我当然可以提供 LCD 代码(带 i2c 背包的 16×2 行),但上面的代码将使您的项目通过 Mega 进行交流。 我希望这对您自己或其他也在寻找解决方案的人有所帮助。 |
类型 1 评论 on 3 Nov 2014
我正在做一个以 3 轴 CNC 机床为核心的项目,我想用 grbl 控制它。我想用另一个 Arduino 控制核心功能之前和之后执行的其他功能。我只想使用一个 USB 连接。我正在尝试使用以下设置:
我的想法是使用 Mega 来控制其他功能,并且在将 gcode 发送到 grbl 时,发送一个信号代码,该代码将启动到 Serial1 的传递。发送 gcode 后,需要停止传递另一个信号代码。我在其他地方看到了一些非常笼统的帖子,表明其他人已经尝试过类似的事情。
我马上就遇到了麻烦。我将 Arduino MultiSerialMega 页面中的示例草图(波特率更改为 115200)加载到 Mega 上,并在我的笔记本电脑上使用了串行监视器:
http://arduino.cc/en/Tutorial/MultiSerialMega
这应该将主串行端口上接收到的任何内容发送到 Serial1,并将 Serial1 上接收到的任何内容发送到主串行端口。如果我重置了 grbl 板,我成功地在笔记本电脑上收到了欢迎消息,但是当我尝试向 grbl 发送一些东西(即 $H 以启动归位序列)时,它不起作用。
有没有人有这样做的经验?对这个概念有什么想法,以及另一种安排是否更容易实现?