- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概述
众所周知,3D打印机执行的是一堆指令,这一堆指令都来源于一个指令集,即G-M指令集。而固件就负责解释这些指令,并将命令指派给电子原件,从而完成打印任务。因此,固件和指令集必须相互配合,否则打印机不会正常工作。开源的3D打印机使用的固件多种多样,但和这些固件匹配的指令集绝大多数指令都相同,即RepRap G-M指令集。由于Marlin固件使用的最为广泛,笔者就以Marlin固件的指令集为例作叙述。
了解G-M指令有什么用?这用处可大了。帮助使用者更方便地调试打印机,检测打印机的问题,扩展打印机菜单功能…反正好处多多,不管你信不信,反正我是信了。
废话不多说,进入正题。G-M指令集就是一些以G或M开头的代码,有时候还会掺杂一些以其其他字母以标示参数意义,比如T、S、F、P等。具体意义见下表,表中nnn表示数字。
字母意义Gnnn标准 GCode 命令, 例如移动到一个坐标点。MnnnRepRap定义的命令,例如打开一个冷却风扇Tnnn选择工具代码。 在RepRap中,工具通常是挤出头(extruder)。Snnn命令参数, 例如马达的电压。Pnnn命令参数, 频率:1次每毫秒。XnnnX坐标, 通常用于移动命令。YnnnY坐标, 通常用于移动命令。ZnnnZ坐标, 通常用于移动命令。Ennn挤出长度,用于控制挤出线材的长度.Innn参数 - 现在仍未使用(定义)。Jnnn参数 - 现在仍未使用(定义)。Fnnn打印头移动速度 单位: 毫米每分钟 Rnnn参数 - 温度相关。Qnnn参数- 现在仍未使用(定义)。Nnnn行码,在发送错误情况后,用来重复输入某行代码(命令)。*nnn校验码(Checksum). 用于检测通信错误因此,能够被Marlin固件识别的代码应该是像下面的样子:
详解注释
G-Code一行中分号“;”后面的内容为解释性语句,即注释。固件会忽略其内容。为了减少通信量,可以把注释信息都去掉。
标记代码
N 和 *,比如 N123 [...G Code 写在这里...] *71。这是行码和标记码。RepRap的固件会以一个本地计算的值来对比标记码,如果两者值不同,就会要求重复输入该条指令。行码和检查码都可以去掉,RepRap仍会工作, 但它不会做检查。你必须同时使用,或同时放弃使用。检查码cs 是通过对对应的指令(包括它的的行码)的原始字节数据进行异或位运算得出的。
检查码cs的值即是其*符号右边的十进制数字,RepRap固件希望每次命令的行代码都是逐次增加1的大小,不然的话,它会返回一个错误。当然你也可以发送一个M110命令(详情请看下面)强行重置机器。行码和检查码是为了减少信号干扰。
延时G 命令
RepRap固件接收到这些指令后,会先存储在一个循环队列缓存里再执行。这意味着固件在接收到一条指令后马上可以传输下一条。这也意味着一组线段可以没有间断的情况下连续打印。为了实现指令流的控制,当接受到可缓存的指令时,如果固件把它成功放到本地缓存里,就立即给出应答,如果本地缓存已满,则会延时等到缓存有空出的位置时,才给出应答,然后才可以传输指令。
G0: Rapid move 快速移动
比如G0 X10 Y20,如果使用绝对定位的话,就命令打印机喷头快速移动到X=10,Y=20的位置。G0指令不能包含挤丝参数,只能包含X、Y、Z参数,即所谓的空驶动作。
G1: Controlled move 可控移动
比如G1 X10 Y20 E2.4,G1指令中可以包含挤丝动作。Marlin会尝试从每一行指令中读取速度值,然后再移动开始之前加速或减速到这个速度值,然后执行移动指令,而不会在移动过程中改变速度。下面的几句指令告诉打印机速度先从当前的1500加速到3000,执行第二句的移动动作,然后再减速到1500,再执行第三句的移动动作。
如果E轴坐标采用绝对定位的话,而当前行中的E坐标值小于上一个E坐标值,那么打印机就会回抽,这可以有效防止毛刺现象。
G2: Controlled Move Arc Clockwise可控顺时针圆弧移动
比如 G2 X100 Y100 I50 J60 E30,表示从当前点通过一个顺时针圆弧线移动到(100 ,100)位置,该圆弧的圆心的位置是当前点坐标平移(50,60)得到的位置,在此过程中还可以控制挤丝动作。
G3: Controlled Move Arc Counter-Clockwise 可控逆时针圆弧移动
比如 G2 X100 Y100 I50 J60 E30,表示从当前点通过一个逆时针圆弧线移动到(100 ,100)位置,该圆弧的圆心的位置是当前点坐标平移(50,60)得到的位置,在此
您可能关注的文档
最近下载
- Office办公软件应用案例教程--电子教案.docx VIP
- 部编版语文六年级上册第一单元教学设计含习作园地一.pdf VIP
- 《闪亮的坐标—劳模王进喜》课件 2024-2025学年高教版(2023)中职语文职业模块_47498966.pptx VIP
- 上海正夕CL2800余氯分析仪使用说明书.pdf VIP
- 牛油果种植管理技术.pdf VIP
- AI驱动光接入网技术白皮书(2025版).docx
- JT∕T 200-2020 汽车客运站级别划分和建设要求(可复制版).pdf
- 完整版铁路工程实施性施工组织设计方案22.docx
- 飞行_载重平衡管理手册.pdf
- 第4章 PyTorch深度学习框架.pptx VIP
文档评论(0)