机械师 发表于 2015-12-22 11:53:33

[转帖]旧DVD驱动器没用了?DIY一个Arduino Mini数控绘图机吧

本帖最后由 机械师 于 2015-12-22 12:18 编辑

作者:老吕IO


在这个教程中,我会告诉你怎么快速制作属于自己的廉价Arduino Mini数控绘图机。图中这台绘图机是改进版,我对原有绘图机的结构和准确度都进行了一定的提升。好好阅读这篇文章,相信你也能轻松搞定自己的Arduino Mini绘图机。
简述: 在X轴和Y轴上,我们要用到两个步进电机和DVD/CD驱动器上的滑轨。在Z轴上,我们也会用到一个小型的伺服电机,用来驱动绘图笔上下移动。在安装基座上,我们则会用到树脂玻璃。我本想将它搞成雕刻机和绘图机的两用版本,但经过了数次实验,我发现这台机器只能挂载绘图笔,有些可惜了。基于Arduino开发板的电路使用了ATmega328单片机,2块L293D集成电路驱动器和USB串行适配器。用Arduino Uno开发板和一块面包板就能轻松搞定这一切。想要打印你的绘图作品?只要加装一个蓝牙模块就好。下面是数控绘图机的演示视频:视频地址:http://v.qq.com/page/l/s/1/l0176xebts1.htmlhttp://static.video.qq.com/TPout.swf?vid=l0176xebts1

机械师 发表于 2015-12-22 12:04:29

第一步:所需材料提示:不懂的部分可以参考图片。
各部分硬件都购自www.gearbest.com,不过相信在万能的淘宝也可以买齐。
制作电路时你需要:
新手清单:Arduino uno面包板2台L293D 集成电路电机驱动器迷你伺服电机2个DVD或CD驱动器
老鸟清单:ATmega328p(刷入Arduino的Bootloader)28针的DIP集成电路插座16MHz晶体振荡器2块22pF和1块100nF的电容10k的电阻器USB串行适配器2块L293D集成电路迷你伺服电机2个DVD或CD驱动器原型PCB电路板4个两针的螺丝端子接头或2个四针的螺丝端子接头你还需要一台Arduino UNO来为ATmega328单片机编程。有了USB串行适配器,就可以像Arduino Uno那样连接电脑和电路板了。为什么还要用到螺丝端子接头呢?因为在找到正确的组合前我们不愿轻易使用烙铁,要不然焊错了可就麻烦了。
制作安装基座时你需要:为X轴准备一块20x16厘米的树脂玻璃(厚度控制在5毫米左右)。为Y轴准备两块14x4厘米的树脂玻璃(厚度同上)。约20个螺母、螺钉和垫片。一些垫圈。四个支撑角(最好为塑料材质)如果没有树脂玻璃,你也可以用木头,金属或者CD和DVD驱动器的边角料。
工具:螺丝刀烙铁焊料电钻切割工具强力胶

机械师 发表于 2015-12-22 12:05:45

第二步:步进电机

首先,我们要拆掉dvd/cd驱动器,您切将上面的步进电机取下来。如图1所示,用螺丝刀将其大卸八块并取下滑轨。好了,现在我们就有了两台步进电机了,下一步要给它焊些线备用。在开始之前,请参阅下图2。下面我们要找到最好的线路搭配,所以可以请出万用表了,用两个鳄鱼夹夹住线路(如图3所示),然后将其放在“短路”功能上。一般来说第一跟第二条线都会使电路闭合,此时LED会亮起,同时警报声也会响起,但这也意味着我们找到了第一项电机,而第三和第四根线则会引出第二项电机。在这台数控绘图机中,使用线一和线三的步进电机为第一项电机,而使用线二和线四的则为第二项电机。找好了线路搭配我们就能开始进行下一步了。

机械师 发表于 2015-12-22 12:07:14

第三步:安装基座,X轴和Y轴
X轴:先将一个步进电机放在一块较大的树脂玻璃上,随后用马克笔标出其具体位置,以便随后为螺丝打孔。请一定确保其位置精确无误,然后就可用电钻打孔并用螺丝将电机固定紧。下一步就轮到我们准备好的四个支撑角了,为它们找好位置并用马克笔标注,它们之间的间隔为5毫米。随后如图二所示,为它们打八个螺丝孔并用螺丝将其固定牢。
Y轴:将另一个步进电机放在两块树脂玻璃上并用马克笔标明其详细位置,随后重复上面的步骤,在树脂玻璃上打四个孔以便用螺丝将其固定。随后将这两块树脂玻璃放在X轴那块较大的树脂玻璃上,接着重复上述步骤将其固定好。
完成装配:打好该打的眼,装好改装的螺丝,我们的装配就完成了。我在X轴那块树脂玻璃上安了一块金属板,它上面会放置便签纸供绘图机进行绘制。一般的便签纸都是75x75毫米的,但我们的绘图机只能绘出40x40毫米的图片,所以你要对其尺寸进行相应的修改。记住,这个项目中精度是非常重要的。

机械师 发表于 2015-12-22 12:08:06

第四步:Z轴
这恐怕是结构中最为复杂的部分了。想将它安装安装在Y轴上,你需要一个平面。在这个平面上,你要安装好伺服电机(Z轴)和笔架。在伺服电机的驱动下,绘图笔要能正常的上下移动。如果还是不太清楚,请参考上图进行理解。提示:充分发挥自己的想象力。

