CHNJET喷气俱乐部

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 铁手

[转帖]废旧光驱再利用 自制激光雕刻机

[复制链接]
 楼主| 发表于 2014-12-3 15:52:59 | 显示全部楼层
欢迎大家在B站关注CHNJET
4   制作机械部分
27.jpg

  ▲ 我很幸运地找到了这些垫片,不过用一根螺栓和一些螺母也能达到很好的效果
28.jpg

  ▲ 用一片压克力板作为底座
  ● 为了尽可能地简单,我找了一块正好比 DVD-Rom 驱动器的步进电动机组件略大一些的中密度纤维板。它将成为底座,固定住 X 轴和 Y 轴的方向。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:53:32 | 显示全部楼层
  ● 我找到了一些垫片来固定 Y 轴方向,不过几根螺栓和数个螺母也能有不错的效果。这里的尺寸要求并不严格,不过必须确保每一根轴都与其他的轴相互垂直。我发现把第一层组件安装在中密度纤维板上以后在对齐各个零件时会方便一些。
29.jpg

  ● 工作空间位于老的激光二极管组件上。确保它表明平整且水平放置,然后在上面涂上些胶水固定好,工作空间就完成了。我发现一块 1/4 英寸的压克力板刚好合适。它能让工作空间保持足够的稳定性,不过由于激光能够射穿它,所以我不确定这是否存在安全隐患。后来我想出了一个在我看来效果最棒的解决方案。我切下了一片与压克力板的大小相同的DVDR 驱动器的金属外壳,然后用胶水把它粘了上去。这样工作空间依然非常稳定,而且强度也足够了。它还有一个有利的作用,那就是你可以用磁铁把你想要雕刻的东西固定在工作空间上。
30.jpg

  ● 我在废品箱里找到了一些铝型材。
31.jpg

  ● 把它当作了 X 轴,不过你可以使用任何稳固而且够长的材料。
32.jpg

33.jpg

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:54:06 | 显示全部楼层
● 测量一下你觉得在雕刻时所需要的适当高度。
34.jpg

  ● 我选择了几根长 7.5 英寸的板材用作支架。这样会给我留下不到 2 英寸的细小间隙。
35.jpg

  ▲ 我钻了几个小孔,这样就可以用电缆扎把线拴紧
36.jpg

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:54:30 | 显示全部楼层
  ● 一件重要的事情在于,组件上的安装孔并不是对称的。记得测量从支架底端到直线导轨的距离。这样你就能确保所有的零件都对齐。你安装 X 轴的位置取决于激光发射器的安装位置。激光发射器应该位于工作区域的中心,而 Y 轴位于中间。当你将两轴安装在基座板上的时候,先确定所有的零件都相互成直角,然后钻几个供螺丝拧入的小导孔。
37.jpg

  ● 现在你应该已经完成了相互垂直的 X 轴和 Y 轴。
38.jpg

  ▲ 这里最重要的尺寸要求就是保证所有的东西都是四方的直角
  ● 激光发射器的支架不一定要做得很复杂,我用的是一小片塑料板和一个夹子,然后把所有的东西都用胶水粘起来。
  ● 用夹子固定激光发射器,这样就可以靠简单地把激光发射器上下滑动来改变焦点位置。
  ● 和其他的零件一样,它的尺寸并不重要,只要一切都相互垂直就行。这里只有一个尺寸是需要你斟酌一番的,那就是激光发射器的位置。当 Y 轴和 X 轴位于中央位置时,它应该处于工作空间的中心。
39.jpg

  ▲ 我在这里用一片和激光发射器支架上相同的黑色塑料进行了测试。最后我用一片从 DVDR 驱动器外壳上拆下来的金属又测试了一次

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:55:03 | 显示全部楼层
5   电子器件
40.jpg

  ▲ 在你寻找所需的排线时,老旧的电脑是你的不二之选
41.jpg

  ▲ 这些排线虽不易焊接,但效果很好。我在两台步进电动机上都进行了相同的焊接
  ● 我开始焊接步进电动机。用一根排线连接步进电动机,然后把它们焊接在 DVD电路板上已有的接口上。我在另一头焊接了一个四引脚的插头,这样就能插在试验电路板上使用。
