CHNJET喷气俱乐部

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 9316|回复: 10

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

[复制链接]
发表于 2015-12-22 11:53:33 | 显示全部楼层 |阅读模式
欢迎大家在B站关注CHNJET

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

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

作者:老吕IO


在这个教程中,我会告诉你怎么快速制作属于自己的廉价Arduino Mini数控绘图机。图中这台绘图机是改进版,我对原有绘图机的结构和准确度都进行了一定的提升。好好阅读这篇文章,相信你也能轻松搞定自己的Arduino Mini绘图机。
566faf764e867.jpg
566faf77f3a96.jpg

简述:
在X轴和Y轴上,我们要用到两个步进电机和DVD/CD驱动器上的滑轨。在Z轴上,我们也会用到一个小型的伺服电机,用来驱动绘图笔上下移动。在安装基座上,我们则会用到树脂玻璃。
我本想将它搞成雕刻机和绘图机的两用版本,但经过了数次实验,我发现这台机器只能挂载绘图笔,有些可惜了。
基于Arduino开发板的电路使用了ATmega328单片机,2块L293D集成电路驱动器和USB串行适配器。用Arduino Uno开发板和一块面包板就能轻松搞定这一切。
想要打印你的绘图作品?只要加装一个蓝牙模块就好。
下面是数控绘图机的演示视频:
楼主热帖
回复

使用道具 举报

 楼主| 发表于 2015-12-22 12:04:29 | 显示全部楼层
第一步:所需材料
提示:不懂的部分可以参考图片。

各部分硬件都购自www.gearbest.com,不过相信在万能的淘宝也可以买齐。

制作电路时你需要:
566faf787745c.jpg

新手清单:
Arduino uno
面包板
2台L293D 集成电路电机驱动器
迷你伺服电机
2个DVD或CD驱动器
566faf78e8c6c.jpg
566faf7971221.jpg

老鸟清单:
ATmega328p(刷入Arduino的Bootloader)
28针的DIP集成电路插座
16MHz晶体振荡器
2块22pF和1块100nF的电容
10k的电阻器
USB串行适配器
2块L293D集成电路
迷你伺服电机
2个DVD或CD驱动器
原型PCB电路板
4个两针的螺丝端子接头或2个四针的螺丝端子接头
566faf7a19e39.jpg
你还需要一台Arduino UNO来为ATmega328单片机编程。
有了USB串行适配器,就可以像Arduino Uno那样连接电脑和电路板了。
为什么还要用到螺丝端子接头呢?因为在找到正确的组合前我们不愿轻易使用烙铁,要不然焊错了可就麻烦了。

制作安装基座时你需要:
为X轴准备一块20x16厘米的树脂玻璃(厚度控制在5毫米左右)。
为Y轴准备两块14x4厘米的树脂玻璃(厚度同上)。
约20个螺母、螺钉和垫片。
一些垫圈。
四个支撑角(最好为塑料材质)
如果没有树脂玻璃,你也可以用木头,金属或者CD和DVD驱动器的边角料。

工具:
566faf7a884f1.jpg
螺丝刀
烙铁
焊料
电钻
切割工具
强力胶

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-22 12:05:45 | 显示全部楼层
第二步:步进电机

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

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-22 12:07:14 | 显示全部楼层
第三步:安装基座,X轴和Y轴
X轴:
先将一个步进电机放在一块较大的树脂玻璃上,随后用马克笔标出其具体位置,以便随后为螺丝打孔。请一定确保其位置精确无误,然后就可用电钻打孔并用螺丝将电机固定紧。
566fb3736f359.jpg
566fb3736e686.jpg
下一步就轮到我们准备好的四个支撑角了,为它们找好位置并用马克笔标注,它们之间的间隔为5毫米。随后如图二所示,为它们打八个螺丝孔并用螺丝将其固定牢。

Y轴:
将另一个步进电机放在两块树脂玻璃上并用马克笔标明其详细位置,随后重复上面的步骤,在树脂玻璃上打四个孔以便用螺丝将其固定。
566fb3736edf6.jpg
566fb37366e0c.jpg
随后将这两块树脂玻璃放在X轴那块较大的树脂玻璃上,接着重复上述步骤将其固定好。

完成装配:
打好该打的眼,装好改装的螺丝,我们的装配就完成了。我在X轴那块树脂玻璃上安了一块金属板,它上面会放置便签纸供绘图机进行绘制。一般的便签纸都是75x75毫米的,但我们的绘图机只能绘出40x40毫米的图片,所以你要对其尺寸进行相应的修改。记住,这个项目中精度是非常重要的。


回复 支持 反对

使用道具 举报

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


回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-22 12:09:07 | 显示全部楼层
第五步:电路
搞定了第四步,我们的基础硬件部分就制作完成了,现在可以开始制作电路并对X轴和Y轴的步进电机进行测试了。
566fb3da532c7.jpg
上图为面包板的电路图。
完成这一步需要你的耐心。下一步中我们还会对X轴和Y轴的步进马达进行测试。如果它们工作不正常,你就要及时改变线路的连接方式。

电源:
一个USB接口可无法提供足够的电流,所以你还得再加一根USB线。接上电源后,电压依然为5V,不过电流已经翻番了。
566fb3ff837a2.jpg

注意:
如果你想用其他的硬件,如电机端罩或步进电机驱动电路等,就得对以上电路和Arduino代码进行修改。当然,具体的修改细节我无能为力,你可以在网上搜索相关教程。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-22 12:10:04 | 显示全部楼层
第六步:在X轴和Y轴测试步进电机
下面是我们测试X轴和Y轴的代码,你可以用Codebender将其嵌入Arduino开发板。
566fb4979c923.jpg
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程序

566fb5439697e.jpg
现在我们就可以开始绘制我们第一幅画作了。不过在这里我们还需要一个名为gctrl.pde的处理程序,它可以将gcode图片发送给数控绘图机。
那么什么是gcode呢?其实它是一个文档,其中包含了相关的X,Y,Z轴坐标信息。头文件的坐标值设定如下:
M300 S30.00(伺服电机向下)
G1 X20.00 Y10.00 F2500.00
M300 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文档。下面是该附加组件的下载链接,该软件有安装提示,上手无难度。

566fb568a4b9f.jpg
566fb5689f6ec.jpg
566fb568a4589.jpg
566fb5689e970.jpg
566fb568a4318.jpg
566fb5690850c.jpg
566fb568a71aa.jpg
566fb61d40e20.jpg

Inkscape的设置
首先,打开Inkscape,进入文件菜单并点击"Document Properties",随后按照上图中图1的提示进行相关调整(记得将相关单位调为厘米)。设置好后就可以关闭该窗口了,下面我们要使用屏幕上4到8厘米的空白区域(如图2)。

怎样绘制文本
文本方面,你可以对其朝向和大小进行修改。步骤:点击游标为文本设定大小(如图3所示),在面板上选择Path并在下拉菜单中点击"Object to Path"。
请观看视频:


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


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



回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 19:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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