在Arduino Uno上安装CNC软件(grbl)
本项目中用于控制数控机床的软件称为。它是一个开源和高性能的 g 代码解析器和 CNC 铣削控制器,可以在直接的 Arduino Uno 上运行。为了能够在Arduino上安装软件,需要一台外部计算机。grbl
安装 Arduino 软件 (IDE)
为了能够在Arduino上安装,已安装在计算机上。该程序用于将代码上传到Arduino。该程序是从Arduino的官方网站下载的,并按照说明进行操作:grbl
Arduino Software (IDE)
启动程序后,您应该看到如下内容:
安装 GRBL
安装Arduino软件后,从其官方GitHub发布页面下载了最新的稳定版本(zip格式):grbl
解压缩文件后,您应该在文件夹中看到类似于以下内容的内容:
在被加载到中之前,必须对配置文件进行细微的调整。这是因为当发布 v1.1 时,它改变了 Z 端挡器使用的引脚。如果不这样做,则 Z 端挡块将无法被 识别。为了说明应该使用访问 Z 端止点的旧方法,注释掉了 中的一个特定变量。grbl
Arduino Software (IDE)
grbl's
config.h
gbrl
grbl
grbl
config.h
在文本编辑器中打开了配置,并通过在行首添加两个斜杠 (//) 来注释掉设置变量的行(请参阅最后一行):grbl/config.h
VARIABLE_SPINDLE
// Enables variable spindle output voltage for different RPM values. On the Arduino Uno, the spindle
// enable pin will output 5V for maximum RPM with 256 intermediate levels and 0V when disabled.
// NOTE: IMPORTANT for Arduino Unos! When enabled, the Z-limit pin D11 and spindle enable pin D12 switch!
// The hardware PWM output on pin D11 is required for variable spindle output voltages.
// #define VARIABLE_SPINDLE // <-- THIS SHOULD BE COMMENTED OUT!!
更新的已保存。config.h
然后启动并单击菜单替代项:Arduino Software (IDE)
Sketch > Include Library > Add .ZIP Library...
您应该会看到一个类似于以下内容的弹出窗口:
已打开解压缩的目录,并选择了该文件夹。选择文件夹后,编辑器下方会出现一个文本,指出 .grbl
grbl
Library added to your libraries. Check "Include library" menu
一根 USB 电缆连接到小电子盒上的 USB 连接。
接下来,将Arduino连接到您的计算机。
为了让 IDE 知道将软件上传到何处,我们选择了正确的串行端口和板。串行端口设置在 下。Tools > Port > SOMETHINGSOMETHING (Arduino Uno)
If you have trouble finding the correct port, you might need to install
CH340 drivers. It might occurr if you're using an Arduino clone. Look at
this resource for more info:
https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all
董事会设在 .Tools > Board > Arduino Uno
为了测试是否选择了正确的板和串行端口,通过单击左上角的复选标记来编译模板代码(启动IDE时可用的默认代码)。编译完成后,单击向右箭头将代码上传到Arduino。如果成功,您应该会在编辑器下方看到一条文字。Done uploading
IDE现在已准备好上传到Arduino。这是通过单击顶部菜单来完成的:grbl
File > Open
在弹出窗口中,找到下载的文件夹,并打开以下文件。grbl/examples/grblUpload/grblUpload.ino
打开了一个新的弹出窗口,并通过单击复选标记来编译代码。完成后,通过单击向右箭头将编译后的代码上传到Arduino。 现在安装在Arduino上!grbl
grbl
G 代码发件人
为了能够将 G 代码指令从计算机发送到 Arduino,需要 G 代码发送器。 推荐的 G 代码发件人的官方列表可在此处找到: https://github.com/gnea/grbl/wiki/Using-Grbl (2021 年 9 月 26 日)grbl
grbl's
安装 G 代码发送器
在这个项目中,使用了一个名为 G 代码发送器的发送器。该程序是从UGS的官方网站下载的,并按照说明进行操作:Universal G-Code Sender (UGS)
启动程序后,您应该看到如下内容:
将 G 代码发送器连接到 GRBL
为了让UGS知道连接到哪里,选择了正确的固件(GRBL)和串行端口(cu.usbmodem<NUMBER>)。如果找不到正确的串行端口,请单击旋转箭头以刷新端口。
然后,通过单击左上角的插头/插座图标,将UGS连接到Arduino。如果连接成功,您应该会看到插头/插座图标变为橙色,并且控制台中输出了 GRBL 配置。
调整 GRBL 配置
GRBL 配置使您能够调整重要设置,例如不同轴的最大 mm/min 速率以及是否应使用限位器。可以在此处找到所有设置的完整说明:
https://github.com/gnea/grbl/blob/master/doc/markdown/settings.md (2021年9月26日)
要更新设置,将新设置输入到控制台命令行中,例如:启用终止/硬限制。然后,在控制台中输出设置已更改的确认。$21 = 1
启用终止/硬限制
通过更新以下设置启用了终止/硬限制:
$21 = 0
-> $21 = 1
为了测试限位器是否正常工作,每个限位器都通过用手指手动触发来测试。触发后,应在UGS中发出警报。
触发警报后,通过单击和 重置 UGS。Soft reset
Unlock
计算和设置行程分辨率
要调整的最重要设置是 X 轴、Y 轴和 Z 轴行程分辨率。这些设置告诉 GRBL 移动一毫米需要多少步。行程分辨率取决于步进电机每转的步数、微步进、齿间距和正时皮带轮上的齿数。
以下公式用于计算每个步进电机的行程分辨率(步长/毫米):
在此项目中,旅行分辨率的计算方式如下:
步进电机 | 微步进 | 步距角 | 每转步数 | 齿距 | 齿数 – 滑轮 1 | 齿数 – 滑轮 2 | 出差分辨率 |
---|---|---|---|---|---|---|---|
X轴 | 16 | 0.094度 | 360/0.094 = 3829.7872 步 | 5 毫米 (HTD5M) | 12 | 1 (无滑轮时使用 2) | (16*3829.7872)/(5*12/1) = 1021.277 |
Y 轴 (1) | 16 | 0.094度 | 360/0.094 = 3829.7872 步 | 5 毫米 (HTD5M) | 12 | 1 (无滑轮时使用 2) | (16*3829.7872)/(5*12/1) = 1021.277 |
Y 轴 (2) | 16 | 0.094度 | 360/0.094 = 3829.7872 步 | 5 毫米 (HTD5M) | 12 | 1 (无滑轮时使用 2) | (16*3829.7872)/(5*12/1) = 1021.277 |
Z轴 | 16 | 1.8度 | 360/1.8 = 200 步 | 8 mm (极尖杆) | 16 | 60 | (16*200)/(8*16/60) = 1500 |
旅行决议已更新:
- X轴行程分辨率:
$100=250.000
->$100 = 1021.277
- Y轴行程分辨率:
$101=250.000
->$101 = 1021.277
- Z轴行程分辨率:
$102=250.000
->$102 = 1500.000
通过在UGS中将每个轴移动10 mm并测量实际移动的距离,验证了计算出的行程分辨率。
其他配置
归位周期是指 CNC 机器在开始工作之前自动将所有轴移动到其极限以归位。我禁用了此功能,因为我将手动将路由器点动到其位置:
$22 = 1
-> $22 = 0
X 轴和 Y 轴最小速率增加到 1000:
- X轴最大速率:
$110=500.000
->$110 = 1000.000
- Y 轴最大速率:
$111=500.000
->$111 = 1000.000
X 轴和 Y 轴最大行程增加到 500:
- X轴最大行程:
$130=200.000
->$130 = 500.000
- Y 轴最大行程:
$131=200.000
->$131 = 500.000