打印虎原创Repetierfirmware深度配置图解教程文档格式.docx
《打印虎原创Repetierfirmware深度配置图解教程文档格式.docx》由会员分享,可在线阅读,更多相关《打印虎原创Repetierfirmware深度配置图解教程文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
![打印虎原创Repetierfirmware深度配置图解教程文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/2/dca738c6-b06d-47a3-8434-d6ca1b1536ae/dca738c6-b06d-47a3-8434-d6ca1b1536ae1.gif)
第一项,配置级别(Configurationlevel),用来选择这个配置工具中可见配置项的多少。
一共有三项选择,缺省是普通档(Normal,hideonlyinternalsettings)。
我仔细比较了三种选项的差别,发现差别不多,而且都集中在下面两个面板,机械(Mechanics)和温度(Temperature)之中。
对于一般的用户来说,选择普通档已经足够复杂了,似乎没什么必要再给自己找麻烦了。
第二项,处理器(Processer),这里面有两个选项,分别是Atmel8位板子(Atmel8-bitbasedboard)以及ArduinoDUE板子(ArduinoDUEbasedboard)。
我想前一种应该是绝大多数人的选择。
ArduinoDUE是新式的基于Arm核心的Arduino,似乎应用的还比较少。
第三项,主板(Motherboard),其中的选择就很多了,很多RepRap的分支设计都对电路主板进行了重新设计。
根据我的研究,国内用户比较多的有其中三种,分别是RAMPS1.4,Melzi以及Sanguinololu1.2及以上(Sanguinololu1.2andabove),大家按照自己的主板型号选择对应的选项就好了。
这个选项的实际意义,是把3D打印机的各种设备,比如步进电机,或者加热挤出头的开关,对应到了Arduino系统的某个端口号上。
因为每种电路主板的设计都有些许差别,因此不同的设计都需要指定这组端口号。
端口号对应错误的话,就会出现本想控制X轴步进电机,结果控制了风扇这类错误,3D打印机肯定不能正常工作的。
第四项,打印机类型(Printertype),指的是3D打印机步进电机的运动方式。
最常见的就是笛卡尔式(也就是各自独立的XYZ三个轴的步进电机)。
也因为笛卡尔式的3D打印机是最常见的,因此往往3D打印机电路板上会直接把三个步进电机的输出标为X,Y,Z输出。
但是实际上,还有好几种不同的3D打印机设计方式。
在国内比较常见的还有并联臂方式,这种方式工作的3D打印机可以实现更快速平稳的加热挤出头运动。
如下图,三个红色的并联臂,都可以上下移动,移动的位置决定了位于中心的加热头的位置。
很明显,在这种结构设计下,步进电机的运动方式与笛卡尔式设计会完全不同。
另一种现在还不太常见的设计,是Tuga方式。
如下图所示,这种方式的设计,XY轴的运动,被两个固定在X轴上的步进电机,通过一个剪刀式机械装置控制。
很明显,这种方式的设计可以有效缩小3D打印机所占的空间,但保证这个打印头的稳定会更加麻烦一些。
好,看过了两种不同于笛卡尔式的3D打印机打印头控制方式之后,我们回到Repetier-firmware的设置选择上来。
我们假设你的打印机类型就是普通的笛卡尔式(Cartesianprinter),继续下面的选项。
第五项,EEPROM使用(EEPROMusage),指的是是否使用Arduino单片机中的EEPROM作为设定参数的存储器。
如果使用EEPROM保存参数,那么这里设定的大多数参数,都可以在固件刷到Arduino之后再进行修改,这样会极大方便我们对3D打印机的使用。
如果没什么特殊的需求,这里就选择EEPROMSet1就可以了。
如果有特殊的需求,不希望使用EEPROM,选择禁用(DisableEEPROM)就好。
至于EEPROMSet2,作用与EEPROMSet1完全一样。
这里允许选择EEPROMSet1或者Set2的意义,在于如果电路板内现在的固件是Set1,而新刷入的是Set2,或者反之,电路板内现在的固件是Set2,而新刷入的是Set1,会迫使固件程序执行EEPROM的初始化操作。
我认为,这是ArduinoIDE不能清除EEPROM的一个替代解决方案。
第六项,波特率(Baudrate),是固件程序和PC上的控制软件之间通信所使用的频率。
这两边的设置必须一致,才能进行有效的通信。
没有特殊情况的话,缺省值115200ANSI是一个好的选择。
第七项,中断打印方式(Killmethod),是3D打印机接收到紧急停机(emergencystop)指令时的处理方式。
缺省的重置控制器(Resetcontroller)方式,简单粗暴,直接进行了硬件重置操作,这样自然所有的加热器都关闭了。
另一个选项关闭加热器并等待(Disableheaters,waitforever),用程序的方式逐一关闭加热器,并让CPU进入了死循环,相对是比较文雅的方式,但通常情况下可能没什么必要。
后面的几个选项,就非常简单了。
首先是XYZ轴的最小坐标,这里保持缺省的0就很好了。
然后是XYZ轴的长度。
这个与打印机的物理尺寸直接相关,需要你自己根据情况设定好。
我的打印机的输出空间比缺省设置更大,这里可以填入200,200,180。
第三节,机械设置
在机械设置这一栏,用户可以配置3D打印机的各种机械装置,主要包括步进电机和限位开关的设置。
我们还是逐一看一下这些设置项。
第一项,允许侧隙游隙补偿(Enablebacklashcompensation)。
所谓侧隙,是一个机械专业用语,指齿轮齿廓之间为了避免摩擦膨胀而卡死预留的间隙。
类似的,轴承有类似的游隙。
我们DIY的低端3D打印机,并没有在硬件层面上对这些细小的误差进行补偿,但Repetier-firmware允许我们在软件层面做出补偿。
当然这里的软件补偿也是很简单的,只是在已有的移动量上增加一个小量。
如果这个选项打了勾,那么在下面的XYZ轴的设置上,分别会增加一个Backlash量编辑框,可以对三个轴分别输入一个补偿值。
第二项,允许四倍步进(Enablequadstepping),是指遇到要求步进电机高速步进的时候是否允许特殊处理。
因为单片机的运行速度有限,如果每个时钟信号步进1次,就会运行的比较慢,因此当步进电机步进频率比较高的时候(超过12000Hz),就会自动开启两倍步进,每个时钟信号步进2次。
如果开启这个选项,而且步进频率比两倍步进更高时(超过24000Hz),就会自动开启四倍步进,每个时钟信号步进4次。
很明显这个选项保持缺省打开就好了,3D打印机运行速度会更快。
第三项,在不工作多少秒之后关闭步进电机(Disablesteppersafterinactivityof),这个选项就很简单了,缺省是360秒,也就是6分钟,一般就不需要修改了。
第四项,在不工作多少秒之后尽量关闭所有东西(Disableasmuchaspossibleafterinactivityof),这个选项缺省是0,代表不会执行这个操作。
这个选项与上一个比较类似,除了关闭步进电机之外,还会关闭加热器等。
如果有必要的话,也请设置一个比较大的值。
第五项,XY轴抖动速度(JerkXYmoves),是3D打印机同时在X轴和Y轴上移动时,产生的和速度最大值。
比如,3D打印机加热头正在向X轴正方向全速移动,下一条指令变为向Y轴正方向移动。
如果同时在X轴和Y轴上改变速度,那么实际产生的速度是X方向的速度和Y方向的速度的向量和,这个比较大的速度变化值,会对3D打印机的机械部件产生不利的影响,而且会造成比较大的噪音。
这里的设置,就限制了这个XY轴上和速度的最大值。
当然这个值也不能设置的太小,太小的话,首先打印速度会变得很慢,而且打印会产生更多的瑕疵。
第六项,Z轴抖动速度(Z-Jerk),与上面的意义类似,不同点是Z-Jerk是Z轴方向不为0的抖动速度值。
因为这项涉及到Z轴的运动,因此最大速度就低多了。
第五项和第六项保持缺省值就很好,分别是20mm/s和0.3mm/s。
再往下,是XYZ三个轴分别的设置。
三个轴的设置项是一样的,因此我只介绍其中之一了。
第七项,步进电机接口(Steppersocket),指步进电机与电路板上哪个接口相连。
我实在不太理解为什么这个选项会被暴露出来。
难道有人不把X轴步进电机连接在电路板的X口上么?
很显然,这里保持缺省值就好了。
第八项,分辨率(Resolution),每前进1毫米所需要的步进电机步数。
这个值是由所选用的3D打印机驱动电路、步进电机、3D打印机机械结构设计综合决定的,计算这个值是一个比较复杂的问题。
如果你买的是3D打印机成品或者套件,你应该可以从卖家那里直接得到这个值。
如果你在搭建自己设计或修改的3D打印机,可以参考【打印虎原创】RepRap_Prusa_i3_3D打印机步进电机设置图解,这篇文章详细讲解了如何自己计算得到这个值。
第九项,最大的平移速度(Maxtravelspeed),这个值的单位是毫米/秒,X轴和Y轴设定在100~200之间就很好了,200是缺省值。
Z轴缺省值是2毫米/秒。
第十项,归零移动速度(Homingspeed),因为归零的时候会同时检测限位开关的信号,因此移动太快会导致归零位置不准确。
X轴和Y轴设置在40毫米/秒,Z轴设置在2毫米/秒就很好了。
第十一项,平移加速度(Travelacceleration),就是指不打印时,加热头移动的加速度最大值。
X轴和Y轴缺省值都是1000毫米每二次方秒,Z轴缺省值是100毫米每二次方秒。
缺省值都没什么问题。
第十二项,打印加速度(Printacceleration),就是指打印时,加热头移动的加速度最大值。
不知道为什么这里把打印时的加速度和不打印时的加速度分开设置。
实际上所有对应的缺省值都是一样的,X轴和Y轴是1000,Z轴是100。
使用缺省值就好了。
第十三项,方向取反(Invertdirection),指将这个轴的正方向和负方向取反。
有些打印机的设计可能是这样的。
通常不要打勾。
第十四项,使能信号取反(Invertenablesignal),将原本的使能信号取反输出。
第十五项,不使用时关闭(Disablewhenunused),作用是当不再使用某一个步进电机,将其关闭。
意义不是很大。
缺省值是不打勾。
第十六项,镜像步进电机信号(Mirrormotorsignalstootherstepperdriver),将XYZ轴的某一个步进电机的驱动命令,以同样的方式发送到另一个端口上。
这个功能还是很奇特的,应该是用于某种特殊的目的。
好,到这里所有跟步进电机有关的选项已经搞定了。
下面开始与限位开关相关的选项。
第十七项,总是检查限位开关(Alwayscheckendstops),代表所有的移动指令,都伴随着检查限位开关指令。
这是一个很好的防御措施,缺省是打开的。
第十八项,连续三个选项,以负方向作为X/Y/Z归零方向(X/Y/Zhominginnegativedirection),这个对于通常的3D打印机来说都是要打勾的。
如果你的3D打印机很特殊,归零方向不是负方向,那么这里要特殊处理。
第十九项,归零顺序(Homingorder),三个轴的归零顺序。
其实关系不大,为了避免在热床校正不好的情况下加热头与热床发生剐蹭,可以考虑让Z轴最后归零。
我的选择是X,YthenZ。
第二十项,下面的一组选项,是限位开关的连接方式。
我的3D打印机是RepRapPrusai3,因此只有min类型的三个限位开关,没有max类型的,那么min类型的开关,应该选择接地闭路(SwitchonGND,normallyclosed),max类型的开关,应该选择未安装(Notinstalled),这些都是缺省值,不用改。
右侧的端口(Pin),如果你没有对端口做什么手脚的话,也应该保持缺省状态。
第二十一项,最后,是挤出头归零之后限位开关的位置。
注意右侧的“[-forX,YandZ]”,也就是说在编辑框中的数字都会取负值。
缺省值是(1,1,0),也就是说,当挤出头归零动作完成时,限位开关位于挤出头的(-1,-1,0)位置处,单位是毫米。
与限位开关隔开一点点,可以在3D打印挤出头接近极限位置时(这极少发生),限位开关不会因为误差被触发。
这个缺省值用起来还是可以的,不需要修改。
到这里,所有的机械设置已经完成。
下面让我们继续下一栏。
第四节,温度设置
温度设置相关的选项也比较多,页面很长,我们还是分成几块来看。
第一项,稳定温度区间(Stabilizetemperaturecorridor),如果设置为一个大于0的值,比如1℃,意味着只有温度在一定时间段内(由观察周期常量EXTx_WATCHPERIOD指定,缺省是1秒,这个配置工具不能修改此值)满足一定要求(温度值在温度预定值±
1℃之内),才被认为是“温度达标”。
如果设置为0,则没有这项要求了,只要温度达到预定值就算达标了。
第二项,温度控制区间(Temperaturecontrolrange),在PID温度控制模式下,如果当前温度和预期温度的差大于温度控制区间,比如20℃,则全开加热器;
如果当前温度和预期温度的差小于负温度控制区间,比如-20℃,则关闭加热器。
这个值只影响PID温度控制模式,关于什么是PID温度控制模式请继续往下阅读。
第三项,跳过等待加热头加温(Skipbedtemp.waitifwithin,注意,这里的英文是页面的写法,但是页面是错误的),如果加热头温度目前在目标温度附近。
相差不超过编辑框中的温度值,则当固件接收到PC机发送的M109命令(设置加热头温度并等待命令)时,跳过等待步骤,直接完成返回。
这个参数的缺省值是2℃。
第四项,打开挤出机风扇温度(Enableextrudercoolerat),当挤出机温度高于这个预定值的时候,打开挤出机风扇。
缺省值是50℃。
第五项,最小/最大挤出机温度(Minimum/Maximumextrudertemperature),当挤出机温度过小的时候,由于塑料还未软化,直接移动挤出机可能会造成部件受损,因此当温度小于最小挤出机温度时,固件会忽略所有的挤出机移动指令。
同样,挤出机也可能由于温度过高损坏,因此当PC机的指令要求挤出机温度超过最大挤出温度时,设置温度的命令会被忽略。
缺省值是150℃/275℃。
第六项,最小/最大损坏温度(Minimum/Maximumdefecttemperature),当热敏电阻报告值超过最小/最大损坏温度时,程序会认为热敏电阻本身损坏了。
这个参数的缺省值是-10℃/290℃。
第七项,最大挤出长度(Maximumextrusionlength),当PC机发送的指令,要求挤出超过这个设置的长度的塑料时,固件会认为指令出了问题,将忽略这条指令的执行。
这里的缺省值是160毫米(指耗材长度)。
第八项,加热器脉冲宽度调制速度(HeaterPWMspeed),这里可以设置PWM也就是脉冲宽度调制的频率,以及取值范围。
频率越高,取值范围越小。
我研究了好久,还是没搞懂这里不同的设置在实际效果上的差异,理论上来说几个设置应该是等效的才对。
如果有人知道PWM不同参数效果上的差异请QQ上告诉我,我会补充在这里。
既然不知道差别,就选缺省的15Hz,256values就好了。
第九项,缩放PID值到PID最大值(ScalePIDvaluestomax.PID),只在PID温度控制模式下有效,作用是把原来0~255之间的PID值,等比缩放到0~MaxPID之间的值。
否则就只做一个整数截断操作,大于MaxPID的值都被当做MaxPID使用。
如果MaxPID的值比较低,做这个缩放操作可以获得更好的温度值。
第十项,在不使用时关闭挤出机电机(Disableextruderstepperwhenunused),这个选项很简单,通常是否关闭都无所谓。
下面一段选项,都与加热床相关。
第十一项,启用加热床功能(Enableheatedbedsupport),首先必须把这个选项选中,下面的更多热床相关的选项才会展现出来。
第十二项,最大热床温度(Max.bedtemperature),很简单,缺省的120℃就很好。
第十三项,跳过等待热床加温(Skiptemp.waitifwithin),与上面第三项非常相似,但这里不是针对加热头,而是针对热床。
对应的G-code也不是M109,而是M190。
再次注意,这里才是针对热床的设置,上面是针对加热头的设置。
第十四项,温度感应器(Temperaturesensor),这里列出了很多种常见的温度感应器型号,选择你正在使用的那种就可以了。
如果你使用的温度感应器没有列出,还可以自定义温度表。
自定义温度表是比较高级的玩法,这里就不介绍了。
第十五项,温度感应器接口(Temperaturesensorpin),列出了3D打印机电路板上的IO接口,缺省就好。
第十六项,加热器接口(Heaterpin),与上面一样在IO口里面选择,缺省就好。
第十七项,温度控制模式(Temperaturemanager),有四种不同的选择,下面详细讲解一下。
首先是简单控制模式(Bangbang),特点是简单,没有控制参数,基本上加热器的工作方式就是温度不到就打开,温度到了就关闭。
PID模式(PIDcontroller)是历史悠久的温控方式,具有数学运算法模型,使用普遍,通常PID加温会略超过设定温度然后等降温至设定温度之后开始进行3D打印动作,有人认为PID模式比较精确,但我觉得可能是因为3D打印机的加热器的热容量都不大,因此这个好处不太能体现出来。
另外PID模式的参数会多很多,设置起来也比较麻烦。
带延迟简单控制模式(Bangbangeveryxseconds),与简单模式基本上相同,除了设定了一个最小延迟时间,让加热器开/关的频率不要太高。
如果你的电路中使用了继电器,那么最好使用这个模式,可以增加继电器的使用寿命。
最后是空载时间控制模式(Deadtimecontrol),这个似乎是Repetier设计的独有的控制模式,可以参考他们的页面,
下面的两个图,直观的比较了PID模式温度控制曲线和空载时间控制温度控制曲线。
从图中可以看出,不管是在初始加热的最后阶段,还是当中段温度扰动时,空载时间控制模式都可以把温度曲线控制的更加平稳。
PID模式温度曲线
空载时间控制模式温度曲线
第十八项,最大脉冲宽度调制值(MaxPWMvalue),这个选项只在PID模式下有效,是PID模式下使用的PWM值。
在上面的第九项参数中,这个参数就是与其相关的MaxPID值。
如果在PID模式下,这个值能够控制热床加热器能够输出的最大功率,通常情况下应该设定在255满额输出,但如果万一电源或者什么其他的东西有问题,可能设定在比较小的值是一个解决方案吧。
这里最奇怪的地方是为什么温度控制模式即使设置在简单模式下,这个选项仍是可见可修改的状态?
这个我确实不太懂。
结合上面的几项类似的选项看,应该是Repetier做的这个配置工具本身的设计问题。
到这里为止,与热床相关的参数都搞定了,下面开始看温度控制一栏的最后一部分。
加热挤出头的开始部分可以看到有两个按钮,用来增加或者减少挤出头。
因为我的3D打印机只有一个挤出头,因此我只需要配置一块就可以了。
如果你有多个挤出头,这个页面会长出不少。
第十九项,挤出头步进电机(Extruderstepper),这个很简单,就是指定电路板上的IO端口。
如果没有意外就使用缺省值就对了。
第二十项,方向取反(Invertdirection),指将这个轴的正方向和负方向取反。
第二十一项,使能信号取反(Invertenablesignal),将原本的使能信号取反输出。
上面两项,我们已经在第三节中见到过类似的选项。
它们的意义是一样的,只是第三节中设置的是XYZ轴的步进电机,这里设置的是挤出头的步进电机。
第二十二项,偏移位置X/Y(OffsetX/Y),应该指的是双头或者多头3D打印机不同挤出头的相对位置。
我只有一个挤出头,因此保持0,0就没问题了。
第二十三项,启动速度(Startspeed),指挤出头从静止开始的挤出速度。
缺省值20毫米/秒。
第二十四项,最大速度(Maximumspeed),指挤出头挤出的最大速度。
缺省值50毫米/秒(很明显,配置工具页面上单位写错了)。
第二十五项,分辨率(Resolution),挤出头步进电机运动多少步对应于实际距离1毫米。
与第三节第八项很类似,这个值是非常关键的,而且与不同的步进电机、不同的3D打印机机械结构设计都有关系,尽量从3D打印机卖家处得到这个数值。
在3D打印机可以工作之后,再通过校正过程得到比较精确的值。
第二十六项,加速度(Acceleration),与上面的几项相同,指的仍然是挤出头步进电机的