arduino串口绘图_一起打造一款光驱迷你绘图仪

本文介绍了如何使用Arduino uno和废旧光驱自制一台迷你CNC绘图仪。通过拆解光驱、测试步进电机、控制舵机实现起落笔、连线和调试,最后介绍如何准备图像文件并进行串口通信。动手能力强的读者可以通过此教程打造自己的小型绘图设备。
摘要由CSDN通过智能技术生成

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

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

1. Arduino uno开发版一块

2. L293D扩展板一块

3. 舵机一只

4.废旧光驱两只

5. 导线若干

e8bf64407e4c87dba1984c983e928a80.png

1. 拆解光驱

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

56c317347df903a0e525f186b3dbf8e3.png

2. 测试步进电机

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

7bfd1fa5582e0f8499217243bad90c6c.png

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

3. 起落笔的控制

舵机可以用来控制绘图笔的起落。关于起落笔的控制装置,则只能是“八仙过海”,看各位各显神通了。给大家一个参考。这里首先制做一个杠杆装置:

0436940c197f4444b3fa544a3ec701a6.png

然后把它固定到垂直的移动台上,把舵机放在后面,撬动杠杆一端,另一端就把笔给提起来或者放下了。

5f2dab1a5dab2fab0b45d65d450b73a2.png

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

4. 连线

fb6b281521b0bbcafb694b73e05a905d.png
07fa70e622e37f98cede30801c483b22.png

把舵机线接在扩展板一角标有SER1或SERVO_2的针脚上,记住SER1对应的是开发板上的D10脚,SERVO_2对应D9脚,到时在程序中要修改这个参数。电源线连接。通常只有usb线供电是带不动电机的,这时候就要用到额外的电源。如下图,在开发板上有一圆孔的电源接口,理论上需接7-12V的电源,这时usb端口将不负责供电。如果把这个电源端接在电脑的另一usb口上,也会增强电流输入。但如果电流还是不够,这时就需要使用另外的电源适配器或电池组了。

软件部分相对比较复杂,需要的同学留邮箱。

5.调试

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

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

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

4b3f16c53d4d4b0d7db49918d3549c7a.png

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

G1 X20 Y20

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

G1 X30

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

G1 Y35

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

如果要提笔,则输入

M300 S50

如果要落笔,则输入

M300 S30

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

6. 准备图像文件

gcode文件是专门用于绘图坐标命令文件,但并不是任意该格式的文件都能用于我们的绘图仪“网盘文件”里的Inkscape.rar,在本地电脑解压缩就可以使用了。关于使用方法,里有详细视频教程。通过该软件,我们就能得到后缀名为gcode的文本文档了。

a47f2d6d1f3714b9598b65f3f7bc9511.png

7. 与开发板的串口通信

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

9102cc89ce69ac5a1964765bca8cf424.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值