分享

用废旧光驱制做迷你绘图仪

 昵称30364660 2017-07-21

引言

首先声明,本文的创意来自于网络,有兴趣的可以点击文章下方的“阅读原文”查看英文原版。但本文对原版设计进行了改动,更方便大家进行制做。在动手之前,让我们一起来欣赏一下这台绘图仪的作品吧。

是不是有了创作的冲动?

那就跟随小丁踏入CNC的世界吧!

什么,你不知道CNC?

CNC英文全称叫Computerized Numerical Control,也就是“电脑数值控制”的意思,当年苹果手机就曾以CNC加工作为卖点,可时过境迁,这旧时王谢燕,也飞入咱寻常百姓家!

今天小丁要做的就是一台迷你CNC绘图仪!

本文用的的材料包括以下主要部件:

1. Arduino uno开发版一块

2. L293D扩展板一块

3. 舵机一只

4.废旧光驱两只

5. 导线若干

至于支架及固定,木头边角料+热熔胶枪是不错的选择。小丁这里先用了一些亚克力材料,据说能更美观些。

1. 拆解光驱

普通光驱的激光头移动是通过步进电机来完成的,探头移动的距离只有4cm左右,这也限制了我们的绘图仪最大只能画4*4 cm大小的图。虽然不同品牌的光驱结构有所不同,但都大同小异,尽量拆除无用的部件,只留下步进电机、导轨、移动架等必需件。

*早期有些光驱也有不用步进电机的,碰到只好另找一台了。

用胶水在滑块上粘一块平板,就是绘图平台了:

展开剩余99%

2. 测试步进电机

步进电机有四根引线,应该是两相四拍电机。可以参照下图把杜邦线剪去一头进行焊接,这样看上去会比较齐整。

由于电机没有具体参数,需要我们自己摸索。按上图对这接脚进行编号,用万用表测量电阻,发现1、2导通,3、4导通,电阻值都是14.5欧左右,其余两两均不导通。尽管不同电机排序可能不一样,但只要记住哪两根线是一组就行了。

为了测试步进电机参数,把四接脚分别接到arduino四个输出端口,按下表中从左到右的顺序通以高低电平(+代表高电平、-代表低电平),重复循环这四步则电机将按一个方向连续转动起来。将1和2对换接线,则转动方向相反(对换3、4接线效果相同)。

1

+

-

-

-

2

-

-

+

-

3

-

+

-

-

4

-

-

-

+

延长上面每步之间的时间间隔,这样可以数出电机转动一周的步数,这应该是4的整数倍。我们所用的光驱电机是20步/圈,这是一个重要参数。

3. 起落笔的控制

舵机是一只能在0度到180度之间转动的电机,里面由多组齿轮进行减速,所以力气(力矩)还蛮大的,可以用来控制绘图笔的起落。关于起落笔的控制装置,则只能是“八仙过海”,看各位各显神通了。

小丁也把自己的装置放上来,给大家一个参考。这里首先制做一个杠杆装置:

然后把它固定到垂直的移动台上

把舵机放在后面,撬动杠杆一端,另一端就把笔给提起来或者放下了。

这个装置的关键之处在于笔尖在移动过程中不能存在虚位,即落笔后笔尖永远只能在一个位置,不能前后左右晃动。我们这里巧妙地利用中性笔的笔芯和外壳水平位置相对固定、而上下可以移动,实现了笔尖的精准定位,这样笔芯用完也容易更换:

4. 连线

由于使用了L293D扩展板,我们的连线变得很简单整洁。

i)把L293D扩展板安装在arduino开发板上,它们是配套的,插脚对准了一扣就行。

ii)把步进电机引线接在扩展板的四个电机输出端,在电路板上分别标着M1、M2、M3和M4,它们是两两在一起的,中间夹着一个接地的端口。把X轴的步进电机引线接到M1和M2,其中导通的两根引线接同一个M端口;同理把Y轴的电机接在M3和M4上。

iii)把舵机线接在扩展板一角标有SER1或SERVO_2的针脚上,记住SER1对应的是开发板上的D10脚,SERVO_2对应D9脚,到时在程序中要修改这个参数。

iv)电源线连接。通常只有usb线供电是带不动电机的,这时候就要用到额外的电源。如下图,在开发板上有一圆孔的电源接口,理论上需接7-12V的电源,这时usb端口将不负责供电。如果把这个电源端接在电脑的另一usb口上,也会增强电流输入。但如果电流还是不够,这时就需要使用另外的电源适配器或电池组了。

软件部分相对比较复杂,不过好在小丁已经给大家准备好了“CNC大礼包”,里面不仅有所需的所有软件,相关软件文件夹中均附有使用说明,还有使用的视频指导。复制下面百度盘链接,选择在浏览器中打开:

https://pan.baidu.com/s/1mia8FrU

如果链接失效,请在“无线电实验室”公众号对话框中回复“绘图仪”,将会给你发送最新的链接。

5. arduino程序调试

使用扩展板有专门的库文件,需要导入到arduino库文件夹中,在“CNC大礼包”中找到“L293d扩展板库文件.rar”,下载并解压,把文件夹“AFMotor”拷到电脑arduino的库文件夹libraries中,win7典型的位置处于“文档”下的arduinolibraries。

在“CNC大礼包”中找到文件夹“Mini_CNC_Arduino_Plotter”,里面是写入arduino的程序代码和需要修改的参数说明文档。用arduino编译器打开代码,修改相应参数后写入到开发板中。注意选择正确的串口端口:

打开编译器的串口通讯界面,选择回车结尾,此时你就可以输入命令了,不分大小写。

通电前电机的起始位置被认为是(0,0),如输入

G1 X20 Y20

则笔会移动到(20,20)的坐标点,单位(mm),再输入

G1 X30

则笔从当前位置移动到(30,?),Y轴保持不变,再输入

G1 Y35

则笔从当前位置移动到(?,35),X轴保持不变。

如果要提笔,则输入

M300 S50

如果要落笔,则输入

M300 S30

以上就是我们调试所要的全部命令,首先通过移动X轴或Y轴来确定步进电机移动方向,如果方向反了,就把相应电机上其中一对引线互换。其次要确定提笔和落笔位置对应的舵机转动角度,通过反复测试调整到最佳角度。

6. 准备图像文件

gcode文件是专门用于绘图坐标命令文件,但并不是任意该格式的文件都能用于我们的绘图仪。好在小丁已经为大家量身定制了这一套软件,而且是绿色版的,你只要下载“CNC大礼包”里的Inkscape.rar,在本地电脑解压缩就可以使用了。关于使用方法,里有详细视频教程,不怕你学不会哦。

通过该软件,我们就能得到后缀名为gcode的文本文档了。

7. 与开发板的串口通信

上面得到的gcode文档需要通过串口通信传输到arduino开发板中,这里用到一个小程序。在“CNC大礼包”中找到“gctrl4windows.rar”下载并解压,里面有使用说明。

通过该程序,gcode文档里的命令就一条一条发送到绘图仪。

最后来个全身照:

下面通过一段绘图仪工作视频来一睹它的风彩

疑难解答

如果你发现画出的图像出现杂乱,那么画完后笔通常回不到原点,这是因为笔在作图过程中“滑丝”了。如果不是机械故障导致电机在某个方向上卡住了,那么就是电源的电流不足、步进电机带不动所致。此时你需要采用输出电流更大的电源来带动电机。

由于电机功率较大,工作时间久了L293D扩展板上的芯片会发烫,所以也要做好散热。简单的做法是在芯片上面放几枚硬币。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多