差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
grbl_通信协议 [2021/07/30 15:07]
ljx
grbl_通信协议 [2021/07/30 15:51] (当前版本)
ljx
行 22: 行 22:
 一般命令执行成功,返回ok\r\n或是错误返回error:​N\r\n,​ 其中的N是错误号。当触发限位或遇到其他意外时,GRBL主动会主动向上位机发送信息,应用开发者应随时接收下位机的信息,当遇到\r\n时,就可以解释结果了。 一般命令执行成功,返回ok\r\n或是错误返回error:​N\r\n,​ 其中的N是错误号。当触发限位或遇到其他意外时,GRBL主动会主动向上位机发送信息,应用开发者应随时接收下位机的信息,当遇到\r\n时,就可以解释结果了。
  
 +GRBL的命令缓冲区一般为128节字,请不要一次发送超过128字节的命令。
  
 +----------------------------
 ===常用命令举例=== ===常用命令举例===
  
行 28: 行 30:
  
 https://​github.com/​gnea/​grbl/​wiki https://​github.com/​gnea/​grbl/​wiki
 +----------------------------
 +===状态查询===
  
-  * ==状态查询== +上位机发送
- +
-上位机发送+
 <​code>​ <​code>​
 ?\r ?\r
 </​code>​ </​code>​
  
-主板响应+主板响应
 <​code>​ <​code>​
 <​Idle|MPos:​-112.000,​98751.562,​7.000|FS:​0,​0|Pn:​P>​\r\n <​Idle|MPos:​-112.000,​98751.562,​7.000|FS:​0,​0|Pn:​P>​\r\n
行 51: 行 53:
 MPos 后跟的是机器坐标,具体含义参考官方文档。为了方便,后面的文档省略\r\n。 MPos 后跟的是机器坐标,具体含义参考官方文档。为了方便,后面的文档省略\r\n。
  
 +-------------------
 +===版本信息查询===
  
 +上位机发送
 +<​code>​
 +$I
 +</​code>​
 +主板返回
 +<​code>​
 +[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
 +</​code>​
 +以上是ESP32板子的返回信息,如里是328P板子,返回的信息略少。
 +-------------------
 ===参数查询=== ===参数查询===
  
行 110: 行 129:
 ok ok
 </​code>​ </​code>​
 +-------------------
  
 ===参数设置=== ===参数设置===
--------------------+
 设置X轴步进数为200 设置X轴步进数为200
 <​code>​ <​code>​
行 121: 行 141:
 ok ok
 </​code>​ </​code>​
 +
 +设置X轴加速度为3000
 +<​code>​
 +$110=3000
 +</​code>​
 +主板返回
 +<​code>​
 +ok
 +</​code>​
 +
 +-------------------
 +
 +===激光开关===
 +
 +激光开,功率设置为1000
 +
 +<​code>​
 +M3S1000
 +</​code>​
 +
 +激光关
 +
 +<​code>​
 +M5
 +</​code>​
 +
 +-------------------
 +
 +===运行控制===
 +
 +移动X轴到100MM,​最高速限定为200mm/​分钟
 +
 +<​code>​
 +G1 X100 F200
 +</​code>​
 +
 +移动X轴到100MM,Y轴到10.2MM
 +
 +<​code>​
 +G1 X100 Y10.2
 +</​code>​
 +
 +移动X轴到反方向9MM
 +
 +<​code>​
 +G1 Z-9
 +</​code>​
 +
 +X轴返回起点
 +
 +<​code>​
 +G1 X0
 +</​code>​
 +
 +XY轴返回起点
 +
 +<​code>​
 +G1 X0 Y0
 +</​code>​
 +
 +坐标清零
 +
 +<​code>​
 +G92 X0Y0Z0
 +</​code>​
 +
 +
 +设置当前从标为XYZ(0,​10,​20)
 +
 +<​code>​
 +G92 X0Y10Z20
 +</​code>​
 +
 +回限位原点
 +
 +<​code>​
 +$H
 +</​code>​
 +
 +----------------------------
 +===尾声===
 +
 +可能有些朋友会问,抬笔下笔怎么做?舵机怎么控制?怎么写一个字?怎么切割一个图案?怎么雕刻照片?圆怎么画?
 +
 +我这里提示一下,不同的写字机,抬笔下笔的指令不同,步进电机一般控制Z轴,抬笔时,指定Z轴往正方向走,下笔时指定Z轴往负方向走。如果是舵机,舵机的控制信息是PWM,也就是和激光功率的控制一样,也是M3Sxx来控制,输出两个不同的PWM,舵机就转动不同的角度来抬笔下笔了。至于写字,画图,板子是不会识别文字图案的,我们雕刻一张图片,不是把整张图片往主板上发送,主板处理不了,我们需要上位机软件,把图案拆分为一段段直线,把这一段段直线的坐标通过上面介绍的G1指令告诉机器怎么走。画一个圆也是把一个圆拆成很多的细小直线。
 +
 +需要更多信息,请自行百度GRBL,GCODE。
 +
 +有定制软件需求的,可以加我微信ljx20671218
 +
 +
  • grbl_通信协议.1627628837.txt.gz
  • 最后更改: 2021/07/30 15:07
  • 由 ljx