注释
@peluzza:绝对!您只需将第二个 Arduino 的串行 TX/RX 线连接到 Grbl 的 RX/TX 输入。这一直是我想做的事情,但一直没有时间。这个想法是在 Arduino IDE 中编写一个非常简单的 .INO 程序,使用他们的库来支持 SD 卡、LCD 和一些控制引脚。这样,您可以在没有计算机的情况下进行 CNC 设置。 |
哇,那么,是时候把手放在键盘上开始编码了;) 我在这里找到了一个关于它的旧线程:http: 如果有人发现/知道并且已经完成了这样的项目,或任何其他提示,请在此处发布。谢谢! |
另外,这也适用于其他人,请分享源代码!我很想把这样的东西做成一个受支持的项目。 |
轨迹球或类似的东西不是更好的选择吗? 有了花盆你有什么?270度的调整,5-10%的定位误差,准确定位比较困难。 使用轨迹球或其他基于编码器的技术(计算机鼠标上的一堆滚轮?),您可以滚动并让它移动一个设定的乘数。或者你可以有一个额外的“灵敏度”控制…… |
@Norwegian-Gadgetman为什么要花盆?简单的旋转编码器通常具有 20 步和 360º 无锁定位置,因此比轨道或操纵杆精确得多。我的是 EC11,它也是瞬时按钮,所以我的想法是通过单击来切换微步、步、转,并简单地旋转尽可能多的步,就像 G 代码一样(3D Etch-A-Sketch!! !) 这对于一组准确的自定义零位非常有用(想想连接到它的激光)。 可能我会在几周内开始这个项目,所以任何进一步的帮助将不胜感激。 |
只是软限制不再起作用,坐标偏移也有一些问题。 2015-03-11 21:40 GMT+01:00,peluzza通知@github.com :
|
@cri-s我的意思是在开始铣削之前微调零位,我用它来修复或改进已经完成的零件(PCB)。对我来说,微调和手动控制是必须的。 |
Peluzza,请不要将 EC11 称为“pot”,因为它是“Potentiometer”的缩写,它是一个可变电阻器。 我假设您的意思是可变电阻器,例如在放大器中用作音量控制的可变电阻器。 混合概念只会搅浑水,浪费时间。 |
@Norwegian-Gadgetman嗯,这是在说“编码器罐”之后的一个简单的捷径。抱歉,如果我让您感到困惑(并浪费了您的时间)。我总是想说“带有瞬时按钮的旋转编码器”。 在西班牙语中,“pot”只是旋钮的缩写,所以我们用“resitor pot”和“encoder pot”来区分。 |
目前正在构建一个控制 UNO (Grbl) 的 arduino Mega。我有一个可行的解决方案,并希望对其进行扩展,以充分利用 Grbl 描述的 I/O 缓冲区功能。我还为通用 gcode Sender 开发了一个 passthrough。Gcode 文件逐行存储在 SD 上。刚刚发现我在 SD 上的一个“行”中存储了多个 Gcode,破坏了我的解决方案的稳健性。 |
@chamnit |
我的E-mail地址是: 日期:星期一,2015 年 3 月 16 日 02:01:16 -0700 你好!我有类似的东西:我正在研究嵌入式cnc控制器。 它实际上是使用 arduino uno 作为 grbl 支持,以及一个 Mega 来支持包括 SD 读卡器的 LCD 触摸屏。它可以根据特定目的从用户输入生成 gcode,将其保存在 SD 上的 gcode 文件中,并通过串行从 mega 流式传输到 grbl。或者我可以将 gcode 文件放在 sd 上 计算机,将其放入 SD 阅读器中,将文件流式传输到 grbl。所有这些实际上都在起作用。 只是管理 grbl 退货的小问题。 我很乐意分享它,让我清理我的代码.. grbl 是一个了不起的工具,让我节省了很多时间,谢谢。 — |
哇!它有很大帮助!谢谢@tchepperz |
@tchepperz: 好的!您是否知道这是否适合并在 328p Uno 型控制器上运行? |
@chamnit 但经过一些修改,它可以在 Uno 上运行,无需使用串行监视器作为接口,而仅用于 如果您想要用户界面,解决方案是液晶触摸屏。在我的工厂中,我使用液晶接口,因此只有一个用于 grbl 的串行端口。但我不确定你在 Uno 上是否有足够的 pin 来管理 lcd、touch、sd 和串行。 |
是的,因为 SD 和图形触摸显示器的内存要求,所以使用 mega。不幸的是不能共享代码。我建议更好地了解 grbl 通信。例如阅读通用 gcode 发送器 Java 的东西。 但经过一些修改,它可以在 Uno 上运行,无需使用串行监视器作为接口,而仅用于 如果您想要用户界面,解决方案是液晶触摸屏。在我的工厂中,我使用液晶接口,因此只有一个用于 grbl 的串行端口。但我不确定你在 Uno 上是否有足够的 pin 来管理 lcd、touch、sd 和串行。 ——直接回复此邮件或在 GitHub 上查看。 |
要在 arduino uno 上编译它,请使用这个库: 在包含行之后,添加以下两行: #include <AltSoftSerial.h> 结果大小超过16k。 2015-03-20 20:11 GMT+01:00,Jan_Jansen_47通知@github.com :
|
该库在 115200 处可以正常工作,只需使用 arduino 1.0.1 2015-03-21 20:48 GMT+01:00 皮埃尔通知@github.com :
|
本哈 评论 2015 年 4 月 2 日
这个线程对于我想要启动的项目来说有点重要,所以我想我会继续而不是打开一个新线程…… 我想为转台构建一个控制器,以允许它围绕一个圆圈索引位置。(请参阅相当昂贵的“分区大师”以了解其工作原理。) 所需的 gcode 非常简单,除了停靠点之间的距离外,每次都是相同的。 显然,我可以使用两个 arduino——一个有一个键盘和一个执行 UI 任务的显示器,计算所需的 gcode,然后通过串行将其流式传输到 GRBL arduino。 不过,这似乎很浪费。 有没有一种简单的方法可以从单个 arduino 执行这两项任务?换句话说:它在“UI 模式”下运行,直到构建 gcode,然后存储 gcode,转换为“GRBL 模式”并读取 gcode/移动轴? 对不起,如果这是一个荒谬的问题。我对 GRBL 和 arduino 很陌生,所以我还在搞清楚。 最好的, |
@benha:由于闪存和内存的原因,可以将所有东西集成到 Arduino Mega 上,而不是 Uno。 一般来说,我建议使用第二种 Arduino 或 RaspberryPi 方法。虽然看起来很浪费,但您不必担心与主 repo 保持同步,并且可以在 10 美元的 Arduino Micro 上运行 Grbl(可能会更便宜)。您需要做的就是在通信协议发生变化时更新它。 您也不必担心破坏 Grbl 代码中的某些内容。即使它的编写和注释都很好,如果您不知道自己在做什么,您也可以轻松地做出损害代码完整性和性能的事情。 |
本哈 评论 2015 年 4 月 2 日
好的。这是我所期望的,但我想仔细检查一下。 谢谢! |
危机 评论 2015 年 4 月 2 日
键盘可以连接到单个 io 引脚,这不是问题, 对 init 也应该这样做,并且可能代替 idle、usr_init、 2015-04-01 19:50 GMT+02:00,Sonny Jeon notifications@github.com:
|
@cri-s:我不确定您切换到 Arduino 是什么意思。Grbl 一直在 Arduino Uno 上运行。至于 usr 循环,就像你问的那样,我无意支持像现在这样的任何东西。我还有很多其他事情要做。 |
我试过了,但结果很奇怪:我需要一些帮助! Grbl (v1.1e) 在 UNO(Serial) 上闪烁,并使用 RX 和 TX 引脚连接到 Leonardo(Serial1)。
看起来这两个串行互锁,或者它像两个窗口中的一个串行端口一样工作。 任何人都可以解释为什么会这样,以及解决方案? 莱昂纳多密码: 无效设置() { 无效循环() { if (Serial.available() > 0) {
|
我已经不在这了,但我记得如果我尝试通过 USB 向 uno 发送 grbl 命令,当串行 rx tx 连接到我的兆时它不起作用。所以我习惯于断开 uno 和 mega serial (rx tx) 以使用 grbl (uno) 和 usb。我无法准确解释,但我有红色表示 usb 在 arduino 上用作串行通信,而 uno 只有一种串行可能性,所以你必须选择 rx tx 或 usb 但两者不能一起工作。莱昂纳多或巨型是不同的,因为有很多连续的可能性 |
谢谢你。 |
这是一个 arduino 项目,使用第二个 arduino 显示液晶屏,希望对您有所帮助 |
感谢 vMeph。是的,我从链接中找到了我的连接无法正常工作的原因
|
这将在没有 ic 4060 的情况下使用 lcd 你只是不使用连接到 grbl arduino 的 rx 的 leonardo 的 tx,只有在你想将数据从 leonardo 发送到 grbl arduino 的情况下才需要 ic,在这种情况下液晶显示器会起作用,莱昂纳多只是在接收数据。 |
我也在做同样的事情。我已将 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 代码。 有人在做这个吗?建议?提示? |
我想你可以尝试使用树莓派而不是 MEGA,或者在 MEGA 上运行 Marlin 而不是使用 UNO,这样你就可以使用液晶屏、sd 卡……否则你会需要做一个程序,该程序可以获取 UNO 的输出并流式传输 gcode 文件,以便在 23 年前使用 El jue.。2018 年 15:06,b33zwaXer (<notifications@github.com>) escribió:
|
为什么要将它用作单独的控制器
|
我最终解决了我的问题。我将 mega serial3 rx tx 连接到 uno/grbl 串行 Rx tx。现在我通过将mega serial3的读/写发送(反弹)到mega serial来使用mega作为主控制器。现在我可以使用连接到mega的键盘将gcode作为一个简单的独立系统发送到uno/grbl,或者我可以将mega连接到PC并将gcode“直接发送到”(反弹)到uno。它工作得很好! |
当您单独使用mega时,将mega和uno一起使用是愚蠢的。
|
为什么它很愚蠢?它使事情变得不那么复杂,而简单是我努力的一件事。为什么我要把 GRBL、LCD、键盘和 SD 卡读卡器拼凑成一个巨型设备。使用额外的 arduino 作为专用 grbl 设备更容易。对我来说,这似乎是 grbl 的预期用途。它作为一个独立的系统,你向它发送 g 代码,它会做它应该做的事情。为什么我要混淆这台润滑良好的机器?你听起来很固执,我为什么要把它单独放在mega上?或者我应该只使用 RPi! |
以这种方式设计事物是愚蠢的。
|
@algo1980: 贬低人是不好的。这对任何人都没有帮助。请不要在这里做。 |
你好桑代尔, 可以在不使用继电器中断 TX 线路的情况下执行此操作。我认为您遇到的问题是您将 USB 连接到 grbl/arduino,这会占用 Grbl_Serial 上的 TX 线。如果您将 Grbl 视为主控制器(在您的情况下为 leo)的从属,您可以通过主控制器直接与 grbl 对话。我的代码与您在上面显示的相同。主控制器只是在 master_serial 和 master_serial1(连接到 GRBL_serial)之间反弹信息。这样做,我可以使用主控制器发送 G 代码(独立),或者如果我愿意,我可以插入 PC 并使用 G 代码发送器。希望这可以帮助。 |
算法,为什么?请给出理由。我不是软件工程师。我这样做是为了好玩。 |
亲爱的,如果你是为了好玩,请继续,它会增加你的学习经验。使用两个 MCU 会增加系统成本。Mega 很好,能够完成所有任务,但您需要对代码进行一些补充。您想与控制器连接多少个交换机?
|
是的,桑尼,你是绝对正确的。只是想把他从错误的方式中解脱出来。我很抱歉
|
这些天你在做什么?与航天器合作?
|
我在 GRBL RX 线上使用了一个串联的 1N4148 小信号二极管,然后你得到双向通信 |
如何使用与 Arduino Uno 的 UART 连接来控制 grbl |
嘿,您介意分享您在大型设备上使用的代码吗? |
最后,我放弃了 mega 并在 Rpi 上使用了通用 gcode 发送器 UGS。效果很好! |
哦,我明白了,我只是想知道您在输入 serial.println(“$H”) 时为使 grbl 命令工作而写了什么 |
我正在为我的 CNC 使用 grbl。 |
我正在为我的 CNC 使用 grbl。 |
从 PLC 我计划在 A1 引脚上给 Uno 一个 DOOR 信号,所以主轴将由 Uno 自己关闭。或者我可以将一个 PLC 控制的继电器串联到来自 Uno 等的主轴命令。但我需要首先可靠地检测到串行通信已经停止。 |
这个网站是一个过时的论坛 – 你需要使用 Gnea/grbl |
串行通信是一场噩梦。我确实设法嗅探串行数据以控制来自 grbl 的外部 vfd 控制主轴。如果您从另一个串行设备连接 rx 和 gnd 线,您可以监听从 pc 传输到 grbl 的命令。通过解析接收到的数据,您可以找到您正在寻找的命令字符串的元素,并使用监听设备对该数据进行处理。例如,您可以向车间软件发送消息以监控机器活动(就像大男孩做的那样,哈哈)。这是一个额外的复杂程度,你会发现它只是一天结束时的一个花哨的项目。主轴转动,切屑飞扬,赚钱。 |
华金马丁内斯 评论 on 12 Mar 2015
你好!我想知道为我的工厂制作一个人工控制器。我已经知道 Grbl 做不到,因为它是一个 g 代码解释器。
但我的想法是使用另一个 arduino 作为代理。如果手动模式打开,则 3 个编码器电位器控制磨机,如果手动模式关闭,则将串行转发到 Grbl。
有可能以这种方式做到吗?
谢谢!