机械师 发表于 2015-12-22 12:09:07

第五步:电路
搞定了第四步,我们的基础硬件部分就制作完成了,现在可以开始制作电路并对X轴和Y轴的步进电机进行测试了。上图为面包板的电路图。完成这一步需要你的耐心。下一步中我们还会对X轴和Y轴的步进马达进行测试。如果它们工作不正常,你就要及时改变线路的连接方式。
电源:一个USB接口可无法提供足够的电流,所以你还得再加一根USB线。接上电源后,电压依然为5V,不过电流已经翻番了。
注意:如果你想用其他的硬件,如电机端罩或步进电机驱动电路等,就得对以上电路和Arduino代码进行修改。当然,具体的修改细节我无能为力,你可以在网上搜索相关教程。

机械师 发表于 2015-12-22 12:10:04

第六步:在X轴和Y轴测试步进电机
下面是我们测试X轴和Y轴的代码,你可以用Codebender将其嵌入Arduino开发板。Codebender是一个在线的Arduino IDE,你可以直接在浏览器上对你的Arduino开发板进行编程,只要点击"Run on Arduino"按钮就可以开始了,强烈推荐大家尝试。
X轴:在测试中,你得确保X轴的电机能从前方移动到后方(上图中黑色箭头)。代码下载
Y轴:在测试中,你得确保Y轴的电机能从左方移动到右方(上图中红色箭头)。代码下载

机械师 发表于 2015-12-22 12:11:17

第七步:数控代码

下面是我们要用到的主要的数控代码,你可以用Codebender将其嵌入Arduino开发板。在这一步中,你的绘图笔会升上来。如果它没反应,你得修改下penUp和penDown的变量,这样就可以对伺服电机进行调整(只需点击Edit编辑按钮)。点击“Run on Arduino”按钮就可以从浏览器上对你的开发板进行编程了。代码下载


机械师 发表于 2015-12-22 12:12:36

第八步:GCTRL程序

现在我们就可以开始绘制我们第一幅画作了。不过在这里我们还需要一个名为gctrl.pde的处理程序,它可以将gcode图片发送给数控绘图机。那么什么是gcode呢?其实它是一个文档,其中包含了相关的X,Y,Z轴坐标信息。头文件的坐标值设定如下:M300 S30.00(伺服电机向下)G1 X20.00 Y10.00 F2500.00M300 S50.00(伺服电机向上)你可以点击链接下载该处理程序,随后找到能打开它的相关软件并点击“Play”按钮来开启程序。依照上图的指示:点击'p' 并选择你的Arduino串行端口。点击'g'并选择'TEXT.gcode'或'gear.gcode'文档。(如果运行出错,请点击'x'让绘图机停下来,然后再试一次。)

机械师 发表于 2015-12-22 12:16:29

本帖最后由 机械师 于 2015-12-22 12:17 编辑

第九步:怎样制作自己的gcode文档
想要制作自己的gcode文档,你得使用Inkscape。Inkscape是一款免费的专业的高质量矢量图形软件,无论是Windows,Mac OS X还是Linux都可以顺利运行,它不但是专业设计师的最爱,还是业余爱好者的神器,你可以用该软件做出插图,图标,地图,标志等。Inkscape的原生格式为W3C open standard SVG,此外它还是一款开源软件。你可以点击链接下载该软件(记得要下载0.48.5版本)。下载完成后你需要安装一个附加组件,这样才能将输出的图片转为gcode文档。下面是该附加组件的下载链接,该软件有安装提示,上手无难度。

Inkscape的设置首先,打开Inkscape,进入文件菜单并点击"Document Properties",随后按照上图中图1的提示进行相关调整(记得将相关单位调为厘米)。设置好后就可以关闭该窗口了,下面我们要使用屏幕上4到8厘米的空白区域(如图2)。
怎样绘制文本文本方面,你可以对其朝向和大小进行修改。步骤:点击游标为文本设定大小(如图3所示),在面板上选择Path并在下拉菜单中点击"Object to Path"。请观看视频:视频地址:http://v.qq.com/page/s/n/l/s0176juupnl.htmlhttp://static.video.qq.com/TPout.swf?vid=s0176juupnl

怎样绘制图片这一步要比绘制文本难得多,因为图片的背景必须是透明的。将图片拖曳进Inkscape,点击OK进入下一个界面,现在你就可以调整图片尺寸了(如图4)。步骤:点击菜单中的Path,并选择"Trace Bitmap",随后按照图5 所示对其进行修改。搞定后点击OK并关闭窗口。接着我们要调整灰度图并删除其背景颜色。然后再次点击Path并选择"Object to path",图6会教你如何删除图像轮廓。请关看视频:视频地址:http://v.qq.com/page/d/4/9/d0176nu1q49.htmlhttp://static.video.qq.com/TPout.swf?vid=d0176nu1q49

以gcode文档格式进行输出最后,返回文件菜单,点击以gcode文档保存并在下一个界面点击OK,这样就大功告成了。随后你就可以开心的用gctrl应用在你的Arduino数控绘图机上绘图了。


页: [1] 2
查看完整版本: [转帖]旧DVD驱动器没用了?DIY一个Arduino Mini数控绘图机吧