最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。
搞了半天,终于能正常打印,插楼奉上效果图
打印视频移步优酷,链接如下
https://v.youku.com/v_show/id_XNDQ1MTc2NDYxMg==.html?spm=a2hbt.13141534.app.5~5~5!2~5~5~5!2~5~5!2~5!2~5!2~5~5~A
简介:
采用低导程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口。不需区别方向。加热棒插D10口(不分正负,图片写错) ,风扇接电源口 红正黑负, 热敏电阻接T0口(不分正负)
xyz电机是5v供电的,12v供电也没问题,需将电流调小,参见https://www.cnblogs.com/huayizi/p/9627585.html
逆时针将驱动模块螺丝拧到底,然后通电再顺时针将电流慢慢调大,直到电机运动有力带的动机器,且电机发烫不严重。
我用的电机调完以后参考电压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细分,丝杆导程2.9mm,16*360°/18°/2.9=110
[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 {110,110,110,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文件,就能愉快的开始打印了,暂时更新到这里,有疑问直接帖子留言,有需要补充的我会及时更新,谢谢各位关注。
|