开源改变世界!!

G2 速度和其他设置不持久 #425

推推 grbl 2年前 (2023-02-02) 82次浏览
关闭
12 个任务中的第 4 个
SketchThis 打开了这个问题 2019 年 3 月 12 日 · 16条评论
关闭
12 个任务中的第 4 个

G2 速度和其他设置不持久#425

SketchThis 打开了这个问题 2019 年 3 月 12 日 · 16条评论

评论

G2 速度和其他设置不持久 #425

描述

大家好!我是 CNCjs 的新手,但对使用新控制器构建/改造 CNC 机器并不陌生。

我最近在 Pi 上安装了 CNCjs,并将其连接到 G2 控制器(特别是 ShopBot G2 设置)http://gofabmo.org/

我实质上是用运行 CNCjs 的树莓派替换了“FabMo 引擎”(它在英特尔爱迪生中,上面有 ShopBot 的 UI。

我将 Pi 连接到 G2 控制器并且它可以工作。我能够四处慢跑、运行作业等。我遇到的是设置不是持久的。例如,如果我输入 $xjm=1000(将点动速度设置得更快),该设置有效,但如果我重新加载 CNCjs(断开并重新连接),该设置就不会持久。

其他设置似乎也发生了同样的情况,例如软限制等。这是 CNCjs 的“问题”还是我对设置的工作原理缺乏了解?只是好奇去哪里寻找尝试解决这个问题。谢谢你的帮助!

版本

  • CNCjs:1.9.x
  • 节点.js:6.x
  • NPM:5.x

你如何安装CNCjs?

  • NPM
  • 下载 CNCjs 桌面应用程序

数控系统

  • Grbl
  • 冰沙
  • TinyG/g2核心

硬件

  • 树莓派
  • 台式机或笔记本电脑
  • 移动设备

操作系统

  • 不适用
  • 视窗
  • 苹果
  • Linux
G2 速度和其他设置不持久 #425

G2 目前不存在。你要重置板子吗?还是只是重新加载?如果您正在重新加载,那么它看起来像 cncjs,在连接时使用一些默认设置或其他东西。

G2 速度和其他设置不持久 #425
作者

当我重新加载 CNC js 时会发生这种情况,而且我肯定会看到它发送给它的一些设置。这是我第一次重新连接时的控制台(见下文)

我还没有弄清楚这一切,但在高层次上,CNCjs 是否在每次连接时发送一些默认设置?如果是这样,我能以某种方式改变这些吗?

`CNCjs 1.9.16 [TinyG]
以 115200 的波特率连接到 /dev/ttyACM0
{“r”:{“fv”:0.99,”fb”:100.26,”fbs”:”100.26-313-geac2c”, “fbc”:”settings_shopbot_sbv300.h”,”hp”:”sbv300″,”hv”:”k”,”id”:”0084-d639-08c6-108″,”msg”:”系统就绪”}, “f”:[1,0,1]}
馈线> {ej:1}
{“r”:{“ej”:1},”f”:[1,0,8]}
馈线> {jv:4 }
feeder> {qv:1}
{“r”:{“jv”:4},”f”:[1,0,8]}
feeder> {sv:1}
feeder> {si:100}
{“r “:{“qv”:1},”f”:[1,0,8]}
{“r”:{“sv”:1},”f”:[1,0,8]}
{“r”:{“si”:null,”msg”:”输入小于最小值200″},”f”:[1,108,10]}
{“err”:{“code”:108 “msg”:”Input less than minimum value”}}
feeder> {spe:n}
{“r”:{“spe”:null},”f”:[1,100,9]}
{“err”:{“code”:100,”msg”:”Unrecognized command or config name”}}
feeder> {spd:n}
{“r”:{“spd”:null},”f”:[ 1,100,9]}
{“err”:{“code”:100,”msg”:”无法识别的命令或配置名称”}}
feeder> {spc:n}
{“r”:{“spc”:0}, “f”:[1,0,9]}
馈线> {sps:n}
{“r”:{“sps”:0},”f”:[1,0,9]}
馈线> {com:n }
{“r”:{“com”:0},”f”:[1,0,9]}
馈线> {cof:n}
{“r”:{“cof”:0},”f”: [1,0,9]}
feeder> {sr:{line:t,vel:t,feed:t,stat:t,cycs:t,mots:t,hold:t,momo:t,coor:t,计划:t,单位:t,距离:t,frmo:t,路径:t,posx:t,posy:t,posz:t,posa:t,posb:t,posc:t,mpox:t,mpoy:t,mpoz:t,mpoa:t,mpob:t,mpoc:t,spc: t,sps:t,com:t,cof:t}}
{“r”:{“sr”:{“line”:0,”vel”:0,”feed”:0,”stat”:1,”cycs”:0,”mots”:0,”hold” :0,”momo”:4,”coor”:2,”plan”:0,”unit”:0,”dist”:0,”frmo”:1,”path”:2,”posx”:0 “posy”:0,”posz”:0,”posa”:0,”posb”:0,”posc”:0,”mpox”:0,”mpoy”:0,”mpoz”:0,” mpoa”:0,”mpob”:0,”mpoc”:0,”spc”:0,”sps”:0,”com”:0,”cof”:0}},”f”:[1, 0,213]}
馈线> {sys:n}
{“r”:{“sys”:{“fb”:100.26,”fv”:0.99,”fbs”:”100.26-313-geac2c”,”fbc”:” settings_shopbot_sbv300.h”,”hp”:”sbv300″,”hv”:”k”,”id”:”0084-d639-08c6-108″,”jt”:0.8,”ct”:0,”zl”:0.5,”sl” :1,“lim”:1,“saf”:1,“m48”:1,“froe”:0,“fro”:1,“troe”:0,“tro”:1,“mt”:2 “电视”:1,“ej”:1,“jv”:4,“qv”:1,“sv”:1,“si”:250,“gpl”:0,“枪”:0, gco”:2,”gpa”:2,”gdi”:0}},”f”:[1,0,9]}
馈线 > {mt:n}
{“r”:{“mt”:2} ,”f”:[1,0,8]}
馈线> {pwr:n}
{“r”:{“pwr”:{“1″:0,”2″:0,”3″:0,” 4″:0,”5″:0}},”f”:[1,0,9]}“k”,“id”:“0084-d639-08c6-108”,“jt”:0.8,“ct”:0,“zl”:0.5,“sl”:1,“lim”:1,“saf” “:1,”m48″:1,”froe”:0,”fro”:1,”troe”:0,”tro”:1,”mt”:2,”tv”:1,”ej”: 1,“jv”:4,“qv”:1,“sv”:1,“si”:250,“gpl”:0,“gun”:0,“gco”:2,“gpa”:2, “gdi”:0}},”f”:[1,0,9]}进纸器> {mt:n} {“r”:{“mt”:2},”f”:[1,0,8 ]} feeder> {pwr:n} {“r”:{“pwr”:{“1″:0,”2″:0,”3″:0,”4″:0,”5″:0} },”f”:[1,0,9]}“k”,“id”:“0084-d639-08c6-108”,“jt”:0.8,“ct”:0,“zl”:0.5,“sl”:1,“lim”:1,“saf” “:1,”m48″:1,”froe”:0,”fro”:1,”troe”:0,”tro”:1,”mt”:2,”tv”:1,”ej”: 1,“jv”:4,“qv”:1,“sv”:1,“si”:250,“gpl”:0,“gun”:0,“gco”:2,“gpa”:2, “gdi”:0}},”f”:[1,0,9]}进纸器> {mt:n} {“r”:{“mt”:2},”f”:[1,0,8 ]} feeder> {pwr:n} {“r”:{“pwr”:{“1″:0,”2″:0,”3″:0,”4″:0,”5″:0} },”f”:[1,0,9]}ct”:0,”zl”:0.5,”sl”:1,”lim”:1,”saf”:1,”m48″:1,”froe”:0,”fro”:1,”troe” :0,“tro”:1,“mt”:2,“tv”:1,“ej”:1,“jv”:4,“qv”:1,“sv”:1,“si”:250 ,”gpl”:0,”gun”:0,”gco”:2,”gpa”:2,”gdi”:0}},”f”:[1,0,9]} feeder> {mt: n} {“r”:{“mt”:2},”f”:[1,0,8]}馈线> {pwr:n} {“r”:{“pwr”:{“1”:0 “2”:0,”3″:0,”4″:0,”5″:0}},”f”:[1,0,9]}ct”:0,”zl”:0.5,”sl”:1,”lim”:1,”saf”:1,”m48″:1,”froe”:0,”fro”:1,”troe” :0,“tro”:1,“mt”:2,“tv”:1,“ej”:1,“jv”:4,“qv”:1,“sv”:1,“si”:250 ,”gpl”:0,”gun”:0,”gco”:2,”gpa”:2,”gdi”:0}},”f”:[1,0,9]} feeder> {mt: n} {“r”:{“mt”:2},”f”:[1,0,8]}馈线> {pwr:n} {“r”:{“pwr”:{“1”:0 “2”:0,”3″:0,”4″:0,”5″:0}},”f”:[1,0,9]}“mt”:2,“tv”:1,“ej”:1,“jv”:4,“qv”:1,“sv”:1,“si”:250,“gpl”:0,“gun” “:0,”gco”:2,”gpa”:2,”gdi”:0}},”f”:[1,0,9]}馈线 > {mt:n} {“r”:{” mt”:2},”f”:[1,0,8]}馈线> {pwr:n} {“r”:{“pwr”:{“1″:0,”2”:0,”3 “:0,”4″:0,”5″:0}},”f”:[1,0,9]}“mt”:2,“tv”:1,“ej”:1,“jv”:4,“qv”:1,“sv”:1,“si”:250,“gpl”:0,“gun” “:0,”gco”:2,”gpa”:2,”gdi”:0}},”f”:[1,0,9]}馈线 > {mt:n} {“r”:{” mt”:2},”f”:[1,0,8]}馈线> {pwr:n} {“r”:{“pwr”:{“1″:0,”2”:0,”3 “:0,”4″:0,”5″:0}},”f”:[1,0,9]}8]}馈线> {pwr:n} {“r”:{“pwr”:{“1″:0,”2″:0,”3″:0,”4″:0,”5″:0 }},”f”:[1,0,9]}8]}馈线> {pwr:n} {“r”:{“pwr”:{“1″:0,”2″:0,”3″:0,”4″:0,”5″:0 }},”f”:[1,0,9]}
进纸器> {qr:n}
{“r”:{“qr”:48},”f”:[1,0,8]}
进纸器> {sr:n}
{“r”:{“sr”:{ “line”:0,“vel”:0,“feed”:0,“stat”:1,“cycs”:0,“mots”:0,“hold”:0,“momo”:4,“coor “:2,”计划”:0,”单位”:0,”距离”:0,”frmo”:1,”路径”:2,”posx”:0,”posy”:0,”posz”: 0,“posa”:0,“posb”:0,“posc”:0,“mpox”:0,“mpoy”:0,“mpoz”:0,“mpoa”:0,“mpob”:0, “mpoc”:0,“spc”:0,“sps”:0,“com”:0,“cof”:0}},“f”:[1,0,8]}
{“sr”:{ “stat”:1,“hold”:0,“momo”:4,“coor”:2,“计划”:0,“距离”:0,“frmo”:1,“posx”:0,“posy”:0,“posz”:0,“posa”:0,“posb”:0} }

`

G2 速度和其他设置不持久 #425

您需要根据您的机器设置编译和闪存 g2core,然后将保持持久。因为 due 使用闪存而不是 eeprom 来保存设置。这里没有 CNCjs 的问题。

G2 速度和其他设置不持久 #425

添加到什么@karoria说:g2core 的设置位于 g2core 源代码树中名为 settings/settings-MACHINENAME.h 的文件中。g2core 源包含不同机器的预定义设置文件。要更改设置,您必须编辑与您的机器最匹配的文件,或者创建一个新文件。然后使用引用您的设置文件的命令行重新编译 G2 源代码。它比具有持久设置的 GRBL 更麻烦,但也更适应不同的 CPU 和机器。
我查看了github上的Fabmo专区。它有一个 G2 分支“FabMo-G2-Core”,已有 6 年历史,在最新的 G2 之后有近 1800 个提交。目前尚不清楚他们使用的是哪个机器设置文件。我想 fork 可能已经过时并且 FabMo 项目使用更新的 G2 核心,但我无法通过快速查看来确定。
也许 FabMo 社区中的某个人可以为您指明正确的方向。作为@karoria说,这真的不是cncjs的问题。通过创建每次重置 g2 固件时手动运行的 cncjs 宏,也许可以不完美地解决此问题,但最好的解决方案是重新编译 g2。

G2 速度和其他设置不持久 #425

哦,我刚刚从启动消息中注意到设置文件是 settings_shopbot_sbv300.h ,固件版本是相当新的。fbs 字符串 100.26-313-geac2c 告诉我们构建是基于版本 100.26——去年 4 月的一个相当不错的版本——已经添加了 313 次提交。最终提交的 eac2c 不存在于 synthetos 源中,我也无法在任何 FabMo 分支中找到它,所以我不知道在哪里可以找到构建二进制文件的确切源。
如果您能找到源代码树,应该可以编辑文件 g2core/settings/settings_shopbot_sbv300.h 并更改如下行

#define X_VELOCITY_MAX (360 * 25.4) // xvm G0 max velocity in mm/min

重新编译

make CONFIG=sbv300

G2 速度和其他设置不持久 #425
作者

啊,现在这很有意义,我真的很感谢你的解释。我不完全确定“错误”在哪里。

所以默认的速度、加速度和其他设置实际上是在G2板上,那么当我在CNCjs中更改这些设置时,我在更改什么?我是在 G2 板上临时更改它们,还是在我重新加载之前 CNCjs 发送不同的速度命令?

所以看起来如果我想永久更改设置,我将不得不学习重新编译和刷新 G2 板。我想知道这个板是 ShopBot 板会有多棘手(尽管它有与 Due 相同的 Atmega 芯片……)

G2 速度和其他设置不持久 #425

当您向 g2 发送参数更改命令时,它会暂时更改它,直到断电。我希望现在你会更清楚。按照提到的过程@MitchBradley相信我,您不会后悔使用 g2core+CNCjs。一旦您熟悉了完整的 CNCjs 界面,我建议您使用由@MitchBradley.
还有一件事,我来自机械背景,但我仍然设法根据我的需要编译和闪存 g2core。所以别担心。这对你来说更容易。前进吧。

G2 速度和其他设置不持久 #425

以下是一些步骤/问题:

  • 获取正确的源代码。正如我提到的,您正在运行的版本在 synthetos 存储库中的版本之上有 313 次提交。由于我们不知道它们的用途,因此获得正确的来源是明智的,以防与您的硬件相关的重要定制。特别是,还有一个额外的机器定制文件(除了我们谈到的设置文件之外),它定义了 Due 芯片上的引脚与机器控制信号(各种轴的步进/方向/启用、主轴控制、限位开关)之间的对应关系, ETC)。该文件对于 Shopbot 硬件可能是特殊的,即使它使用“标准”gShield 板也是如此。因此,您需要询问 Shopbot 领域的某个人在哪里可以找到他们的定制来源。
  • 选择一台编译机。PC 上的 MacOS 和 Linux 很容易。在 Windows 上,您需要 Linux VM 或 Atmel Studio。安装 Linux VM 可能会很麻烦,因为您必须处理与管理 VM 软件相关的大量细节。Atmel Studio 非常庞大,虽然它的安装可能是流线型的,但我总是担心任何这么大的东西最终都会让我陷入困境。就个人而言,我在 Windows 上的 Linux VM 中编译,因为我已经不得不将它用于其他目的。我尝试在 Raspberry Pi 上编译,但遇到了很多问题,最终决定不值得花精力去修复它们。
  • 下载到控制器。详细信息取决于 Shopbot 看板的设置方式。库存到期有两个不同的 USB 端口。一种是仅供下载的,第二种是用于与应用程序进行串行交互(如 cncjs)——但另一种在某些情况下也可用于下载。要将电路板置于下载模式,您有时需要用复位开关做一些小动作。这取决于您的电路板是如何设置的。让下载的实用程序在您的设置中正常工作也可能是一个令人头疼的问题。
