Skip to content

更新记录

任羽飞 edited this page Dec 2, 2021 · 1 revision

New features in v1.1!

另一个巨大的更新!该版本包括了长期存在于待办事项列表中的最后剩余的优先功能。以下是新更改的摘要:

  • 实时覆盖:通过进给、快速、主轴速度、主轴停止和冷却液切换控制立即改变机器运行状态。这个令人敬畏的新功能仅在工业机器上很常见,通常用于在作业运行时优化速度和进给。大多数业余 CNC 试图模仿这种行为,但通常会有大量滞后。Grbl 在几十毫秒内实时执行覆盖。
  • 慢跑模式:新的慢跑命令独立于 G 代码解析器,因此解析器状态不会被改变,如果没有正确恢复,则不会导致潜在的崩溃。包含有关其工作原理以及如何通过操纵杆或旋转拨盘以低延迟、令人满意的响应来控制您的机器的文档。
  • 激光模式:新的“激光”模式将使 Grbl 通过连续的 G1、G2 和 G3 命令随着主轴速度的变化连续移动。当“激光”模式被禁用时,Grbl 将停止以确保主轴正常加速。主轴速度覆盖也适用于激光模式,因此您可以在工作期间调整激光功率。通过 $ 设置在“激光”模式和“正常”模式之间切换。
  • 动态激光功率随速度缩放:如果您的机器加速度较低,此选项将根据 Grbl 的行进速度自动缩放激光功率,因此当您的 CNC 必须转弯时,您不会有烧焦的角落!启用M4激光模式时由主轴 CCW 命令启用。
  • 睡眠模式:现在可以通过 $SLP 命令将 Grbl 置于“睡眠”状态。这将禁用所有内容,包括步进驱动程序。当您将机器无人看管并希望自动关闭所有电源时,很高兴拥有。只有复位退出睡眠状态。
  • 显着的界面改进:调整以提高整体性能,包括更多实时数据,并简化维护和编写 GUI。基于多个 GUI 开发人员的直接反馈和基准性能测试。注意:GUI 需要专门更新其代码以与 v1.1 及更高版本兼容。
  • 新状态报告:为了说明额外的覆盖数据,状态报告已经过调整以在其中填充更多数据,同时仍然比以前小。包括文档,概述了它是如何更改的。改进的错误/警报反馈:所有 Grbl 错误和警报消息都已更改为提供代码。每个代码都与一个特定的问题相关联,因此用户无需猜测就可以准确地知道问题所在。存储库中包含文档和易于解析的 CSV。
  • 扩展 ASCII 实时命令:所有覆盖和未来的实时命令都在扩展 ASCII 字符空间中定义。不幸的是不容易在键盘上输入,但有助于防止来自具有这些字符的 G 代码文件的意外命令,并为将来的扩展提供了大量空间。
  • 消息前缀:来自 Grbl 的每个消息类型都有一个唯一的前缀,以帮助 GUI 立即确定消息是什么并相应地解析它,而无需知道上下文。以前的界面有几个 GUI 实例,必须弄清楚消息的含义,这使得一切都比它需要的要复杂。新的 OEM 特定功能,例如安全门停车、单一配置文件构建选项、EEPROM 限制和恢复控制以及存储产品数据信息。
  • 新的安全门停车动作作为编译选项。Grbl 将缩回,禁用主轴/冷却剂,并停在 Z 最大值附近。恢复后,它将以相反的顺序执行这些任务并继续执行程序。高度可配置,甚至可以添加多个停车动作。有关详细信息,请参阅 config.h。
  • 最大和最小主轴转速的新“$”Grbl 设置。允许调整 PWM 输出以更接近真实的主轴转速。当最大 rpm 设置为零或小于最小 rpm 时,PWM 引脚 D11 将充当简单的启用开/关输出。
  • 将 G28 和 G30 行为从 NIST更新为 LinuxCNC G 代码描述。简而言之,如果指定了中间运动,则只有指定的轴会移动到存储的坐标,而不是像以前一样的所有轴。
  • 许多小错误修复和重构,使代码更加高效和灵活。
  • 注意:Arduino Mega2560 支持已转移到一个活跃的官方 Grbl-Mega 项目中。在这里和那里的所有新发展都将在有意义的时候同步。