42.jpg

  ▲ Easydriver 和 Arduino 的初次测试——大成功
  ● 对 Easydriver 也进行相同的处理,焊上引脚插头,然后插在试验电路板上使用。
  ● Easydriver 有两个引脚,叫做 MS1 和 MS2,它们用于设定步进的序列。将它们双双连在 Easydriver 的5伏电压输出上。这样就把步进序列设为了微步进控制。把从步进电动机伸出的四根引脚连接在电动机的输出端,而控制引脚(step、dir 和 gnd)连在 Arduino 上。除了这些以外,Easydriver 还需要连上电动机电源。我用一个12伏的电源适配器驱动电动机、风扇和 Arduino。一个电位器被用于控制电动机的电源,把它设到最低就行,要是步进电动机的动力不足的话,就稍微调大一些。我并不清楚步进电动机的额定电压,如果它们发烫了就说明你给的电压太高。
43.jpg

  ▲ 在本制作项目中用不到的多余元件

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:55:41 | 显示全部楼层
44.jpg

  ● 我在电路图上添加了一个继电器,供风扇使用。因为雕刻过程会产生一些烟雾,所以风扇是很有用处的。
  ● 风扇只需要连接在风扇输出端上就行了。一只小型的电脑风扇就有不错的效果,你只需把正极和负极的导线连在正确的输出端即可。
45.jpg

  ▲ 在焊接所有的引脚时都要记得检查位置是否正确
46.jpg

  ▲ 我把 Easydrives 安装在插座中,这样就能在以后的新版本中重复使用了
  ● 激光发射器的驱动电路是用基于 LM317 的电路制作的,不需要特殊配件。这样的驱动电路可以正常工作,但效果远远说不上是理想。我给激光二极管的驱动电流太大了,大约在 300 毫安,你要是也这么做,那么二极管的寿命不会太长。最好的解决方案应该是找一个更强大的激光发射器和驱动器,但为了坚持廉价和DIY的精神,我还是想要使用 DVDR 驱动器本身的激光发射器。激光发射器开关和风扇所使用的是同一个继电器。
  ● 如果你想要一切从简,那么你可以跳过整个激光发射器驱动电路的制作,采用现成的驱动器。这样的话你所需要做的就只是把电源接在风扇继电器上而已。当然这样做成本可能会稍微高些。
  ● 整个电路构成了一种新式的 Arduino 电路——激光发射器控制电路。我已经附上了 Eagle格式 的电路图和电路板布置图。如果你想要自己布置 Easydrivers 的电路的话,我也准备了带有驱动程序的 Eagle 库文件,你可以在 这里 下载。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:56:31 | 显示全部楼层
