admin 发表于 2014-7-15 12:58:35

Delta型打印机自动调平功能全解析——固件修改配置

以下关于自动调平功能的解析由MakerLab所做,感谢其无私的分享。
说明,下面所说的代码都见于Configuration.h文件中。

1、板子类型板子类型是打印机可以正常工作的基础,所以一定要配置正确,常见板子类型有:
ramps1.4板子: 33;
ultimaker板子: 7;
#ifndef MOTHERBOARD
#define MOTHERBOARD 33
#endif
//根据你的板子类型选自相应的数字在这里

2、温度传感器类型温度传感器是用来读取温度的,如果配置错误或接线错误会导致打印机错误,请一定要配置正确。
#define TEMP_SENSOR_0 1//第一个打印头的传感器。这里是100K NTC热敏电阻的配置,如果你用其它传感器类型请做相应修改
#define TEMP_SENSOR_1 0//如果配置为两个挤出头,此传感器需要配置
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 1//热床对应传感器类型,如果你没有用热床,请改为0,如果你用其它传感器类型请做相应修改

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打印机特有的参数,各参数与打印机实际尺寸的关系如图所示:
http://ww2.sinaimg.cn/mw690/78d6d1a7gw1ehoam75kslj20sg0d5q4w.jpg// Center-to-center distance of the holes in the diagonal push rods.
#define DELTA_DIAGONAL_ROD 186.0 // mm

// Horizontal offset from middle of printer to smooth rod center.
#define DELTA_SMOOTH_ROD_OFFSET 128.0 // mm

// Horizontal offset of the universal joints on the end effector.
#define DELTA_EFFECTOR_OFFSET 19.9 // mm

// Horizontal offset of the universal joints on the carriages.
#define DELTA_CARRIAGE_OFFSET 19.5 // mm

// Horizontal distance bridged by diagonal push rods when effector is centered.
#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)

// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
#define DELTA_PRINTABLE_RADIUS 70.0 //delta最大打印半径,根据你的实际情况来修改,不要太大,放置出现撞车另一个跟尺寸相关的参数,是回原点后,打印头到打印平台的距离:#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,如果你来到了这里,大部分参数都已经配置完成,可以进入下一个环节来验证配置即硬件接线是否正确了。








jinlong101 发表于 2014-9-13 14:57:18

#define DELTA_DIAGONAL_ROD_2 sq(DELTA_DIAGONAL_ROD)

jinlong101 发表于 2014-9-13 14:57:50

#define DELTA_DIAGONAL_ROD_2 sq(DELTA_DIAGONAL_ROD)

// Effective X/Y positions of the three vertical towers.
#define SIN_60 0.8660254037844386
#define COS_60 0.5
#define DELTA_TOWER1_X -SIN_60*DELTA_RADIUS // front left tower
#define DELTA_TOWER1_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER2_X SIN_60*DELTA_RADIUS // front right tower
#define DELTA_TOWER2_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER3_X 0.0 // back middle tower
#define DELTA_TOWER3_Y DELTA_RADIUS    这部分怎么修改呢

jinlong101 发表于 2014-9-13 14:58:00

#define DELTA_DIAGONAL_ROD_2 sq(DELTA_DIAGONAL_ROD)

// Effective X/Y positions of the three vertical towers.
#define SIN_60 0.8660254037844386
#define COS_60 0.5
#define DELTA_TOWER1_X -SIN_60*DELTA_RADIUS // front left tower
#define DELTA_TOWER1_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER2_X SIN_60*DELTA_RADIUS // front right tower
#define DELTA_TOWER2_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER3_X 0.0 // back middle tower
#define DELTA_TOWER3_Y DELTA_RADIUS    这部分怎么修改呢

Tony_w 发表于 2014-11-4 00:28:00

因为我用的就是这款机型,所以必须赞一个

stonecold 发表于 2014-12-9 16:30:01

有没有详细一些的

boonhee1990 发表于 2014-12-18 22:45:40

看不懂:dizzy::dizzy:

yidaimuhahaha 发表于 2015-4-13 11:19:16

赞~
页: [1]
查看完整版本: Delta型打印机自动调平功能全解析——固件修改配置