Home 论坛 Arduino教程 [教程] 全球最小口袋3D打印机mini one教程贴 转帖

这个主题包含: 1 参与 和 0个回复.
1 参与
0个回复
  • 作者
    动态
  • #1411
    Avatar photo高天
    管理员

    转帖:https://www.arduino.cn/thread-90256-1-1.html
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。


    搞了半天,终于能正常打印,插楼奉上效果图



    打印视频移步优酷,链接如下

    简介:
    采用低导程15mm丝杆步进,打印尺寸45mm*45mm*40mm
    有更好建议欢迎提出。
    图纸路径如下

    固件基于marlin,路径如下
    https://github.com/mossbot-MG/mini-one-pocket-3D-printer-firmware

    材料清单如下,部分件存在干涉,图纸已更新,请大家下载最新版本

    部分配件购买地址,需用电脑打开
    https://ogc-bike.taobao.com/cate … cene=taobao_shop#bd

    ——————机械安装教程—————

    19.7.18
    打印件一共8个

    其他主要配件大致如下

    首先焊上电机线,不同电机线序不同,需要用万用表测一下,通路的一组是一相,同相的两根线焊在同一侧,下面示意图中,红蓝为一相,绿黑为一项。

    为了布线美观,线长度 X电机19mm,Y电机14mm,Z电机24mm,焊接时锡尽量少,不然很容易就焊报废了,图中上面两个尸体就光荣牺牲了,焊接完最好用表测一下,再实际测试下是否能转,不然后面返工就麻烦了。

    此处电机有一点外凸,测绘工作没做好,存在干涉,手动返工,T站图纸已第一时间更新。

    用M2*6尖头螺钉固定,如果点击安装孔位不一样也能装,自攻螺钉可以直接在板上钻孔。

    装上铜套和光轴,铜套要从侧边横着卡进去,竖着直接卡 卡子容易断裂。

    卡上底座,需要区分正反,注意图上挡片方向

    安装M2*6尖头螺钉,需要控制拧下去的深度,丝杆不能太紧,也不能有明显背隙。

    听说磁性热床效果不错,我也试试。

    19.7.27

    装上Y限位开关 M2*10自攻螺钉

    装上左右支架 M3*12自攻螺钉

    装上X轴电机 M2*10自攻螺钉

    装上Z轴支架M2*10自攻螺钉

    装上铜套光轴

    和本体合体,中间小孔拧上M2*6自攻螺钉 不可太紧也不可太松

    装上Z轴电机M2*6自攻螺钉

    喷头固定座拧上M2*15自攻螺钉,并卡上铜套

    插入光轴卡上本体,侧边小孔拧上M2*6尖头自攻螺钉,不可太紧和太松

    安装喷头 M3*12

    等了一个星期的限位开关终于到货

    安装X限位 M2*10自攻螺钉

    安装Z限位 M2*10自攻螺钉

    19.7.31
    加热棒线束太硬,重新改了一下走线

    安装主控板m3*6自攻螺钉

    安装扩展板并插上12个短接帽,图片上E0没插,实际要插 注意。

    安装驱动模块,不可插反

    插上线并安装挤出机

    挤出机电机安装借用网图如下




    接线图如下,XYZ电机分别插对应标识符的4排口,挤出机插E0口。不需区别方向。加热棒插D8口不用区分方向图片写错 风扇接D9口

    xyz电机是5v供电的,12v供电也没问题,需将电流调小,方法参见
    http://www.diankeshequ.com/forum.php?mod=viewthread&tid=2003
    逆时针将螺丝拧到底,然后通电再顺时针将电流慢慢调大,直到电机运动有力带的动机器,且电机发烫不严重。
    我用的电机调完以后参考电压vref为0.28V,大家可做参考。

    ——————调试教程—————

    完成硬件部分后开始上传固件,上传固件方法参见本论坛基础教程贴。

    固件基于marlin1.0.2,下载地址见顶部,主要参数修改如下;修改configrution.h内容
    定义控制板类型
    [mw_shl_code=arduino,true]#ifndef MOTHERBOARD
    #define MOTHERBOARD BOARD_RAMPS_13_EFB //use mega2560+ramps1.4
    #endif[/mw_shl_code]

    定义喷头热敏电阻类型,常用的是100k电阻
    [mw_shl_code=arduino,true]#define TEMP_SENSOR_0 1//100k
    #define TEMP_SENSOR_1 1
    #define TEMP_SENSOR_2 1
    #define TEMP_SENSOR_BED 0//not used[/mw_shl_code]

    定义限位开关类型,常闭型为fasle,不适用或常开型设为true
    [mw_shl_code=arduino,true]// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
    const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
    const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
    const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
    const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
    const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
    const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.[/mw_shl_code]

    定义XYZE运动方向,如何运动方向与设置不一致可修改此处参数或反插电机插头
    [mw_shl_code=arduino,true]#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true
    #define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
    #define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true
    #define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
    #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
    #define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false[/mw_shl_code]

    定义回home方向,
    [mw_shl_code=arduino,true]// Sets direction of endstops when homing; 1=MAX, -1=MIN
    #define X_HOME_DIR 1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1[/mw_shl_code]

    设置速度及电机分辨率,xyz电机步进角18°,16细分,丝杆导程1.5mm,16*360°/18°/1.5=213.33
    [mw_shl_code=arduino,true]//// MOVEMENT SETTINGS
    #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
    #define HOMING_FEEDRATE {20*60, 20*60, 2*30, 0} // set the homing speeds (mm/min)

    // default settings

    #define DEFAULT_AXIS_STEPS_PER_UNIT {213.33,213.33,213.33,95} // 电机分辨率
    #define DEFAULT_MAX_FEEDRATE {100, 100, 2, 50} // (mm/sec) 最大速度
    #define DEFAULT_MAX_ACCELERATION {200,200,200,300} [/mw_shl_code]

    设置初始加速度,为保证运动连贯性,实际轨迹为圆弧代替折线,此速度代表两段梯形加减速交汇处最小速度,值越大轨迹圆弧半径越大。
    [mw_shl_code=arduino,true]#define DEFAULT_XYJERK 5.0 // (mm/sec)
    #define DEFAULT_ZJERK 0.4 // (mm/sec)
    #define DEFAULT_EJERK 5.0 // (mm/sec)
    [/mw_shl_code]

    下载并安装arduino IDE,
    下载打印机源码
    https://github.com/mossbot-MG/mini-one-pocket-3D-printer-firmware

    双击源码中 marlin.ino打开源码文件。点开configuration.h 可修改相关参数。

    设置如下,端口需自行选择,可打开设备管理器查看,如无法识别控制板,需自行安装 USB转串口CH341驱动,最后点击向右箭头上传固件

    下载机械臂大师,路径如下;
    https://pan.baidu.com/s/1RjGk-z7WKfZ0T5qm_AvKBg
    打开机械臂大师设置对应端口,波特率设置为115200点击链接,出现如下返回值说明链接成功。

    打开调试窗口,在三个限位开关未触发情况下点击限位开关状态,确认所有限位是否都为open,
    分别用手按住XYZ限位,一个一个按不是同时按,分别查看限位开关状态,看xmin ymin zmin是否显示触发TRIGGERED

    再分别点XYZ运动按钮,确认运动方向是否与预期一致。如不一致,讲对应电机线反插。
    X+喷头向右移动
    Y+平台向下移动
    Z+喷头升高

    关于调平,很有网友觉得很难调平,由于机器打印面积过小,所以设计没有考虑过调平,铜套和光轴配合间隙是很小的,运动间隙大不平稳基本不是铜套光轴的问题,
    首先看塑料件和铜套卡合紧不紧,如果不紧用502胶固定。平台前后抚养左右翻转稍微有点不平的话不影响,首层稍微压住平台就行,不用像大型i3一样用一张纸去调。
    喷头由于重力原因都会有点下垂(主要考虑尺寸只用了一组铜套,两组铜套就能解决这个问题),下垂对打印影响不大,保证同一位置下垂角度差不多就行,调整Z轴零点高度只需要调整
    喷头固定座上限位螺丝高度就行,保证限位触发时喷头接触到平台,稍微有点点干涉。

    打开任意一切片软件,这里以cura为例,不会使用切片软件的自行百度,教程太多了,这里不做重复介绍。
    设置机器参数如下

    参数设置,请自行摸索

    设置开始结束代码

    开始代码
    [mw_shl_code=arduino,true]G21 ;metric values
    G90 ;absolute positioning
    M82 ;set extruder to absolute mode
    M107 ;start with the fan off
    G28 X0 Y0 ;move X/Y to min endstops
    G28 Z0 ;move Z to min endstops
    G1 Z5.0 F{travel_speed} ;move the platform down 15mm
    G92 E0 ;zero the extruded length
    G1 F200 E3 ;extrude 3mm of feed stock
    G92 E0 ;zero the extruded length again
    G1 F{travel_speed}[/mw_shl_code]

    结束代码
    [mw_shl_code=arduino,true]M104 S0 ;extruder heater off
    M140 S0 ;heated bed heater off (if you have it)
    G91 ;relative positioning
    G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
    G1 Z+0.5 E-5 X-20 Y-20 F4800 ;move Z up a bit and retract filament even more
    G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
    M84 ;steppers off
    M81
    G1 Z5[/mw_shl_code]

    最后拖入STL文件,就能愉快的开始打印了,暂时更新到这里,有疑问直接帖子留言,有需要补充的我会及时更新,谢谢各位关注。

您必须登录才能回复此主题。