3d打印机自动调平

3d打印机自动调平
3d打印机自动调平

3d打印机自动调平

3d打印打印时最重要的是第一层的效果,如果第一层能够很好的粘在打印平台上,后面的如果不出意外,都可以顺利完成。但是第一层的打印并没有那么容易,其中一个原因就是打印平台是否水平的问题。如果平台不水平,可能导致模型的第一层在一个位置非常牢固,在另一个位置却根本没有粘上。甚至会损坏打印头(平台不平,由低的位置运动到高的位置可能会撞坏打印头)。

本教程将通过图文及视频的方式演示为你的3d打印机添加自动调平功能。以后再也不用手动调平了。这里介绍的是用官方Marlin固件的方式,不是rostock或kossel等Delta版本的Marlin,Delta版本的配置有可能会在以后推出。

虽说是自动调平,但是现在的调平功能时有局限性的,即你的打印平台是平的(没有弯曲或凹凸情况),但你的平台并没有放置到水平的位置(或与打印头垂直)。如果你的打印平台是弯曲的或凹凸不平,理论上来说是不起作用或作用很小的。所以建议大家的打印平台是玻璃之类的平整度非常高的平面。

基本原理

电子世界里,任何的测量都需要传感器来实现。而调平用的传感器其实就是Z轴的零位置限位开关(Z-min)。为了实现Z-min对不同XY

坐标的探测,Z-min的安装位置需要跟着打印头一起移动,但Z-min 如果在打印头旁边,如果在打印时可能会碰到打印的物体从而损坏模型。所以在标准XYZ三轴打印机中,常常通过添加一个小舵机来控

制Z-min的收起和放下,即需要触发Z-min时(回零或调平),通过舵机放下Z-min;不用的时候就会收起Z-min。具体舵机安装将在下一个环境说明。

由于Z-min不在只用于回零来使用,所以在打开自动调平功能后,回零也就有所区别。请看下面视频的前面一段,发送G28(XYZ全部回零)命令后,XY分别回零,然后XY分别运动到打印平台中心位置,放下Z-min,来完成Z轴的回零。并且如果XY轴没有回零,并不能单独为Z轴回零。Z轴的回零位置是一个基准点,即在(x,y)坐标位置的Z零点。后面的调平都是根据这个点的偏移来确定的。

请看视频的后半段,发送G29(自动调平命令)后的反映,打印机的Z-min会移动到四个不同XY坐标(固件中可以配置)进行探测。并且得到四个位置相对于G28确定的基准点的Z位置进行对比和计算,得到打印平台的倾斜程度,从而在以后的运动中,将各个位置的Z

偏移补偿进去(同一层打印时,Z轴可能会动),从而完成自动调平功能。

硬件安装所需硬件

1、一个小舵机,大家可以看到我用的舵机是9G型号。理论来说用什么型号都可以,但是小了不会占用太多空间;

2、一个小限位(机械式),小限位开关即可(鼠标按键),带柄不带柄都可以,我用的不带柄的;

3、固定舵机在加热头运动部件上的小零件,我是自己打印的,不太合适,最后用502粘上的;

4、固定限位开关的触碰柄,我也是打印的,这个基本上是标准的可以在这里下载:http://thingiverse;

5、支持舵机接口的打印机控制板,这里以MakerLab的[url]http://Mega controller[/url]为例;

安装

由于每个人的打印机都不同,就不说了。总之就是保证尽可能少的影响其它部件的情况下,固定舵机,并且限位开关的柄可以收放自如,并且收起后,打印头的高度要低于限位的高度,即打印时限位开关舵机等零件不能妨碍打印的进程。

注意:安装限位开关触碰柄的时候,注意舵机的极限角度的位置(0度和180度),因为咱们用舵机主要两个位置最关键,一个是收起限位时,一个是放下限位时,这两个位置都不要太靠近舵机的0和180度位置(即舵机的极限位置),极限位置的舵机不稳定,并且可能容易烧舵机。大家注意。

下图是舵机即固定舵机的部分:

下图是限位开关收起后的位置,

不会妨碍打印及其它部分的运动:

下图是限位开关放下后的效果,

放下后,限位开关当然要比打印

头的位置更低才可以,否则打印

头都撞车了,限位开关还没触发:

接线

Mega Controller已经引出了四

路舵机接口,都是标准的接口,

所以将舵机线连接到图片所示位

置,标记为30的位置即可,主

要舵机线中黄色的为信号线,对

应控制板子上的S标记。如果:

舵机角度确定

