这是 GRBL 1.1 port 到STM32F103 的目标

・7 分钟阅读

  • 源代码名称: grbl
  • 源代码网址: https://www.github.com/usbcnc/grbl
  • grbl的文档
  • grbl的源代码下载
  • Git URL:
    git://www.github.com/usbcnc/grbl.git
  • Git Clone代码到本地:
    git clone https://www.github.com/usbcnc/grbl
  • Subversion代码到本地:
    $ svn co --depth empty https://www.github.com/usbcnc/grbl
                              Checked out revision 1.
                              $ cd repo
                              $ svn up trunk
              
  • GitHub Logo

    单击Release选项卡下载预编译的.hex文件或单击此处

    Grbl是一种基于并行端口的,无可比拟的,高性能,低成本数控铣削运动控制方案,这个版本的Grbl在Arduino上运行,带有328p个处理器(Uno,duemilanove,nano,micro等)。

    控制器采用高度优化的C语言编写,利用AVR-chips的每个智能特性实现精确定时和异步操作,它能够维持高达30kHz的稳定,抖动自由控制脉冲。

    它接受符合标准的g代码,并且已经在几个凸轮工具的输出中进行了测试,圆弧,圆和螺旋运动得到完全支持,以及所有其他的g代码命令,不支持宏函数,变量和大多数固定循环,但我们认为GUI无论如何都可以更好地将它们转换为直接g代码。

    Grbl包含全面的加速管理,这意味着控制器将在未来可以控制16个动作,并提前计划它的速度,以提供平稳的加速和无冲击转弯。

    • 许可:Grbl是自由软件,在GPLv3许可下发布。

    • 有关更多信息和帮助,请查看我们的 Wiki页面,如果你发现信息已经过期,请帮助我们通过编辑或通知我们的社区来保持更新,谢谢!

    • 首席开发人员:Sungeun "Sonny "Jeon,Ph.D。(美国)aka @chamnit

    • 基于Simen Svale Skogsrud(挪威)编写的精彩Grbl v0.6(2011)固件。

    -Grbl数控项目的官方支持者,

    Official Supporters

    v1.1 更新摘要,

    • 重要:你的EEPROM将被清除,并且恢复新设置,这是由于添加了两个新的主轴速度'$'。

    • 实时替代:通过进给,快速,主轴速度,主轴停止和冷却剂切换控制立即改变机器运行状态,这个优秀的新特性只在工业机器上常见,经常用于优化速度和提供工作,大多数的爱好都是模仿这种行为,但是,通常会有大量的延迟,Grbl实时执行覆盖,并且在几十毫秒内执行。

    • 运行模式:新的运行时命令与g代码解析器无关,因此解析器状态不会被修改,文档包含有关它工作原理以及如何通过操纵杆或旋转拨盘控制您的机器,并具有低延迟,令人满意的响应。

    • 激光模式:新的激光模式将导致Grbl连续连续移动,g2g3指令的主轴速度变化,当"激光"模式被禁用时,Grbl将来停止,以确保主轴能够正确加速,主轴速度覆盖也使用激光模式,这样你就可以调整激光功率,如果需要的话,通过$设置在"激光器"模式和"正常"模式之间切换。

      • 带有速度的动态激光功率缩放: 如果你的机器加速度会根据Grbl的行进速度自动调整激光功率所以,当你的数控转弯时,你不会有烧伤的角!启用激光模式时,M4 主轴CCW命令启用!
    • 睡眠模式:Grbl现在可以通过$SLP命令进入"睡眠" 这将禁用所有内容,包括步进驱动器,当你让机器无人值守,并且想自动断电时很好,只有复位退出睡眠状态。

    • 重要接口改进: 为了提高整体性能,包括更多实时数据,并简化了维护和编写GUIs ,基于来自多个GUI开发人员和工作台性能测试的直接反馈。注意:GUI需要专门更新它代码以与v1.1及更高版本兼容。

      • 新状态报告: 为了考虑额外的替代数据,状态报告已经被调整为将更多的数据填入其中,包含文档,说明如何更改文档,
      • 改进的错误/警报反馈: 所有Grbl错误和警报消息都已经更改为提供代码,每个代码都与特定的问题相关联,因此用户可以确切地知道什么是错误的,而不需要猜测,文档和易于解析的CSV包含在repo中,
      • 扩展的ascii实时命令: 所有覆盖和将来的实时命令都在扩展的ASCII字符空间中定义。不幸的是,不容易在键盘上键入,但是,有助于防止带有这些字符的g代码文件的意外命令,
      • 消息前缀:Grbl的每个消息类型都有惟一的前缀,帮助GUI立即确定消息的内容,并且相应地解析它,而不必了解上下文,前面的接口有几个gui实例,必须确定消息的含义,这使得一切都比需要复杂,
    • 新的OEM功能,如安全门停车,单配置文件构建选项,EEPROM限制和恢复控制,以及存储产品数据信息。

    • 作为编译选项的新安全门停车动作,Grbl将缩回,禁用主轴/冷却液,并停在Z max附近。恢复后,它将按相反顺序执行这些任务,并且继续执行程序,高度可以配置,甚至可以添加多个停车运动,有关详细信息,请参阅config.h 。

    • 新的$'grbl设置,用于最大和最小主轴转速,允许调整PWM输出以更接近地匹配真正的主轴转速。当最大转速设置为零或者小于最小转速时,PWM引脚D11将像一个简单的启用/关闭输出。

    • 从NIST到LinuxCNC g代码描述的更新G28和G30行为,简而言之,如果指定中间运动,仅指定的轴将移动到存储坐标,而不是所有的轴。

    • 大量的Bug补丁和重构,使代码更加高效和灵活。

    • 注:Arduino Mega2560支持已转移到一个活动的正式Grbl-Mega 项目 ,这里和那里的所有新发展都会在有意义的时候同步。

     
    
    List of Supported G-Codes in Grbl v1.1:
    
    
     - Non-Modal Commands: G4, G10L2, G10L20, G28, G30, G28.1, G30.1, G53, G92, G92.1
    
    
     - Motion Modes: G0, G1, G2, G3, G38.2, G38.3, G38.4, G38.5, G80
    
    
     - Feed Rate Modes: G93, G94
    
    
     - Unit Modes: G20, G21
    
    
     - Distance Modes: G90, G91
    
    
     - Arc IJK Distance Modes: G91.1
    
    
     - Plane Select Modes: G17, G18, G19
    
    
     - Tool Length Offset Modes: G43.1, G49
    
    
     - Cutter Compensation Modes: G40
    
    
     - Coordinate System Modes: G54, G55, G56, G57, G58, G59
    
    
     - Control Modes: G61
    
    
     - Program Flow: M0, M1, M2, M30*
    
    
     - Coolant Control: M7*, M8, M9
    
    
     - Spindle Control: M3, M4, M5
    
    
     - Valid Non-Command Words: F, I, J, K, L, N, P, R, S, T, X, Y, Z
    
    
    
    

    Grbl是一个开源项目,由我们无畏的管理员和利他用户的空闲时间推动。如果你愿意捐赠,所有的工作将被用来帮助资助支持硬件和测试设备,谢谢!

    讨论
    Fansisi profile image