【燃烧吧 切割机】 自制微型激光切割
自从苹果的原装键盘罢工之后,就入了机械键盘的大坑,无奈除了少数几个牌子有for Mac版本的之外,大多数键盘都是for PC,甚至套装键帽也没有苹果版的,command键、option键没有怎么能忍受,于是想试试自己能不能烧制几个,想起来半年前看到 Instructable 上有人用旧光驱做出了微型激光雕刻机,于是准备制作自己的激光雕刻机。http://v.youku.com/v_show/id_XNjczNzg1MTIw.html仔细看了几篇文章,最后选择了SilverJimny的The MicroSlice的方案作为这次的主要参考,因为这个方案完成度很高,尤其是SilverJimny给出了完整的机架CAD图纸,而且做得很漂亮。不过制作说明写得还有一些含糊,制作的过程中基本也是一边尝试一边摸索,也走了些弯路,我会尝试在这篇帖子中讲清楚。
最终完成品功能:大于50mm X 50mm 的工作区域;能够切割纸张、雕刻塑料、木头;所用到软硬件都是开源的;(arduino + Grbl 0.9)花最少的钱办最多的事;可扩展,比如用树莓派,或者增加第三轴用于调焦;
!!第一处注意点: arduino不论新旧(我用的Duemilanove,你也可以用Uno)不过烧录Grbl控制程序(0.8版本以上)对容量有要求,我们要使用328P的芯片;Grbl官方build的版本可能无法直接用(原因后面会说明),需要改源代码重新编译或者使用我编译好的版本;
Step1:准备材料 (这里列出原清单,逐一说明,链接全部改为某宝)
1 x Arduino板(uno/ Duemilanove都行 328P芯片)
1 x X 轴马达;1 x Y 轴马达;1 x 两路继电器 (我买的继电器低电平吸合,高电平释放,这和Grbl里面的设定刚好是反的,因此后面要改源代码);2 x Easydriver板 (这货比较贵,买国产的就行,其实也不一定非用easyDriver,比如我后来发现sparkfun的 auto driver板子更牛逼,多达128微步,不过换其他板子需要改机架安装孔位,8微步是必须的,如果考虑更便宜的国产板要把这个要素考虑在内);2 x 5v 稳压模块 2 x 散热片 (散热片没有现成尺寸的,需要自行切割,后面会说明)1 x 45x45x10 风扇 (12v)(45X45的风扇已经比较难少见了,我建议是买50X50的,改一下机架)4 x 微动开关 (带钢片)9 x 铷磁铁棒(这个用处不大,可以忽略)4 x 橡胶脚垫(可以忽略,或者用别的垫片自行切割)5 x M3机箱手拧螺丝1 x 激光二极管 (我用的是三菱ML101F27,研究了很久,这是我能找到的最便宜的,功率也够大的激光二极管)1 x 激光模组 45mm1 x 激光驱动板1 x 激光镜头 (一般模组自带的是塑料镜头,不够好)1 x 4mm 铝管(内径3mm, 长度100mm就足够用了)2 x 3mm x 150mm 钢棒1 x 3mm x 100mm 钢棒 (这个一定要很直很光,我建议买回来自己用手锯切割,因为代割不准)17 x M3 花牙压板螺母(SilverJimny用的那种国内没的卖,找的替代品,感叹一下国产紧固件落后人几十年)6 x M2 沉头螺丝 (6mm) (沉头螺丝用来装光驱步进电机)6 x M2 螺母20 x M3 螺母6 x M2 平头螺丝 (6mm)(用来装钢棒两端的固定木片)8 x M2 平头螺丝 (8mm)(平头螺丝装微动开关)4 x M3 尼龙螺丝 (6mm) (用来固定easydriver等板子)4 x M3 50mm 铜柱7 x M3 内六角螺丝 (8mm) 8 x M3 3mm 尼龙隔离柱2 x 机架激光切割加工
另外我补充一下SilverJimny没列出来但是必要的零件,工具:
快干白乳胶;
220V转12V变压器(输出电流最好能在1A以上,因为arduino的5V电压是拖不动步进电机的,需要通过DC Jack额外供电)4 x M3 16mm螺丝(用于安装风扇)
铝箔(淘宝可以买到带背胶的,一定要光面,越光洁对激光的反射越强);杜邦线、杜邦头(公母都要);杜邦头塑料壳(1P、2P、3P、4P都需要一些,当然你也可以只用1P,只是到时候接线更乱些);单排、双排插针都需要一些(焊在easydriver上,有些店家有送,不过仍然需要一些额外的双排插针);1.0mm的4P插座(用来接步进电机,不用的话焊线会很考验手工);尼龙扎带几根;3M导热胶(用来粘散热片);一个5mw的激光头(这个用来测试的时候用,因为大功率的激光很危险,必须确定一切妥当之后再安装,你也可以用led代替,不过需要串接个降压电阻);激光防护眼镜(便宜的那种只能说聊胜于无,300左右的我没买,最后家里找了副Speedo泳镜(银闪闪带反射镀膜那种)+ 绿色墨镜(吸收红光)= 双重防护 ,基本OK了,调焦的时候需要直视激光,完了只要不看就可以了,实在不想买,也可以用相机或摄像头来间接观察激光,切记不可以用眼睛直接观察激光,伤害非常大,会造成白内障!!!)
工具:水口钳、剥线钳、压线钳(压杜邦头)、钢锯、电烙铁、电钻、微型虎台钳(最大开口要5cm以上,要夹在桌子上的那种,不要吸盘式的)模型用强力夹(20只是必须的,如果有几个F夹更好);
这里写得比较啰嗦,后面有不明白的地方可以回过头来再看看,你会觉得有用的;
Step2:少年,来拼模型吧
加工好的机架木片,3mm航空椴木,其实到手就可以拼装了,但是...等等…这白白的木色怎么能够衬托出某屌的高大上,喷个漆再说。
喷漆选了亚光黑,对手艺要求低效果也好,右边这种喷罐需要两听,喷一遍—晾干,双面来回三遍;记得喷的时候背面用胶带贴好,免得零件翻面时候掉出来,完美控也可以先拼好再上色;
从最简单的地方下手吧,先把上面的部分找出来拼好,用胶水固定,注意除了主体4片,还有两小片粘在下方背面,如下图所示。
接下来拼装龙门架,因为有些步骤漏掉没拍,所以借用一下SilverJimny的图
这里有两点需要注意:
第一:安装光驱步进电机的那两颗沉头螺丝,安装好以后一定不能凸出来,否则滑块容易被卡住,解决的办法:买个沉头钻,把沉头孔打深一点,不够再把螺丝磨平一点;
第二:看到龙门下部的那两个圆孔了么?铝管就是装在这里的,果断插入,铝管一定要能够顺滑的在钢棒上滑动,如果内孔不够光滑,可以上一点油,套在钢棒上打磨几下,打到光滑为止;
Step3:上部工作台这部分没有太多需要说明的,注意一下中间两片梁的方向就可以了;
到这已经可以把上半部分拼起来看一下效果了,注意不要忘记安装档片;
Step4:切割台
切割台最简单也最烦,两片用胶水黏住就好了,要覆盖上一层铝箔用来反射激光,防止激光把机架烧断,这里蜂窝状的结构有点麻烦,只能用小刀一点点刻出来,建议先贴好铝箔,再黏合两片板,这样刻的时候方便点。嫌麻烦的可以不割,优点是保护性其实更好,缺点是不够拉风;
上了土豪金是不是立刻高大上了很多;
Step5:稳压模块和散热片
注意模块插针要自行焊接的,焊好以后把背面多出来的引脚用水口钳剪掉,并且用锉刀打平以便粘散热片;单耳散热片没有现成的买,基于花最少的钱办最多的事原则,买了两片45mmX45mm的金色散热片,用手锯锯成合适的大小,电钻打一个M3大小的眼,用3M导热胶带粘在了模块背面;(粘之前务必和板子对一下孔位)
Step6:风扇风扇比较简单 螺丝上好,电源线缠一下用困扎带固定,接线端火线做一个杜邦公头,零线一个杜邦母
Step7:底座底座做好是分离的两个部件,如图所示,然后通过下图的铜柱拧合在一起
首先把小圆环全部理出来, 按孔大小分好类,一共是4种,其中4个刚好可以嵌入压板螺母孔径最小的圆环拿出4个放到旁边(备用品),其余的分成4组
剩下的压板螺母全部嵌到板子里,这些螺母是用来固定电路板模块的
看一下数量的分配
小圆环胶合的时候可以用我们的钢棒套一下来辅助定位,这样粘的准一点
把风扇支架插上去试一下,如果刚好能卡进去那就对了
再对一下,最后完成的是这样分开的两块板,注意上面那块板上有4个圆环,刚好铜柱可以通过去,这4个环之起到美化作用,没有结构意义
Step8:接线(这部分大多数贴都没讲清楚,加上一些非常规的接法,导致我走了不少弯路,我会尽量讲细一点)
以上接线图只看一下效果,没有什么实质性的意义,拍再多也讲不清楚,我下面会画一个原理图,不过首先让我们明确一下几个要点:1. 我们买到的步进电机额定电压是4~6V,但是!!我们给easyDriver驱动板供电是接12V,你没看错,有人说这样接不会烧电机么?是的,如果电机不走的情况下直接12V会很烫并且容易烧毁,但是easyDriver有个enable针脚,可以控制只在运行的情况下供电,算是超频使用了,如果你非要接5V供电,结果就是装好后无法拖动机架,很容易卡住、失速;(不过切记测试板子的时候不要接12V,除非你已经接好enable针脚)2. 风扇额定电压是12V,但是我们是接到5V的稳压模块上的,也就是降频使用,很奇怪吧,不过不要怀疑,就是这么接的,因为风扇全速会把纸吹跑,我们只要一点点风降温就够了;3. 两个稳压模块的输入端都是接12V,降压到5V使用,这样做的原因是为了获得更大的输出电流,激光头和风扇马达在这个项目里也算是大功率设备;4. 总结一下, 除了继电器的输入电压是5V,其他所有负载接的都是12V(风扇,激光接的是12V降压后的5V),12V电压如何获得?arduino外接变压器,Vin针脚输出是12V;
如果对接线还有不清楚的地方, 可以看一下Grbl的wiki
最后说明一下easyDriver的8微步,easyDrive通过MS1,MS2的高低电平来细分步进电机的微步,8微步也就是将原来的一步细分为8步,获得更精确的控制,比如我们用的电机一转20步,现在变成一转160步。幸运的是,easyDriver板子默认就是8微步,我们不需要再进行额外的设置,如果有兴趣的可以看一下easyDriver官网的说明,低的细分会获得更高的扭矩(电机力气更大,不过这个项目中我们已经通过接12V超频使用来获得更大扭矩了)。
Step9:设置软件
这台机器,我们使用Grbl v0.8来做控制(烧进Arduino)。还需要一个配套的客户端软件,通过串口向Grbl发送G-code代码。最后我们还需要用一套工具来画图,并且把图转为G-code代码。
整个的流程是这样:矢量图——> 转为G-code——> 通过串口发送到Arduino——>Grbl解析代码并且控制机器切割
接下来我们一步步讲解:
1. 将Grbl烧录进Arduino:我这里用的0.8c版本,截至写稿时最新的是0.9Beta,也OK(0.9主要优化了弧线的绘制),只不过参数稍有不同要烧录Arduino,需要用到Arduino IDE, 各位应该都装了,没有的请去官网下载
烧录之前,确保激光头已经断开(我的建议是大家一直使用5mw的低功率激光头,等最后全部搞好没有问题了再换成大功率的)
Grbl wiki 详细说明了如何烧录预编译好的头文件树莓派的使用者可以参考Zapmaker的在树莓派上安装Grbl之前提到过,官方预编译的头文件在我们这个项目不好用,需要改源码,附件中我提供了改好的头文件
2. 客户端工具有两个,我们实际使用Universal GcodeSender,不过GrblController有一个不错的参数面板,另外spindle on可以简单的控制激光开关,我们测试和设置的时候用这个(可惜这个软体有bug,Gcode的速度代码认不出,总之我们只用它来调试)GrblController连上aduino后,点Advanced——>Grbl Setting 我们可以看到Grbl的初始化参数如下:$0=755.906 (x, step/mm)$1=755.906 (y, step/mm)$2=755.906 (z, step/mm)$3=30 (step pulse, usec)$4=500.000 (default feed, mm/min)$5=500.000 (default seek, mm/min)$6=28 (step port invert mask, int:00011100)$7=25 (step idle delay, msec)$8=50.000 (acceleration, mm/sec^2)$9=0.050 (junction deviation, mm)$10=0.100 (arc, mm/segment)$11=25 (n-arc correction, int)$12=3 (n-decimals, int)$13=0 (report inches, bool)$14=1 (auto start, bool)$15=0 (invert step enable, bool)$16=0 (hard limits, bool)$17=0 (homing cycle, bool)$18=0 (homing dir invert mask, int:00000000)$19=25.000 (homing feed, mm/min)$20=250.000 (homing seek, mm/min)$21=100 (homing debounce, msec)
$22=1.000 (homing pull-off, mm)
我们最关注的两个参数是 $0 和 $1 这两个参数决定X和Y轴的每mm步长,如果设置不正确,那我们烧出来的图片就和设定尺寸不一致这两个参数如何计算?步数 = 每转步数 X微步数 / 蜗杆螺距 比如我们的电机是20步每转,微步数是8,螺距是3mm,那么:20 X 8 / 3= 53.33333333 就是我们得到的结果;
其他的设置主要是空行程时候的速度,各项功能的开关及掩码等等不一一赘述,有兴趣深入的同学可以去Grbl wiki 进一步了解,总之将参数设置如下:$0=53.333 (x, step/mm)
$1=53.333 (y, step/mm)
$2=53.330 (z, step/mm)
$3=10 (step pulse, usec)
$4=2000.000 (default feed, mm/min)
$5=500.000 (default seek, mm/min)
$6=28 (step port invert mask, int:00011100)
$7=25 (step idle delay, msec)
$8=10.000 (acceleration, mm/sec^2)
$9=0.050 (junction deviation, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=1 (hard limits, bool)
$17=1 (homing cycle, bool)
$18=0 (homing dir invert mask, int:00000000)
$19=25.000 (homing feed, mm/min)
$20=200.000 (homing seek, mm/min)
$21=100 (homing debounce, msec)
$22=2.000 (homing pull-off, mm)
3.要画图并生成G-code,最好的工具是inkspace+laserengraver插件(件附件),画图你可以用任何矢量软件,只要能存为SVG就好了,然后在inkspace里面输出,附件里我给了一个转好的样例文件供下载;
4.修改Grbl源代码因为Grbl默认是3轴,而我们的机器只有2轴,因此z轴的代码可能会引发一些问题(比如归零的时候卡住了之类)因此我们需要改一下1.下载 Grbl源文件
2.解压
3.用你喜欢的文本编辑器打开config.h文件
4. 找到以下代码:
#define HOMING_SEARCH_CYCLE_0 (1<<Z_AXIS)
#define HOMING_SEARCH_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS))
改为:
// #define HOMING_SEARCH_CYCLE_0 (1<<Z_AXIS)
#define HOMING_SEARCH_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))
5. 找到一下代码:
#define HOMING_LOCATE_CYCLE ((1<<X_AXIS)|(1<<Y_AXIS)|(1<<Z_AXIS))
改为:
#define HOMING_LOCATE_CYCLE ((1<<X_AXIS)|(1<<Y_AXIS))
6. 保存
第二处需要修改的部分取决于你用的继电器,我买到的继电器是低电平触发,这和Grbl配置相反,
有的人想,只要接线改接到常闭就好了呗?答案是不行,如果这样接的话,我们设想一下,arduino通电前,因为整个系统没有电,激光不亮,通电瞬间,因为磁吸是有延时的,激光先亮,然后继电器吸合了,常闭端变成开路,激光灭。
也就是说插上usb口的瞬间,激光会亮一下,这一下足以把你的纸烧个洞,完美控当然不能忍;
废话不多说还是改代码:
1. 文本编辑器打开 spindle_control.c文件
2. 把所有出现 1<<SPINDLE_ENABLE_BIT和 ~(1<<SPINDLE_ENABLE_BIT) 的地方相互交换一下;
3.保存
将改好的源代码重新编译
Step10. 最后补充一下激光头的安装
要测一下激光二极管正负极,这个用2节5号电池实际接一下就可以了,如果你和我使用的是同一型号,那么正负极如图所示
二极管可能不太好压进管内,正确的压法是这样,所以你看到虎台钳的必要性了
接线和焊接,注意你买的模组长度要能够容纳下驱动板
如果所有步骤都正确,到这里,所有的工作就都完成了,享受烧纸、刻木头的乐趣吧!!
有问题在这里回答:(占位)
tonycxc1 发表于 2014-2-19 21:46
OK,能不能传下那个星巴克的NC文件,我真的很喜欢
我的激光雕刻机也做好了!http://pan.baidu.com/share/link?shareid=984878233&uk=3594232469&third=15给大家观摩下!G代码是楼主给的,感谢LZ耐心帮助!!
还有个问题我要和楼主偷偷说一下,去官网着到grbl,,0,9了,但是下不了啊 (流泪,网页404) 真的能麻烦LZ传一下下么? 我自己也做了一部,光驱改的,激光头买现成的。
LZ真是有心人呐~~
手持HHKB表示,当时为什么我没有入坑呢~~:lol 视频配乐很好,写的更好! hexiaolong2009 发表于 2014-2-17 21:25
楼主,这么专业,而且你的工具那么全,该不会是也在某宝上开店的吧?
没有啊 都是零零散散买的 有些原来就有 有些这次另买的 挺好玩 不错 碉堡了。。。。。。。。。。有空自己也搞个玩玩~~~ 楼主,这么专业,而且你的工具那么全,该不会是也在某宝上开店的吧? 非常好的文章,以后可以用到 楼主这机器的木框架哪买的呢 厉害 duocool 发表于 2014-2-18 09:31
楼主这机器的木框架哪买的呢
木框是拿图纸去激光加工的 duocool 发表于 2014-2-18 09:31
楼主这机器的木框架哪买的呢
木框是拿图纸去激光加工的 duocool 发表于 2014-2-18 09:31
楼主这机器的木框架哪买的呢
木框是拿图纸去激光加工的 楼主大赞,牛逼 围观达文西:lolMicroSlice的方案零件略繁多,不过的确很棒! https://mc.dfrobot.com.cn/data/attachment/forum/201311/26/165526btmgjx6xgffbxl6e.jpg强力围观楼主,好NB啊,
视频的配乐跟视频的节奏好同步,效果很好哟。
火钳刘明!!! heinau 发表于 2014-2-18 11:57
强力围观楼主,好NB啊,
视频的配乐跟视频的节奏好同步,效果很好哟。
火钳刘明!!! ...
哈哈 我特意FCP里对的节奏;P 燃烧吧,骚年 TB有套件卖,不过得要598 duocool 发表于 2014-2-18 16:41
TB有套件卖,不过得要598
我自己做出来估计也花了小500
带添加了些工具什么的
主要小零件太多 运费占去1/3
不过我当时只看有家卖亚克力的套件 不过那个方案挺丑的