G2 速度和其他设置不持久 #425

我再次尝试在 Raspberry Pi 上编译,它成功了。我不得不为 g2core 源代码打一个小补丁。它很慢但有效。我会把这件事告诉 g2core 的人,看看他们怎么想。
制作一个具有特殊设置的 gcode 文件可能更容易,只要重新启动机器就运行该文件。我有一个安装文件,我运行它来为我的主要生产工作做准备。它进行归位和探测以及其他一些准备工作;它也可以很容易地覆盖一些进给率。也许像这样的解决方法会让你到达你想去的地方。

G2 速度和其他设置不持久 #425

更多的想法:

  • 您可以使用 Cloud9 (c9.io) 在云端编译 g2core。一旦你在那里有了一个帐户,你就可以创建一个 C++ 工作区。启动该工作区需要几秒钟。然后在工作区内使用“git clone”来获取适当的 g2core 源代码。您可以使用 cloud 9 编辑器编辑设置文件,然后运行 ​​make。它超级快——从头开始制作,包括安装交叉编译器的步骤,只用了 1 分 10 秒。已安装编译器的后续 make 耗时 34 秒。您可以将二进制文件下载到您的家庭系统以传输到 Due。
  • 或者(cheton 可能会因此而讨厌我)——你可以进入 cncjs 子目录 dist/cnc/app 并编辑文件“index.js”——跳过所有节点编译步骤。查找字符串“send(‘{sr:n}’);” 然后添加额外的 send() 行以发出您在初始化 g2 控制器时想要执行的任何特殊设置步骤。将这些添加保存在某处,因为如果更新到新版本的 cncjs,您将不得不重做编辑。黑客!黑客!