6   准备 Arduino
47.jpg

  ● 我自己给 Arduino 写的软件。但是在搜索通过串口控制移动的好方法的时候我碰巧找到了一个叫做“Grbl”的东东。这是一个有着相当多优秀功能的 g 代码编译器。由于我已经把所有的东西连到了 Arduino 上,所以我要么得改变我的连线,要么就改变我的程序。幸运的是在软件中修改控制引脚其实相当方便。只不过我不得不下载 Winavr ,然后再从 github.com 上下载代码。做起来很容易。下载并解压出代码以后,你必须把 config.h 中的端口号修改一下,确保将它们排列为正确的顺序。接着你所需要做的就只是打开一个命令窗口,输入正确的文件夹,然后输入“make”。如果一切如计划那样顺利进行的话,你应该最后会得到一个给 Arduino 使用的 .hex 文件。
  ● 但是我从那时就把引脚改动过了,而在本教程中我使用的是 Grbl 的默认引脚。这样可以让你在跟着教程设置时更加简单。你只需要从 Grbl 的下载页面 hex 文件就行了。
  ● 无论你选择何种方式,最后你都将得到一个输入 Arduino 中去的 .hex 文件。我试过许多不同的方法,其中我最喜欢的是用一款叫做 XLoader 的软件。编程的过程非常直接明了:选择 Arduino 的正确的串口;选择 hex 文件以及 Arduino 的型号;然后按下上传。如果你使用的是新版的 Arduino Uno 的话,那么 XLoader 是不支持它的,你会遇到一个上传错误。碰到这种情况我建议你使用 ARP/ArduinoUploader ,不过即便是这款上传器在 Uno 的支持上还是存在一些问题的。当你在给 Arduino 编程时,要在各个下拉列表中选择串口端口和微控制器。然后你必须把“AVR Dude Params”这段文字进行一些修改。删除“-b19200”(不带引号)部分,并点击上传按钮。无论如何你也该在几秒钟之后搞定,准备好进行测试了。退出 XLoader,进入下一部分。
  ● 你需要针对这一项目对 Arduino 进行设置。打开你最喜欢的串行终端,然后打开Arduino 所连接的端口。你应该会收到一条欢迎信息:
  Grbl 0.6b
  '$' to dump current settings"(输入“$”清空当前设置)
  如果你输入一个 $ 然后回车,你会看到一系列选项。类似于这样子:
  $0 = 400.0 (steps/mm x)
  $1 = 400.0 (steps/mm y)
  $2 = 400.0 (steps/mm z)
  $3 = 30 (microseconds step pulse)
  $4 = 480.0 (mm/sec default feed rate)
  $5 = 480.0 (mm/sec default seek rate)
  $6 = 0.100 (mm/arc segment)
  $7 = 0 (step port invert mask. binary = 0)
  $8 = 25 (acceleration in mm/sec^2)
  $9 = 300 (max instant cornering speed change in delta mm/min)
  '$x=value' to set parameter or just '$' to dump current settings
  ok
  ● 你必须把 X 轴和 Y 轴的 steps/mm 值都修改为 53.333。只要输入“$0=53.33”(译注:此处疑为笔误,少了一个 3)然后回车,接着输入“$1=53.333”然后回车即可。因为我们并没有用到 Z 轴,所以可以把它忽略掉。加速度可以提高到大约 100 的程度(输入“$8=100”然后回车)。当我们缓慢地操作这台机器的时候,加速度也会很高。加速度太低的另一个副作用是在控制器不停地尝试加速和减速,但却无法达到全速时,曲线图形会比直线受到更剧烈的烧灼。你有可能和我一样发现有一根轴反掉了。这很容易修正。选项 $7 让你能够改变轴的方向。我想要改变 X 轴的方向,于是我输入了“$7=8”,这是因为我想要修改 3 号位(8 = 00001000 二进制),如果你想要修改 Y 轴的方向,那么就输入 16(00010000)或者要修改两根轴的话,就输入 24(00011000)。有关掩码设置的 完整文档 可以在这里查看。
  ● 现在你已经完成了电脑设置的准备。如果你想要尝试进行几下移动的话,可以输入“G91 G28 X0 Y0【回车】”把轴的位置归零。然后输入“X10 Y10【回车】”。你应该会看到两根轴向上都发生了 10 毫米的移动。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:56:59 | 显示全部楼层
7   准备软件
48.jpg

  ● 这一步我将详细地从基础讲起。我会讲到你所需要的软件、如何设置软件,以及基础的工具组合。我只会讲解基于 windows 的系统,你们那些玩儿 Linux 的人只能自行查找了(不过 Inkscape 和相关扩展应该也能在 Linux 上很好地运行)。首先你必须下载以下三个文件:
  1 Inkscape ——这是一款开源的矢量编辑软件。
  2 LaserEengraverExtension (激光雕刻机扩展)——这会生成控制激光发射器所需的 g代码。
  3 G-codeSender (G 代码发送器)——这是我写的 windows 小程序,用于和 Grbl 进行通讯。
  ● 根据 Inkscape 的安装指示进行安装。这应该是个非常顺利的过程。如果需要任何这方面的帮助,可以在他们的网页上找到相关文档。接下来就是激光雕刻机扩展。这安装起来要难一些,不过也不是太难。用你惯用的解压缩软件打开 .zip 文件,然后把所有的文件复制到“crogram FilesInkscapeshareextensions”下面。你必须重新启动 Inkscape 才能让扩展生效。这个扩展其实是个经过大量修改的“Gcodetools”版本。这就是安装 Inkscape 的位置。你可以把“G 代码发送器”放在桌面上或者任何别的地方,过会儿再找出来就行。它不需要安装。
  ● 关于扩展有一句话我必须声明,我不是 python 程序员,因此在代码中可能存在一些缺陷。
  ● 我接下来假设你已经安装了所有软件,并准备开始使用了。下面是工作界面的快速浏览录像。
  ● 我希望这录像的速度并不算太快。网上有数不胜数的 Inkscape 使用教程。我不会讲解任何关于如何使用它的细节。
  ● G 代码发送器则是另一码事了。网上没有任何文档,因为这是我自己编的程序。所有的文档都在这篇教程中了,不过如果你有问题,那么请放开胆子提出来吧。当你打开程序时,它应该是非常浅显易懂的。唯一奇怪的东西就是行尾选择按钮“nr”和“rn”。根据你所使用的 Grbl 的版本不同,行的结尾也会有所不同。如果一种方法不行的话就试试别的方法。选择你使用的串口,要是你忘记连接激光雕刻机了,那么就把它连好,然后按下刷新按钮,这时你的串口就应该会被显示出来了。按下“open”(打开)按钮,打开欢迎界面。一旦端口打开了,你就能够在打开按钮上面的文本框中像任何命令行终端软件一样输入命令了。如果要开始打开一个文件进行雕刻的话,你可以要么输入文件路径,要么点击 browse(浏览)按钮后选择一个文件。当你点击“print”(打印)按钮时,就开始了文件传输。文件会一直传输到 Arduino 的缓存充满了为止,大约就传输 20 行左右。当缓存可以再放入更多的数据时,就会再传输一行。当你按下 stop(停止)按钮时,传输就会停止,但是 Arduino 在缓存清空之前是不会停下来的。当你按下“close”(关闭)按钮或者退出程序时,串口就会被关闭,任何传输都会被中止。
  ● 有时会出现 Grbl 无法解译的 G 代码,它会返回一个错误。大多数情况下这些错误都可以被忽略掉,不过它们会出现在发送器中。这些可能是注释,或者是开头或结尾的“%”符号。如果在命令后面有一条注释,那么就会产生一条错误,不过这条命令依然会被执行。例如“G21 (All units in mm)”,G21 命令还是会被执行,不过后面的注释会给出一个错误。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:57:47 | 显示全部楼层
