2016-12-5 11:31 上传
可点击下载文件
Kossel/Rostock等delta(并联/三角洲)的自动调平原理跟普通XYZ坐标的机型差不多,如果你还没了解过,可以先看看那边的介绍(
http://learn.makerlab.me/guides/8 )。简单说就是通过一个限位开关(Z-min)来获取打印平台的平整度信息。然后将各个位置的Z偏移在打印的时候补偿进去,就可以实现自适应打印平台的倾斜等不平问题了,但与普通XYZ结构调平一样,如果平台出现凹凸不平问题,并不能很好的解决。所以推荐大家的打印平台用平整性较好的玻璃等材料。
说明,这是所提的delta调平都是针对Kossel版本的marlin固件而说的,并不是原始版本的
marlin。请注意,可能会有不同。
与XYZ机构调平不同之处
如果你做的delta机型的机器是你自己组装和接线的,你应该知道。delta机型的原点限位接在了XYZ-max(最大限位)位置上,而用于调平的限位应该接在Z-min位置上。并且在marlin固件中,对X-min及Y-min的管脚定义(pins.h文件中)需要配置为-1,否则自动调平将不正常。如果你用的是由MakerLab开发的合体主控板(Mega Controller),那么你不需要做这样的配置(我已经替你配置好这两个管脚了)。
另一个不同之处是探针的连接方式,比较常见的Kossel探针方式是这样的(如图),限位接常开,通过一个长六角工具触发限位的状态,放下时,限位状态为Open,收起时,限位状态为Triggered(小提示:读取限位状态的G代码命令为M119)。这一点跟普通XYZ结构方式还是不同的。
当然,Kossel也有其它调平方式,比如使用压敏电阻等等。这里就不多说了。原理差不多。
硬件准备及配置
由于探针的安装方式可能不同,这里只简单说明原Kossel设计的方案。如果你使用的其它方式,请根据自己的情况进行安装、配置及调试。本部分的图片摘自《Kossel MiniAssembly Guide》。
1、准备材料
两芯导线(程度根据你的机器高度确定),一个限位开关,一个曲别针,一个端子排上的铜端(或其它类似的东西),一个长内六角;
2、限位接线
注意,此处的限位开关接的是Com(公共端)及NO(常开端)。
可以做如下处理,即把上面的铁皮折弯。
3、安装
将限位即其它部分安装在相应位置。
1、曲别针折弯:
2、安装限位开关和曲别针:
3、安装六角或其它类似东西:
4、安装弹簧:
如下图安装完成,左边是探针放下,右边是探针收起:
探针收起时,探针高度应该高于打印头高度才可以,否则打印时探针可能会碰到打印物件,而导致损坏物件:
固件修改配置
说明,下面所说的代码都见于Configuration.h文件中。
1、板子类型
板子类型是打印机可以正常工作的基础,所以一定要配置正确,常见板子类型有:
ramps1.4板子: 33;
ultimaker板子: 7;
我的合体板子即Mega controller:310;
#ifndef MOTHERBOARD
#define MOTHERBOARD 310
#endif
//根据你的板子类型选自相应的数字在这里,我这里配置为310,是由我们MakerLab最新设计的合体式的控制板Mega Controller
2、温度传感器类型
温度传感器是用来读取温度的,如果配置错误或接线错误会导致打印机错误,请一定要配置正确。
#define TEMP_SENSOR_0 1//第一个打印头的传感器。这里是100K NTC热敏电阻的配置,如果你用其它传感器类型请做相应修改,比如热电偶改为-1(需要另外添加AD597温控板)
#define TEMP_SENSOR_1 0//如果配置为两个挤出头,此传感器需要配置
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 1//热床对应传感器类型,如果你没有用热床,请改为0,如果你用其它传感器类型请做相应修改,比如热电偶改为-1(需要另外添加AD597温控板)
3、限位开关配置
如果你下载的是上面我提供的固件,你不需要做任何修改,保留默认配置即可。
4、脉冲比率配置
这个参数非常关键,delta固件给我们简化了这个计算过程,只需根据你的硬件配置做相应参数的调整就可以。
#define XYZ_FULL_STEPS_PER_ROTATION 200 //步进电机每周的步数,即360/步进电机铭牌上的角度,如1.8度,步数应该是360/1.8=200;
#define XYZ_MICROSTEPS 16 //步进驱动的细分,大部分都配置为16,如果你的不一样,请做相应调整;
#define XYZ_BELT_PITCH 2 //同步带齿间距,单位是毫米,2GT同步带齿间距是2mm;
#define XYZ_PULLEY_TEETH 17 //同步轮齿数,自己数一下,或查看卖家参数即可
#define XYZ_STEPS (XYZ_FULL_STEPS_PER_ROTATION* XYZ_MICROSTEPS / double(XYZ_BELT_PITCH)/ double(XYZ_PULLEY_TEETH)) //这是计算公式,请不要修改;
#define DEFAULT_AXIS_STEPS_PER_UNIT {XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 100}//这是最后的参数,最后100你需要自己改为相应挤出机的参数,其它的不需要改
5、delta相关参数配置
下面是delta打印机特有的参数,各参数与打印机实际尺寸的关系如图所示:
// Center-to-center distance of the holesin the diagonal push rods.
#define DELTA_DIAGONAL_ROD 186.0 // mm
// Horizontaloffset from middle of printer to smooth rod center.
#define DELTA_SMOOTH_ROD_OFFSET 128.0 // mm
// Horizontaloffset of the universal joints on the end effector.
#define DELTA_EFFECTOR_OFFSET 19.9 // mm
// Horizontaloffset of the universal joints on the carriages.
#define DELTA_CARRIAGE_OFFSET 19.5 // mm
// Horizontaldistance bridged by diagonal push rods when effector is centered.
#define DELTA_RADIUS(DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
// Print surfacediameter/2 minus unreachable space (avoid collisions with vertical towers).
#define DELTA_PRINTABLE_RADIUS 70.0 //delta最大打印半径,根据你的实际情况来修改,不要太大,放置出现撞车Push up the Z probe by moving the endeffector, no servo needed.
另一个跟尺寸相关的参数,是回原点后,打印头到打印平台的距离:
#define MANUAL_Z_HOME_POS 214
6、打开自动调平功能及相关配置
// #define ENABLE_AUTO_BED_LEVELING // 如果要打开自动调平功能,需要将前面的“//”删除,才会起作用
//这个参数比较关键,尤其是Z轴的偏移,即Z探针刚刚触发时,打印头与探针之间的偏移量,可以通过卡尺或移动轴来记下坐标等方式来确定比较精确的Z偏移
#define X_PROBE_OFFSET_FROM_EXTRUDER -1.0
#define Y_PROBE_OFFSET_FROM_EXTRUDER 21.0
#define Z_PROBE_OFFSET_FROM_EXTRUDER -6.7
7、LCD配置
如果你有LCD,需要打开相关参数,比如你接了MakerLab的MiniPanel,需要做如下修改:
// #define MINIPANEL //删除前面的“//”
由于delta打印机固件需要做很多坐标转换的运算,所以如果打开12864的LCD功能,可能会造成卡顿的现象,可以调节下面参数来修正和缓解这种问题:
#define DELTA_SEGMENTS_PER_SECOND 160 //减小这个数值,来缓解卡顿现象,如修改为120进行测试。
OK,如果你来到了这里,大部分参数都已经配置完成,可以进入下一个环节来验证配置即硬件接线是否正确了。
检验、校正你的参数
0、准备工作
上传固件后,打开Printrun上位机,选择正确的串口和波特率进行连接。
1、限位开关验证
通过上位机,发送命令:M119观察反馈信息,你会看到类似这样的反馈信息:
对于x_max,y_max,z_max应当是:
限位被触发时,反馈信息为Triggered;
限位没有被触发,反省信息为Open;
对于z_min即探针应当是:
探针放下,反馈信息应当是open;
探针收起,反馈信息应当是Triggered;
2、验证回原点
可以通过发送命令:G28或点击上位机上下图所示位置的左下角小房子:
现象:发送或点击上面命令后,xyz轴电机会向上运动,碰到限位开关会向下运动一点然后再次碰限位(为了提高精度),然后会停止运动。
问题排查:
轴向下运动:这是因为电机接线原因,将原电机接线完全反转,如原接线为红蓝绿黑,现在改为黑绿蓝红再试试;
轴碰到限位后不停止:很有可能你的xyz轴电机没有跟对应的限位一一对应,请检查接线;
说明:这里回到的原点跟普通xyz坐标机器不同的是,这里的原点坐标并不比(0,0,0),而是(0,0,MANUAL_Z_HOME_POS)这个坐标。
3、当前位置坐标
可以通过发送命令:M114来获取当前的坐标,回原点后,如果输入M114得到的坐标应该是(0,0,MANUAL_Z_HOME_POS)。MANUAL_Z_HOME_POS这个参数在固件配置中已经说了。应该是打印头回零后,到打印平台的距离。
4、挤出机方向验证
验证挤出机是否方向正确,即点击“Extrude(挤出)”命令后,电机应该让打印材料往打印头方向运动才对,如果方向反了,可以改一下电机接线,将原电机接线完全反转,如原接线为红蓝绿黑,现在改为黑绿蓝红再试试;
可能回用到的G代码命令是:M302冷挤出,即不需要加热就可以操作挤出机。如果不输入M302或加热到170度,挤出机不会动的。
5、delta架构示意图
如果你还不太了解delta架构,可以看看下面这张图,对原点坐标和打印中心坐标做了比较清晰的展示。
6、最大Z高度确定即MANUAL_Z_HOME_POS参数
MANUAL_Z_HOME_POS这个参数控制了打印机的Z轴方向的最大打印尺寸,同时也决定了坐标Z=0时打印头跟打印平台的贴合程度,大家应该知道第一层的打印跟这个贴合程度关系非常密切。如果你打开自动调平功能,这个参数不需要调节的非常精确,毕竟自动调平功能就是为了解决这样的问题的,但需要注意的是,每次G28回原点后,都必须跟上G29自动调平命令,否则可能会有第一层打印失败,甚至撞车的风险。
7、G29自动调平功能
G29命令是用来控制打印机进行自动调平的G代码。发送G29命令后,如果相应打印机配置了自动调平功能,则打印机回做如下操作:
A、放下探针(delta机器推荐手动放下);
B、开始对打印平台进行自动调平(与普通XYZ坐标打印机不同,delta需要对30多个点进行探测);
C、回收探针(自动完成);
上面三个步骤中C需要修改固件,否则探针不会自动收起,或收起动作有误。收起代码见下图:
G29自动调平校正流程:
A、手动放下探针,并发送G代码M119,检查其中的Z_min是不是Open;
B、发送G代码G28来进行回原点动作;
C、发送G29命令,来开始进行自动调平功能(注意,后面的动作有可能回撞车,请随时做好断电准备);
D、打印头会向下移动,并对各点进行弹出,完成最后一点后,打印头会移动到上图所示的坐标位置进行对探针的回收;
E、后面的动作应当非常注意,因为这个参数还没进行设定,所以现在的参数肯定对你的打印机来说不准确,所以应当在撞车时进行断电;
F、回收探针完毕后,打印机会上升30mm后停止动作,代表G29命令运行完毕,此时如果你的探针没有处于探针收起位置,则需要继续进行下面操作;
G、通过上位机(Printrun)移动XY轴坐标来使得探针位置刚好在回收螺母的正上方,然后发送M114命令得到当前坐标,并记下测试的XY轴坐标分别是多少;
H、通过上位机移动Z轴坐标垂直向下移动(使用1mm的间距移动),直到探针可以收起为止,发送M114命令得到当前的Z坐标并记下;
I、修改G得到的XY坐标和H得到的Z坐标,改动上面图片中的坐标为记下的实际值,然后保存并重新上传固件,注意上传前需要断开上位机的连接;
J、上传固件完成后,重新连接上位机,并重复A~I的所有必要的步骤,直到探针可以自动收起为止;
K、发送命令G1X0 Y0移动打印头到(0,0)坐标位置;
L、通过上位机的移动按键来移动打印头慢慢靠近并刚好碰到打印平台时停止,发送命令M114得到当前坐标,如果得到的坐标是(0,0,0)那么说明你的自动调平命令设定完成;
M、如果L操作中打印头不能太靠近打印平台,或得到的坐标值不是(0,0,0)而是稍大的值,需要修改Z_PROBE_OFFSET_FROM_EXTRUDER参数将其减小,比如将之前的-6.7改为-6.9后,重新上传固件再测试;
N、重复A~M的步骤来完成对自动调平功能的校正;
G29测试效果
如果你已经安装校正的流程进行了自动调平功能的校正,那么你输入G28命令然后G29命令后看到的动作应该是这样的:
1、收到G28命令后,打印机会回原点;
2、收到G29命令后,打印机开始对各点进行探测,完成后,移动到高高的回收螺丝位置进行探针的回收;
3、回收完成后,打印机会升起30mm的高度;
为了能够让打印机每次打印前都自动进行调平功能,需要在切片工具中(如Slic3r或cura等)的启动G代码位置配置上G29命令,否则打印机的自动调平功能将不会执行。
找到切片工具的相关位置,然后找到启动代码的G28位置,在G29下面一行添加G29命令,如下图所示:
校正完成并且切片软件配置好G29命令后,就可以进行实际打印测试了。导出模型G代码,然后进行打印测试,注意观察第一层是否打印正常。如果一切正常就可以打印一个标准的长方体进行尺寸测试了。比如常见的就有20X20X10mm的方块进行测试:
全部评论11