G2 速度和其他设置不持久 #425
作者
素描这个 评论了 2019 年 3 月 15 日  

这是很棒的信息@MitchBradley. 我真的很感激。

因此,根据我所学的知识,我对此进行了更多思考,这就是我得出的结论:

ShopBot G2 板是为 ShopBot 设置和配置的,它按原样工作得很好。我只有他们的一块板子,并遵循一句古老的格言“如果它没有坏,就不要修理它”,我决定在另一块板子上破解/学习可能对我来说更好。

我的最终目标是对我拥有的一台旧 Oliver CNC 机器进行改装,该机器目前的控制器非常糟糕。正如我之前提到的,我对转换很满意,只是不是所有这些 G2 的东西!:)

所以,这是计划:

我已经有了一个有 4 个驱动器和一个电源的装置。因此,我需要做的就是为这些车手提供步骤和方向,我很高兴开始行动。我有一个未使用的 Arduino Uno。现在我知道 Uno 不是机器永久的好选择,但也许它是一个不错的(便宜的)选择,可以用来倾斜将 G2 闪到它上面,然后用它来旋转一些步进器(记住我已经有驱动程序,所以我只需要步进和方向信号)所以如果我是对的,我可以从 UNO 得到所有这些吗?

这是否意味着我需要从他们的存储库编译我自己的 G2 文件?或者,如果我使用的是非 ShopBot G2 板,更改参数就像在控制台中键入命令一样简单(这些更改是永久性的,不像我在这个 SB 板上看到的那样?)

