Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 4.61 KB

prepare.md

File metadata and controls

37 lines (27 loc) · 4.61 KB

CNC简介

CNC(Computer Numerical Control,简称数控)是指通过计算机自动控制机械加工工具和3D打印机的行为。一台使用CNC的机器会根据写好的程序,将一块原材料(金属、木头、塑料、陶瓷、复合材料均可),在无需人类干预的情况下完成制造过程。采用数值控制的机床叫做数控机床。

什么是G代码?

G代码(G-code),是最为广泛使用的数控编程语言,有多个版本,主要在计算机辅助制造中用于控制自动机床。G代码有时候也称为G编程语言。使用G代码可以实现快速定位、逆圆插补、顺圆插补、中间点圆弧插补、半径编程、跳转加工。

Grbl简介

Grbl是性能高,成本低,基于并行运动的控制器固件,用于CNC雕刻。它可以运行在Vanilla Arduino (Duemillanove/Uno) 只要它配备了Atmega 328型芯片。 控制器由C编写并优化,利用了AVR 芯片的每一个灵巧特性来实现精确时序和异步控制。它可以保持超过30kHz的稳定、无偏差的控制脉冲 它接受标准的G代码而且通过了数个CAM工具的输出测试。弧形、圆形和螺旋的运动都可以像其他一些基本G代码命令一样完美支持。函数和变量并不支持,但是会作为预处理器包含在将来发布的版本之中。 Grbl 包含完整的前瞻性加速度控制,意味着控制器将提前16到20个运动来规划运行速度,以实现平稳的加速和无冲击的转弯。

2009 年,Simen Svale Skogsrud 受惠于开源社区的贡献编写并向所有人发布了 Grbl 的早期版本(灵感来自于 Mike Ellery 的 Arduino G 代码解释器)。2011 年以来,Grbl 在 Sungeun K. Jeon 博士务实的领导下作为一个社区驱动的开源项目在推进。

材料准备

硬件准备

  1. CNC套件: Grbl固件的运行需要Arduino单片机,步进电机驱动器,步进电机,限位开关,主轴电机等,如果需要查看最终的运动效果,这些硬件是需要准备的,最好是一个完整的CNC套件。 通常我们能买到的套件是类似如下图片的Arduino CNC Shield V3: CNC Shield
    它包含一个Arduino uno开发板及数据线,一个扩展板和一些跳线帽,3-4个步进电机驱动。常用的步进电机驱动有A4988和DRV8825,如果你购买的是DRV8825,请在使用前调整电流,因为它默认的电流配置是3.2A!
    它是由protoneer的工程师设计的,它本来也是开源的,但是由于其他工厂没有经过允许直接生产,并且价格卖的非常低,导致作者非常生气并声称不再开源后续设计,因为这些生产者并没有对该项目有贡献。以下是原话:
    Due to Chinese Clones being sold for less than $5 and pricing me completelly out of the market(and them not contributing to the project) I have decided to not publish future versions design files.
    希望大家支持开源,不要“白嫖”别人的工作成果,否则我们面临的开源环境会越来越差。

  2. 步进电机 你还应该至少需要3个步进电机,42(指的是它的外形尺寸为42mm*42mm,对应NEMA17)的步进电机最为常见,如下图:
    步进电机

  3. 主电源 步进电机工作时需要较大电流,有的步进电机驱动还要求有较高的电压,对于本书,我是用的是12V的电源。

  4. 运动机构另外还需要一些运动机构比如丝杆或同步带之类,因为涉及到角度转直线运动的计算方法。

软件准备

Grbl的源码需要编译成单片机可以运行的代码,所以还需要 编辑器编译器上位机软件支持。本书编辑器和编译器使用的是virtual studio codeplatformio 组合, 上位机用的是 LaserGRBL, 为什么使用他们而不是ArduinoIDE等等问题,没有别的原因,也没有倾向性,只是习惯而已,如果你习惯其他方式,完全可以。本书假定你会安装这些软件,如果碰到特殊操作,会在相应位置指出,至于如何安装,因篇幅有限,请搜索对应教程。

技能准备

  1. C语言基础 Grbl是用C语言实现的,因此要求你具备C语言的基础编程能力,遇到C对应的术语能够理解。
  2. 单片机基础 Grbl运行在单片机上,需要你有一些单片机的使用经验,知道什么是烧录,以及如何烧录单片机,对于Arduino,这个很简单,本书也会提供简单说明。

启程出发

最后,让我们一起整装出发,一起体验Grbl这个“世外桃源”吧。