这些部件都有各自的内部参数,与最终X轴、Y轴方向的前进距离相关。首先我们看步进电机本身。步进电机的设计决定了在非超载的情况下,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。这个角度,被称为“步距角”。最常见的三种步距角,分别是0.9°,1.8°和7.5°。这三种步距角,也就对应了步进电机每旋转一周(360°),需要的脉冲信号个数为400个、200个以及48个。这个参数是步进电机的内部参数,购买步进电机时一定要问清楚哦。与脉冲信号相关的另一个参数是步进细分数,在驱动电路电路板上。驱动电路的主芯片,通常具有驱动细分功能。比如我的Melzi电路板上用的芯片A4982,就具有驱动细分的功能。所谓驱动细分,就是把原本一个脉冲信号前进的角度,再次进行分割,比如1/2、1/4或1/16等。这样,可以对步进电机进行更精细的控制。在Melzi电路板的设计中,A4982被设置为1/16驱动细分。在驱动细分起作用的情况下,假如你使用的步进电机的步距角为1.8°,步进电机旋转一周就需要3200个脉冲信号(200×16)。第三个参数是同步轮的齿数。这个很简单了,数一数就知道了。这个部件的定制性比较高,从十几齿到三十几齿都能在市面上买到,因此一定要数对才行。同时,同步轮还有另外一个参数,就是支持的同步带的型号。很明显,同步轮和同步带必须使用型号一样的,否则出现什么效果就不好说了。最后一个参数,就是同步带的型号了。不同型号的同步带,最大的不同就是齿和齿之间的距离不同。从2mm到5mm都比较常见。假如步进电机旋转一周需要3200个脉冲信号,而我们使用的同步轮有15个齿,同步带型号是GT2,也就是节距2mm的同步带,那么步进电机旋转一周,会带动同步轮旋转一周,也就是前进15个齿的距离,对应到同步带上,就是前进30mm的距离(15×2)。在这种情况下,同步带带动打印头或者热床前进1mm,需要的脉冲信号为3200÷30=106.67个。如果觉得自己计算有点麻烦,可以考虑使用网站,这里提供了一个在线版本的3D打印机步进电机计算器:在这个表中,只要把步距角填入Motorstepangle中,驱动细分数填入Drivermicrostepping中,同步带的节距填入Beltpitch中,同步轮的齿数填入Pulleytoothcount中,就可以在Result出得到最终结果了。第二行右边的Beltpresets我的理解是起到提示的作用,告诉大家同步带尺寸和节距的对应关系,并不参与到计算中。如果已经安装了Repetier-Host,也可以用软件提供的功能。在“工具”菜单中,我们可以找到同步带传动计算器。这个计算器同样是4项输入,与上面的网页功能一样。第二节,丝杆传动步进电机的分辨率计算3D打印机的Z轴传动有几种不同的形式,先介绍比较先进也最简单的一种。看图,步进电机的轴直接是一个丝杆,而不是类似X轴或者Y轴步进电机的光杆。当然,如果用在3D打印机的Z轴上,通常需要的轴的长度比图中所示的还要再长一些才行。很明显,这样的直接以丝杆为轴的步进电机,部件比较少,计算起来也比较简单。除了上面第一节已经说过的步进电机驱动电路(不在图中哦)、步进电机本身之外,只剩下丝杆这一个与传动有关的部件了。下面我们就深入讨论一下丝杆。与丝杆相关的概念,主要有螺距、头数和导程这三项。螺距指的是螺纹上相邻的两牙对应点的轴向距离。通常用P表示。头数就是螺纹的线数,如下图所示,双头丝杆有红蓝两条不相交的螺旋线,互相缠绕形成。有了螺距和头数这两个概念,导程就比较简单了,导程指同一螺旋线上相邻两牙对应点的轴向距离,可以用L表示。因此如果是单线的螺纹,导程就等于螺距。如果是多线螺纹,导程就等于头数乘以螺距(L=nP)。举个例子,比如我们仍然用1/16驱动细分的Melzi电路板驱动步距角为1.8°的步进电机,这时步进电机旋转一周就需要3200个脉冲信号。步进电机以一个4头螺距2mm的丝杆为轴,这样的丝杆,导程为8mm,因此每毫米Z轴上升或者下降,需要3200÷8=400个脉冲信号。仍然可以使用刚才提到的在线版本的3D打印机步进电机计算器:在这个表中,仍然是把步距角填入Motorstepangle中,驱动细分数填入Drivermicrostepping中,丝杆的导程填入Leadscrewpitch中,就可以在Result出得到最终结果了。第二行右边的Pitchpresets仍然是常见的丝杆导程列表,不直接参与计算。Repetier-Host也有四杆传动计算器。遗憾的是这个计算器缺少直接填入导程的地方,只能在预设的几种丝杆中选择。这样其中是没有我们需要的8mm这个选项的,因此没法得到我们需要的结果了。除了上面讨论的这种最简单形式之外,我们还可能遇到使用联轴器连接的光杆步进电机和丝杆。因为联轴器是同步的1:1的传动装置,因此计算方法与上面完全一样。下图就是联轴器的样子。联轴器下方是普通的步进电机,轴的直径是5mm,上方是用于Z轴升降的丝轴,直径在5mm~8mm之间都是可能的,直径与分辨率的计算没有直接的关系。如果你的3D打印机设计比较特别,Z轴还可能使用下图这样的部件。这个部件也是步进电机,只是带了减速器。常见的减速比是1比5.18,具体的计算就不举例了。第三节,挤出机步进电机的分辨率计算挤出机步进电机分辨率的计算更简单一些,首先我们看一下挤出机齿轮的外观:这样的一个挤出机送料齿轮,外径是11mm,因此周长是11×3.14=34.54mm。假设我们仍然使用与上面例子中参数一样的步进电机,旋转一周需要3200个脉冲信号,那么每mm的送料,就对应了3200÷34.54≈93个脉冲信号。可能是因为这个计算过于简单了,大家都没有提供对应的计算器。那我们就手算好了。第四节,小结到此为止,我们已经学会计算X轴、Y轴、Z轴以及挤出机的分辨率,也就是多少个脉冲信号对应1mm的移动距离。有了这些数值,就可以很容易的配置你的固件了。如果你使用的是Sprinter或者Repetier-firmware,可以去修改这些宏定义:XAXIS_STEPS_PER_MMYAXIS_STEPS_PER_MMZAXIS_STEPS_PER_MMEXT0_STEPS_PER_MM如果你使用的是Marlin,可以去修改:DEFAULT_AXIS_STEPS_PER_UNIT其他的固件虎哥我没有仔细研究,肯定也有对应的地方,大家自己查找吧。最后,我们这篇文章中介绍的方法,计算出来的数值,都是理论值。3D打印机工作中的实际数值,由于各种环境因素的影响,必然会与理论值产生偏差。其中,挤出机的分辨率是最容易产生偏差的地方。如何观察3D打印机的实际工作状态,并校正这个值,可以看打印虎的另外一篇文章【打印虎原创】RepRap_Prusa_i3_3D打印机校准图解教程系列之二,专门讨论了挤出头送料量的校准过程。我们这篇教程到此结束,祝大家玩机愉快!想看更多的打印虎教程,请访问打印虎原创教程专区。有任何相关的问题,请联系打印虎QQ2404959972