v0.9 中的新功能!

重要的:

  • 默认串行波特率现在是 115200!(从 9600 起)
  • D11 上的 Z 轴限制输入已与主轴使能 D12 交换以支持可变主轴 PWM 输出。
  • 无 QUEUE 状态:队列因冗余而被移除。Holds 现在暂停 Grbl 并且只允许实时命令。循环开始恢复,复位退出。
  • 新的超级平滑步进算法: 对步进驱动器的处理进行彻底改革,以简化和减少每个 ISR 滴答的任务时间。使用新的自适应多轴步进平滑 (AMASS) 算法实现更平滑的操作,该算法执行其名称所暗示的操作(有关详细信息,请参阅 stepper.c 源代码)。用户应该立即看到他们的机器移动方式和整体性能的显着改进!
  • 稳定性和健壮性更新: Grbl 的整体稳定性已在此版本中得到关注。通过引入一个中间步骤段缓冲区,从规划器缓冲区中实时“检出”步骤,计划器和步骤执行界面已完全重写,以实现稳健性和不可破坏性。这意味着我们现在可以无所畏惧地将 Grbl 推向最高极限。结合新的步进算法和规划器优化,这在我们的测试中转化为5 到 10 倍的整体性能提升!此外,据报道,稳定性和稳健性测试可以轻松完成 140 万(是的,百万)行 G 代码程序,就像冠军一样!
  • (x4)+ 更快的规划器:通过优化端到端操作,规划计算改进了四倍或更多,其中包括简化计算并引入规划器指针来定位缓冲区中不可改进的部分,而不是浪费重新计算它们的周期。
  • 可变主轴速度输出:为“S”G 代码命令启用硬件 PWM 输出。注意:此功能需要与 Z-limit D11 引脚和主轴启用 D12 引脚进行引脚交换,以访问引脚 D12 上的硬件 PWM。现在在 D12 上的 Z 限制销应该像以前一样工作。
  • 可通过 Arduino IDE 编译!:现在可以下载和修改 Grbl 的源代码,然后直接通过 Arduino IDE 编译和刷写,这应该适用于所有平台。有关如何执行此操作的详细信息,请参阅 Wiki。
  • G 代码解析器大修:从头开始完全重写,100% 符合 G 代码标准。(* NIST 标准的某些部分有点过时和随意,因此我们更改了一些小东西以使其更有意义。源代码中概述了差异。)我们还采取了一些措施来分解 G 代码解析成不同的独立任务,这是未来一些开发思路和改进的关键。
  • 独立的加速度和速度设置:每个轴可以用唯一的加速度和速度参数定义,Grbl 将根据行进方向自动计算通过路径的最大加速度和速度。
  • 软限制:在执行之前检查任何运动命令是否超出工作区限制,如果检测到,则发出警报。
  • 探测:现在支持 G38.2、G38.3、G38.4 和 G38.5 直探头 G 代码命令并通过 A5 引脚连接。
  • 刀具长度偏移:如果没有刀具长度偏移 (TLO),探测就没有意义,所以我们添加了它!现在支持 G43.1 动态 TLO(由 linuxcnc.org 描述)和 G49 TLO 取消命令。G43.1 动态 TLO 的工作方式与普通 G43 TLO(不支持)类似,但需要附加的轴字和附加的偏移值。我们这样做是为了让 Grbl 不必在其内存中跟踪和维护刀具偏置数据库。也许在未来,我们会支持一个工具数据库,但不支持这个版本。
  • 改进的弧性能:弧半径越大,Grbl 跟踪它的速度就越快!我们现在根据弧弦公差而不是固定的线段长度来定义弧。这会自动缩放弧段长度,使得弧段与真实弧的最大径向误差永远不会超过超精确默认值 0.002 毫米的弦公差值。
  • 新的 Grbl 模拟器!(由@jgeisler 和@ashelly 提供): Grbl 主要源代码的完全独立的包装器,可以在计算机上编译为可执行文件。不需要 Arduino。简单地模拟 Grbl 的响应,就像在 Arduino 上一样。
  • CPU 引脚映射:为了使 Grbl 与其他 AVR 架构(例如 1280 或 2560)兼容,已创建新的 cpu_map.h 引脚配置文件以允许为它们编译 Grbl。这是当前用户支持的,因此您的里程可能会有所不同。如果您遇到错误,请告诉我们或更好地向我们发送修复程序!提前致谢!
  • 可配置的实时状态报告:用户现在可以自定义 Grbl 在发出“?”时报告的实时数据类型。状况报告。这包括以下数据:机器位置、工作位置、计划缓冲区使用情况、串行 RX 缓冲区使用情况。
  • 更新的归位程序:无论限位开关位置如何,都在所有负空间中设置工作空间体积。在专业 CNC 上很常见。但是,行为可能会被编译时选项改变。现在直接绑定到主规划器和步进器模块,以减少闪存空间并在搜索过程中实现最大速度。
  • CoreXY 支持: Grbl 现在在介绍级别上支持 CoreXY 运动学。大多数功能已被验证可以工作,但这里或那里可能存在错误。请报告您发现的任何问题!
  • 安全门支持:现在支持安全门开关。Grbl 将强制进给暂停,关闭主轴和冷却液,并等待门开关关闭且用户发出恢复指令。恢复后,主轴和冷却液将在可配置的延迟后重新通电并继续。对于需要此功能的 OEM 很有用。
  • 完全限制和控制引脚可配置性: Grbl 现在可以根据需要解释限制和控制引脚操作,启用或禁用内部上拉电阻,或读取高或低作为触发器。这应该涵盖所有接线和 NO 或 NC 开关场景。
  • 可选的限制引脚共享:可以组合限制开关以共享相同的引脚,以释放宝贵的 I/O 引脚用于其他目的。结合使用时,用户必须调整 config.h 中的归位循环掩码,以免同时将轴归位到共享引脚上。别担心;硬限制和归位循环仍然像以前一样工作。
  • 其他编译时功能选项:限制/控制引脚状态报告、行号跟踪、实时进给率报告等。

