【机器调平】为I3增加自动调平功能 

3D打印机器制作 /[机械硬件]
看到网上有资料说XYZ可以支持自动调平,也试着改一下,效果超好。移机,装拆机器,再也不用为调平头疼了。我们的I3也可以增加自动调平功能。Marlin固件中是有带自动调平的,只要开启就可以了
舵机用9g的舵机。直接使用RAMPS的5V电源。接线如下图。(不好意思直接拿来主义,拿别人的图来用了)
145331wu8wwyz899d9kdnd


固件设置步骤预先烧录                  以下红色字是需要修改的选项和数值
将configuration.h中以下这几行的注解符号删去(行首的"//"                删掉)


#define min_software_endstops true 改成 flase
注意,此参数默认值是true,需要改为false,否则移动轴时,不能运行到小于0坐标的位置。最终调好后。还要再改回来。

#define ENABLE_AUTO_BED_LEVELING // Delete the             comment to enable (remove // at the start of the line)              
#define NUM_SERVOS             3 // Servo             index starts with 0 for M280 command
#define             SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with             -1
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 165,60} // X,Y,Z Axis             Extend and Retract angles 设定舵机的收起放下角度。


NUM_SERVOS               改为1

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


#define             PROBE_SERVO_DEACTIVATION_DELAY 300  
舵机延时。这项如果不开启舵机会乱抖动,有时候会乱转角度。

#define XY_TRAVEL_SPEED              8000                     // X and             Y axis travel speed between probes, in mm/min
//调平时,XY轴的运行速度
  #define             Z_RAISE_BEFORE_PROBING 15    //How             much the extruder will be raised before traveling to the first             probing point.
//运行到第一个调平点前,Z轴升起的距离
  #define             Z_RAISE_BETWEEN_PROBINGS 15  //How             much the extruder will be raised when traveling from between next             probing points
//运行到下一个调平点前,Z轴升起的距离
这些距离要根据自己的实际情况来调整,反正就是先升起Z轴,然后放下舵机时才不会碰到平台。如果碰到了就有可能损坏舵机


修改好固件之后,烧录进去,装好舵机接线,先不要装到挤出头上。放在边上测试
打印机通电,运行 M280 P0 S[角度]  例如M280 P0 S60就是让舵机转到60度角位置。测试好舵机收起同放下的位置的角度值。要保证收起舵机机开关不会碰到物体,放下舵机臂时开关能正好垂直平台。然后重新烧录固件并装好舵机。


接下来给打印机通电,在打印平台中任意一点做个记号,在平台中点也行,先将X Y 轴归零。然后移动X Y轴到记号上方 执行G92 X0 Y0 Z50,
将当前点设为0点,Z轴设为50mm,然后慢慢的下移Z轴,让挤出头正好在记号上方,间距1张A4纸。然后再执行G92 X0 Y0 Z0,将目前的点设为0点
然后上移Z轴,注意移高点,让防止放下舵机臂时碰到平台,然后执行 M401 放下舵机臂,然后移动X Y 轴让限位开关正好在记号上方,然后慢慢的向下移动Z轴。一直到开关正好被触发。记下当前XYZ坐标值。
将X Y Z轴的数据乘以负一之后填入相应X Y Z 后的数据中


#define             X_PROBE_OFFSET_FROM_EXTRUDER -34  //挤出头相对Z轴限位开关的X轴位置
#define             Y_PROBE_OFFSET_FROM_EXTRUDER 8 //挤出头相对Z轴限位开关的X轴位置
#define             Z_PROBE_OFFSET_FROM_EXTRUDER -14.3  //挤出头相对Z轴限位开关的Z轴位置

设定测量位置
这四个参数用来设定测量面的边界,请依照机器XY工作范围的边界做缩减后,填入设定档。如果手边的机器是Prusa i3,可以直接使用以下的数据。
#define LEFT_PROBE_BED_POSITION 30
#define RIGHT_PROBE_BED_POSITION 140
#define BACK_PROBE_BED_POSITION 140
#define FRONT_PROBE_BED_POSITION 30


#define min_software_endstops flase 这个参数再改成true,防止打印机小于0时还可以移动


重新烧录固件这时候自动调平功能就做好了。


切片软件中,就不能再用原来软件带的回零功能了。我们要自己加上代码


G92 Z0; 将当前Z轴设为0
G1 Z15; 向上移动Z轴15mm ,可根据自己的打印机决定移动多少放下舵机臂才不会碰到平台
G28 Y; Y 轴回零
G28 X; X轴回零
G1 X100 Y100 F6000;挤出头移到中间
M401;放下舵机臂
G28 z; Z轴回零
G29; 自动调平
G1 Z3 F3000 ; 抬高Z轴到3mm处
G1 X0 Y0 F6000; XY轴回零准备打印。

自动调平一定要保证平台平整,LCD上的auto home功能如果要使用一定要先抬高Z轴,才能使用,不然有可能会损坏舵机。
自动调平会自己检测4个角。通过软件修正,解决平台不平的问题。我们可以将平台一边抬高,让平台倾斜,有了这个功能
你就会发现。虽然平台是不平的,但打印件还是正常。如果是小件的物体,并且平台基本水平,我们可以只测试中间就行了。
不用测试四个点,我们切片文件都不用做任何修改,只要在打印前,抬高Z轴足够高度,就可以正常打印了。


附上slt文件,直接用自攻螺丝将塑料件锁在散热片上。

145332oaawray4whadzvql


最终打印测试,如果发现挤出头太靠近或太远离平台,就微调下
#define             Z_PROBE_OFFSET_FROM_EXTRUDER -14.3  的参数,数字越大距离越远,越小越靠近平台,如-14就比-15间距来得大。

rar 挤出头舵机固定,限位开关固定.rar (12.48 KB, 下载次数: 38)
打赏鼓励一下作者!您的支持和鼓励是最大的动力!
B Color Smilies

全部评论6

你可能喜欢

联系
我们
快速回复 返回顶部 返回列表