串口参数

波特率:115200

*注:一些旧的板子波特率为9600。


TCP网络参数

IP地址:自行配置

TCP端口:23(telnet)


协议格式

GRBL接收两种形式的命令,一种是单字节的实时命令,直接发送单个字节的命令,GRBL就会返回信息。 另一种是以\r结尾的一行命令。GRBL返回信息时,都以\r\n代表一行的结束。

一般命令执行成功,返回ok\r\n或是错误返回error:N\r\n, 其中的N是错误号。当触发限位或遇到其他意外时,GRBL主动会主动向上位机发送信息,应用开发者应随时接收下位机的信息,当遇到\r\n时,就可以解释结果了。

GRBL的命令缓冲区一般为128节字,请不要一次发送超过128字节的命令。


常用命令举例

这里仅说明一些常用的命令,供大家做测试,想自行开发上位机软件的朋友还需自行参考完整的英文资料。

https://github.com/gnea/grbl/wiki


状态查询

上位机发送

?\r

主板响应

<Idle|MPos:-112.000,98751.562,7.000|FS:0,0|Pn:P>\r\n
ok\r\n

其中的Idle表示板子处于空闲状态,其他状态还有

Run  --- 运行中
Alarm --- 警告、异常

MPos 后跟的是机器坐标,具体含义参考官方文档。为了方便,后面的文档省略\r\n。


版本信息查询

上位机发送

$I

主板返回

[VER:1.3a#R1.20210218:]
[OPT:BW$#]
[MSG:Using machine:BACHIN_3AXIS]
[MSG:Mode=AP:SSDI=GRBL_ESP:IP=192.168.0.1:MAC=AC-67-B2-70-70-A5]
[MSG:No BT]
ok

以上是ESP32板子的返回信息,如里是328P板子,返回的信息略少。


参数查询

上位机发送

$$

主板返回

$0=3
$1=250
$2=0
$3=1
$4=0
$5=1
$6=0
$10=1
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=1
$23=4
$24=1000.000
$25=1000.000
$26=250.000
$27=2.000
$30=255.000
$31=0.000
$32=1
$N1=
$N0=
$100=400.000
$101=80.000
$102=400.000
$103=100.000
$104=100.000
$105=100.000
$110=2200.000
$111=2000.000
$112=500.000
$113=1000.000
$114=1000.000
$115=1000.000
$120=3000.000
$121=200.000
$122=300.000
$123=200.000
$124=200.000
$125=200.000
$130=300.000
$131=300.000
$132=300.000
$133=300.000
$134=300.000
$135=300.000
ok

参数设置

设置X轴步进数为200

$100=200

主板返回

ok

设置X轴加速度为3000

$110=3000

主板返回

ok

激光开关

激光开,功率设置为1000

M3S1000

激光关

M5

运行控制

移动X轴到100MM,最高速限定为200mm/分钟

G1 X100 F200

移动X轴到100MM,Y轴到10.2MM

G1 X100 Y10.2

移动X轴到反方向9MM

G1 Z-9

X轴返回起点

G1 X0

XY轴返回起点

G1 X0 Y0

坐标清零

G92 X0Y0Z0

设置当前从标为XYZ(0,10,20)

G92 X0Y10Z20

回限位原点

$H

尾声

可能有些朋友会问,抬笔下笔怎么做?舵机怎么控制?怎么写一个字?怎么切割一个图案?怎么雕刻照片?圆怎么画?

我这里提示一下,不同的写字机,抬笔下笔的指令不同,步进电机一般控制Z轴,抬笔时,指定Z轴往正方向走,下笔时指定Z轴往负方向走。如果是舵机,舵机的控制信息是PWM,也就是和激光功率的控制一样,也是M3Sxx来控制,输出两个不同的PWM,舵机就转动不同的角度来抬笔下笔了。至于写字,画图,板子是不会识别文字图案的,我们雕刻一张图片,不是把整张图片往主板上发送,主板处理不了,我们需要上位机软件,把图案拆分为一段段直线,把这一段段直线的坐标通过上面介绍的G1指令告诉机器怎么走。画一个圆也是把一个圆拆成很多的细小直线。

需要更多信息,请自行百度GRBL,GCODE。

有定制软件需求的,可以加我微信ljx20671218

  • grbl_通信协议.txt
  • 最后更改: 2021/07/30 15:51
  • 由 ljx