v0.8 中的新功能!

自 v0.7 以来发生了很多事情。我们正在努力为古老的 Arduino 创建一个简单但功能强大的 CNC 控制器。以下是 v0.8 中的新内容列表。

  • 多任务运行时命令:进给保持与受控减速不会丢失位置、进给保持后恢复、重置和状态报告。
  • 高级归位循环:针对不同类型机器的许多配置选项,从哪些轴移动到它们的搜索方向。限位开关也可用作硬限位。
  • 持久坐标系数据:工作坐标系 (G54-G59) 和预定义位置 (G28、G30) 保存在 EEPROM 中,因此它们将始终设置为您上次设置时的状态。
  • 检查 G 代码模式:设置 Grbl 以在不移动任何内容的情况下运行您的程序,因此您可以检查您是否有任何 Grbl 可能不喜欢的错误。
  • 改进的反馈:报告实时位置、Grbl 正在做什么、G 代码解析器状态和存储的坐标偏移值。
  • 启动块:在启动或重置时自动神奇地运行用户 G 代码块。可用于设置您的默认值。
  • 引脚分配:循环开始、进给保持和中止现在被引脚分配到 A0、A1 和 A2 引脚。只需将一个常开开关连接到引脚和地即可。就是这样!
  • 更强大的 G 代码解析器,带有错误检查反馈。
  • 以及更多!

Grbl v0.8(及更早版本)在 MIT 许可下分发,由 Simen Svale Skogsrud、Sungeun K. Jeon Ph.D. 和 Jens Geisler 开发。

Grbl 在 GPLv3 许可下分发,由 Sungeun K. Jeon Ph.D. 开发。有关更多详细信息,请参阅许可。


先前版本的文档

Clone this wiki locally