手机:15640316869

QQ:618654

电话:024-25858808

地址:辽宁省沈阳市皇姑区三洞桥街道珠江街73-9-4门

最新资讯

【3D打印机使用教程】RepRap3D打印机G-code命令专家详解【第七节】【卓序科技】

第七节,较不常用指令


这些指令实在无法归类了,只能以“较不常用指令”为名字,放在了一起。


M42直接读写端口


此命令直接读/写一个Arduino端口,为3D打印控制软件上位机扩展程序功能提供基础。参数包括:


Pnnn表示Arduino的输入/输出端口;输出时固件程序会同时输出到数字端口和模拟端口;输入时固件程序会从数字端口输入;


Snnn表示写入输出端口的值,0到255之间是合法的数字;当S参数不存在的时候,M42指令起输入作用;


Repetier-firmware固件中预先定义了一个表格,称为“敏感端口表格”,所有位于这个表格内的端口,也就是当前已经被步进电机、限位开关以及热敏电阻占用的端口,都不能被M42命令影响。其他当前未占用的端口,可以由这条命令进行IO操作。


M82/M83 设置挤出头步进电机坐标模式


与G90/G91命令类似,这两条命令用于设置挤出头当前坐标模式为绝对坐标模式(M82)或者相对坐标模式(M83)。没有参数。


未设置时缺省值是绝对坐标模式。


需要注意的是,G90/G91设置的坐标模式,同时对XYZE四个轴起作用,但M82/M83设置的坐标模式,只对E轴(挤出头步进电机)起作用。


M99 暂时关闭步进电机


M99命令可以暂时关闭XYZ轴步进电机一段时间。命令参数包括:


Snnn表示所需暂时关闭步进电机的时间,以秒为单位;


X表示暂时关闭X轴步进电机;


Y表示暂时关闭Y轴步进电机;


Z表示暂时关闭Z轴步进电机;


如果S参数没有指定,则暂时关闭10秒钟时间。暂时关闭时间到达之后,重新打开相应轴的步进电机。


M111 允许/禁止运行时调试标志


运行时调试标志是一组布尔值,一共有6个不同的标志,使用位域(Bit Field)的表示方式。用户可以利用M111指令修改这些标志的值。相关参数包括:


Snnn表示直接将调试标志设置为S值;


Pnnn表示以位操作的方式,将P值与当前调试标志做某种操作。如果P值是正数,则进行按位或操作(增加P参数所带的标志位);如果P值是负数,则忽略P的符号,进行取反后按位与操作(去除P参数所带的标志位);


调试标志的位域,由以下6个布尔值组成:


第1位,值为1,表示是否回显(Echo)由上位机发送至下位机的命令;


第2位,值为2,表示是否输出信息(Info),实际在固件代码中并未使用;


第3位,值为4,表示是否输出错误(Error),在固件出错时会将出错信息发送回上位机;


第4位,值为8,表示是否进入模拟执行模式(Dry run),在模拟执行模式下,3D打印机不实际执行上位机发送的命令,只修改3D打印机的内存状态;


第5位,值为16,表示是否进入调试通讯模式(Communication),实际在固件代码中似乎并未使用;


第6位,值为32,表示是否进入禁止移动模式(No Move),在这个模式下,所有对步进电机的移动命令,都会被忽略;


M117 发送消息至LCD屏幕


将一条详细发送至LCD屏幕,显示为当前状态信息。参数为


message表示待显示在LCD屏幕上的文本;


M120 测试蜂鸣器


使蜂鸣器发出蜂鸣声。参数为


Snnn表示发出声音/不发出声音的时间,以毫秒为单位;


Pnnn表示重复的次数;


如果3D打印机有蜂鸣器,而且是无源蜂鸣器,那么通过S参数和P参数的组合,可以得到不同频率的声音。比如


M120 S24 P8


可以得到一个较长的蜂鸣声。如果3D打印机的蜂鸣器是有源蜂鸣器,那么M120指令只能控制蜂鸣时间,不能控制蜂鸣器的声音频率。


M200 设置体积挤出模式


将3D打印机设置为“体积挤出模式”,同时设定挤出头直径参数。相关参数包括


Tnnn表示对应的挤出头,无T参数表示使用当前挤出头;


Dnnn表示挤出头的实际直径,无D参数表示关闭体积挤出模式;


体积挤出模式,是相对于缺省的“长度挤出模式”而言的另一种挤出模式。在常见的“长度挤出模式”下,G-code中的使E轴运动的G0/G1命令,其参数都是以长度单位mm作为单位的。这样确实比较简单,但问题是我们在切片的时候,就必须知道要使用的喷头直径,否则无法计算出耗材前进的实际长度。


为了使G-code在生成之后适用于多种不同喷头直径的3D打印机机型,我们可以在上位机切片时,将E轴参数变为以体积单位mm3作为单位,然后在下位机固件中,再设定正在使用的喷头直径,以达到最终正确输出的目的。为了以体积单位mm3作为E轴的参数单位,上位机需要将喷头直径设定为1.128mm(这样,耗材每前进1mm,会喷出1mm*π*(1.128mm/2)2约等于1mm3的耗材。)同时,下位机要使用下面的语句:


M200 T0 D0.4


将实际的挤出头喷头直径设置为0.4mm。同时在上位机和下位机进行这样的操作之后,3D打印机可以在E轴参数单位为mm3的情况下,正确完成打印操作。


M209 开启/关闭自动回抽


开启/关闭自动回抽功能。命令参数为


Snnn表示是否开启自动回抽功能,1表示开启,0表示关闭;


通常上位机切片器负责在合适的位置处加入回抽指令。如果你的切片器功能比较弱,不能加入合适的回抽指令,那么可以打开这个特性,由固件自动回抽。


在固件配置中,定义


#define FEATURE_RETRACTION 1


表示支持自动回抽功能,在编译中会包含相关的代码。


M280 多头重复打印模式设置


有些特殊配置的3D打印机,允许2~4个挤出头同时工作,并且这些挤出头动作完全一致,同时打印出多件完全一样的打印件,这种工作模式叫做多头重复打印模式(Ditto mode)。M280命令对这个模式进行设置。命令参数为


Snnn表示这个模式下的挤出头个数;S0表示关闭多头重复打印模式;S1~S3表示工作在多头重复打印模式下,并且3D打印机拥有额外的1~3个挤出头。


在固件配置中,定义


#define FEATURE_DITTO_PRINTING 1


表示支持多头重复打印模式功能,在编译中会包含相关的代码。


M281 测试硬件看门狗功能


这条命令用于测试CPU硬件中的看门狗功能。实际上,就是造成一个死循环,不再执行“喂狗”动作,从而触发CPU硬件看门狗,最终(故意地)造成3D打印机重启。这条命令只是用于3D打印机固件开发测试。


M303 自动测试PID参数


自动测试PID参数值。命令参数为


Pnnn表示待测试的挤出头编号,从0开始,P<挤出头个数>代表待测试的是热床;


Snnn表示打印温度;


Rnnn代表重复测试次数;


X代表是否保存于EEPROM中;


由于加热、散热需要较多时间,这条命令执行时间很长。


M330 测试蜂鸣器


测试(无源)蜂鸣器,产生一个特定频率的声音。命令参数为


Snnn表示声音的频率;


Pnnn表示声音持续的时间,以毫秒为单位;


如果命令没有包含S参数或者P参数,则会使用缺省值S1以及P1000。



第六节讲解到此结束,更多咨询关注沈阳卓序科技,联系我们

QQ:618654
电话:024-25858808
手机:18602418098