8   最终组装以及额外配件
49.jpg

  ▲ 当你把 Easydrivers 装到一个盒子里时,就需要用一个风扇为它们降温。它可是会疯狂地发热
  ● 为了完善这台小型雕刻机,我用从一张画框中拆下来的 Masonite 牌纤维板制作了一个小盒子。只要用胶水粘起来就行了。
  ● 前面有一个老显卡上拆下来的小风扇。当你把 Easydrivers 装到任何外壳中的时候都需要对它们进行冷却。它们裸奔的时候就很烫了,放在外壳中就更烫了。
50.jpg

  ▲ 用胶水粘上一些垫片可以让它更容易用螺钉固定在底盖上
  ● 我在盒子中用胶水粘上了一些螺纹垫片,这样我就能在底部旋上螺钉。
51.jpg

  ● 把 Arduino 反过来用螺钉拧紧在底部。这样这台雕刻机就变成了一件方便好用的小工具。
52.jpg

  ▲ 通风孔
53.jpg

  ▲ 所有进入盒子的线路都从顶部穿过
54.jpg

  ▲ 我在一块老显卡上找到了这个风扇保护罩完好无损的小风扇

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 15:58:15 | 显示全部楼层
  ● 这是个 40 毫米的电脑小风扇,与我在电子器件这一步中提到的激光发射器的继电器相连接。风扇的方向朝向工作空间以外,它会和缓地把烟雾吸走。
55.jpg

  ▲ 把风扇连接在激光发射器的继电器上,面朝工作空间以外。它能够把烟雾吸走,同时不会影响工作空间中的器件
56.jpg

  ▲ 钕磁铁的顶部粘上一个螺母。它可以很好地按住你的工件
  ● 另一件小而有用的额外部件就是用于按住纸张和其他质量较轻的物体的磁铁。我从一只老玩具中找到了这些磁铁。只要在顶部用胶水粘上一些螺母,就搞定了。
57.jpg

  ▲ 当激光发射器处于最低的位置时,焦点应对准工作空间的表面
  ● 为了改变焦点,你就得通过拧动螺丝来调整镜头。或者你可以先把焦点定在工作空间上,之后再把激光发射器在支架上上下滑动。
  ● 当激光发射器处于支架上最低位置时,我把它的焦点固定好。接着我所需要做的就只是测量工件的厚度,然后把激光发射器抬升相同的高度。大部分情况下我只要把工件靠在激光发射器的支架旁边,然后把激光发射器移动到正确的高度上就行了。
58.jpg

  ▲ 当我把激光发射器移动到与工件相同的高度时,焦点就调整到工件的顶部了

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

sitemap|联系站长|版权说明|小黑屋|Archiver|手机版|CHNJET喷气俱乐部 ( 京ICP备15028347号-2 京公网安备 11011202000937号 )

GMT+8, 2024-12-21 23:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表