我的另一个选择是跳过 UNO 并购买一块 TinyG V8 板(我很可能会为这个构建得到它)并学习修改它的设置并刷新它。

从 UNO 开始还有一个附带好处,因为我有另一个构建,我想制作一个简单的单轴移动围栏,而 UNO 可能非常适合……

G2 速度和其他设置不持久 #425

哦……问题来了。你不能在 Uno 板上刷写 g2。您需要获得 arduino due board 才能闪烁 g2。Due 速度超快,处理能力更强,更适合 CNC。
或者,您可以将 grbl 闪存到现有的 Uno 板,并在 2 分钟内获得 cncjs 也支持的新 cnc 控制器。

G2 速度和其他设置不持久 #425
作者

现在一切都说得通了!由于超级流畅的运动,我绝对想尝试使用 G2。我想我会跳过 Due,直接去 Tiny G。感谢这里的每一个人的帮助。

G2 速度和其他设置不持久 #425

只是抛出另一个选项 – Facebook 上 Taig Mill 兴趣小组的主持人发誓 UCCNC 具有基于以太网的步进/方向控制器。他对为产品提供的出色支持以及以用户为中心的 UI 的质量提出了一些很好的观点。我有一个好朋友正在重建一个大型工厂,并且依赖我进行控制器/UI 工作。我最初计划引导他使用 g2core + CNCjs(或我的 shopfloor-tablet UI),但我现在认为像 UCCNC 这样的商业产品会更好地为他服务。如果你是一个有空闲时间的程序员,开源的东西很棒,但如果你不是,那么你会发现自己的机器由于升级不顺利而宕机。商业产品的开发人员有一个巨大的优势——他们对整个生态系统(控制器硬件、固件、UI 平台)有更多的控制权,因此他们可以对全方位的系统配置进行更多的端到端测试。并且他们有经济动机将进行该测试作为其全职工作的一部分。

但回到手头的话题——如果我是你,我会继续将 GRBL 作为基线放在你的 Uno 上。即使您最终不会长期使用它,您仍然可以使用它来测试步进器。价格基本上为零,并且 GRBL 在其限制范围内易于安装和使用。

G2 速度和其他设置不持久 #425
作者

我完全同意你的看法。我实际上在我的大型机器上使用 Centroid 控制器。与 UCCNC 类似,它由以太网控制,本质上是按比例缩小的工业控制器,因此非常可靠且经过验证。Centroid 的缺点(这并不是真正的缺点)是您需要一台 Windows 计算机才能运行它。对于这个小小的爱好转换,我这样做有点矫枉过正,我实际上是在寻找可以破解和修补的东西,而 GRBL/G2 非常适合这个爱好机器和修补!:)

G2 速度和其他设置不持久 #425 奇顿 添加了 💬讨论 标签 2019 年 3 月 20 日
G2 速度和其他设置不持久 #425 奇顿 添加了 g2核心 标签 2019 年 4 月 23 日
G2 速度和其他设置不持久 #425

结束,因为讨论已经结束。要使 g2core 设置持久化,您需要重新编译,上面引用了这样做的步骤。