由于舵机是用于做调平,调平的准确性直接影响了打印的效果。所以舵机的角度控制就至关重要,而这个角度参数(两个角度,收起和放

下时舵机分别所处角度)非常重要,需要用于固件的配置。修改固件默认的Marlin固件并没有添加对舵机的支持(可以剩下RAM和ROM 空间)。所以首先打开你的Marlin固件,找到Configuration.h文件,搜索“NUM_SERVOS”关键词(670行左右),来到

c

//#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command

然后将最前面的//删除,并将后面的数字改为1,默认该数字可能是3.修改完成后,其它参数不变,上传新固件到控制板。完成后,打开你用的最顺手的上位机软件,我以printrun为例,选择串口和波特率,连接。连接成功后,就可以测试舵机是否可以控制了。在发送命令区域,输入命令M280 P0 S100,其中M280是用于控制舵机的G代码,P0标识第一个舵机,如果你有其它舵机,可以用P1、P2等来分别控制,S后面的数字表示舵机运动的角度,输入命令后,点击Send (发送)或回车。

此时,如果一切都配置得当,你应该看到了舵机会动,如果不动再试一下其它的角度即更换S后面的数字,如果其它角度依然不动,请检查接线即固件是否正确。(注意,Ramps用户直接接在舵机接口位置是不能用的,因为舵机接口默认是不供电的,需要将Ramps复位按键旁边的两个电源接在一起才可以,标记为VCC和5V,将这两个端子连接,就可以为舵机供电了。)

测试角度

由于舵机角度不能通过其它方式获得,只能需要你自己进行实际的测试,所以通过发送上面的命令,不断修改S后面的角度值,来得到两个比较完美的角度分别对应收起和放下时的位置。记在旁边备用。我通过测试,找到的角度为:

放下角度为:125度;

收起角度为:42度;

你的配置不太可能跟我的一样,所以一定要自己测试一下。

处于收起状态时,输入M280 P0

S125命令后的效果是这样的:

处于放下状态时,输入M280 P0

S42命令后的效果是这样的:

如果得到的角度你很满意,即不影响其它部分运动,也可以在放下时进行正常调平,那么就可以进入下一环节了。

确定具体参数

上一部分已经配置了自动调平相关的所有参数,并且也已经把舵机收起放下的角度测量了出来。

要想正常使用自动调平,我们还需要精确测量下面三个参数:

#define X_PROBE_OFFSET_FROM_EXTRUDER -34 #define Y_PROBE_OFFSET_FROM_EXTRUDER 8 #define Z_PROBE_OFFSET_FROM_EXTRUDER -14.3

之前配置参数时,我们建议大家把上面的参数保持默认值即可。现在我们需要把这几个参数测试出来。

为了保证顺利测试,还需要配置下面这个参数:#define min_software_endstops true,此参数默认值是true,需要改为false,否则移动轴时,不能运行到小于0坐标的位置。改完这个参数就可以上传固件了。

确定上面几个参数的方法

为了能够更加精确的确认上面的三个参数,即挤出头与调平探针的精确偏移量,我们需要用3d打印机自带的这个三维坐标系统来确定,而不是用尺子量。

注意:如果用此方法,操作之前各轴的steps_per_mm参数必须计算正确,否则得到的数据是不准确的。

第一步、在打印平台的中间位

置用笔标记一个参考点为了

能够保证精度,我们需要确定

一个参考点,参考点可以选择

打印平台上的任意位置,但是

为了能够保证打印头和调平

探针都能方便抵达,所以选择

平台中心位置比较好。标记一个小点,就像下图:

第二部、放下探针移动调平

探针刚好来到标记点位置

并手动置零放下探针(命令:

M280 P0 S125[125改为

你的放下角度]),并通过

上位机上的手动操作按钮,

移动XY两个轴让探针刚好

来到标记点上方,然后再移动Z轴(最后阶段尽量用0.1mm的按钮),让探针刚好碰到打印平台。此时在上位机中输入命令:G92 X0 Y0 Z0。第三步、移动打印头来到标记点位置并得到偏移量收起探针,移动XY及Z轴,让打印头与平台之间的距离恰好能够通过一张A4纸。然后输入命令:M114来获取现在的坐标,你会得到类似与下面的信息:

ok C: X:-34.00 Y:8.00 Z:-14.3 E:0.00

而这些数据就是你的固件中所需要的三个偏移量,将这三个数据添加到你的固件中的位置即可。

修改完这个参数后,你可以将之前改的#define min_software_endstops false中的false重新改为true,保障打印机的安全。然后重新上传固件。自动调平功能的配置已经在你的打印机上配置完成了。开始真机测试吧。。

相关主题
相关文档
最新文档