自制一个Arduino绘图机器人

描述

在我们的生活中,艺术无处不在,即使是像机器人这样冰冷的工具,也能给我们带来很多艺术的乐趣。当我看到尤菲的视频时,我看到了绘画机器人的新可能性,很高兴看到他们把虚拟的东西变成了一个真实的实体,它可以自动拿着笔在纸或任何物体的表面上画画,以及平台绘图不仅限于水平面,您还可以在墙上尝试。

拉线墙绘机是一个非常早期的项目,但由于机器原因一直没有更好的解决方案。最近,我们针对步进电机支架和笔筒的问题,阐述了一个相当出色的解决方案。步进电机采用28byj,体积小,接线方便,程序简单,没有驱动、焊接、供电等问题,可以用Arduino直接供电。电机和主板集成了一个底座,两边都有一个绕线架,可以贴在任何墙上,画板的上角。

让我们开始吧,看看如何制作如此出色的项目!

机器人

第1步:物料清单

机器人

该项目由以下组件组成:

ArduinoUNOR3x2

电机支架x1

28BYJ-48步进电机驱动板x2

SG90伺服马达x2

微型SD卡适配器x1

Arduino传感器护罩x1

提笔舵机x1

线轴x2

吊带x1

跳线

笔x1

第2步:底座支架组装

机器人

机器人

第一步很简单,首先我们找到12个大头螺钉和12个黄铜柱,从后面拧入大头螺钉并固定所有黄铜柱

然后我们安装了电机驱动板,以便Arduino驱动步进电机。需要电机驱动板是因为Arduino的输出引脚不能直接为步进电机提供足够的功率,需要5V电源才能运行。

最后,将两个ArduinoUNO安装在黄铜柱上,最后用最小的螺丝将SD/TF读卡器固定在顶部。

第3步:步进电机支架组件

机器人

机器人

这一步有很多事情要做,但并不难,只是需要更多的耐心。电机安装有3个步骤:

1.安装电机

准备一个电机支架,将其断开,然后根据第二张图重新组装电路板。

向下,用螺丝固定立管手机,然后安装电机。

2.制作线轴

将电缆环系在电缆末端,将电缆拉入电源线背面的缝隙中,然后检查线轴周围的电缆。

在拉线的另一端,系上一根粗绳,可用于下一步的笔。然后盖板盖住支架板上的孔并安装到支架上的孔中。

使用螺丝孔将电机支架安装在绘图板或墙壁的末端,使其处于同一水平。

提醒:绕线时,记得顺时针绕左梭芯,逆时针绕右梭芯。

3.笔筒总成

首先,我们需要将需要安装的桶形笔折断,将大端的出口货螺丝通过口插入并拧紧。

在此之后,我们安装无人机。如图所示,安装后重心在正中,运行更平稳。

接下来,使用大端固定左右侧面板和轴切口。请记住,转动轴的螺钉不应拧紧。

确定笔的位置后,用绳子系好。在调整笔的位置时,非常适合让笔尖触摸的极致绘图质量。尽可能握住笔架。

至此,电机支架就完成了。

第4步:连接

机器人

为了插上舵机设备,我们将屏蔽板插在UNO上,注意将屏蔽板引脚对准UNO的接线孔。

1.拉线步进电机M1、M2:四根信号线in1、in2、in3、in4分别对应Arduino2、3、5、6,另一边分别对应7、8、9、10。电源线连接到+的VCC和-的GND。步进电机控制板有专用线连接电机,防假插不会错。

2.提笔舵机可接13。舵机线为棕色GND,红色VCC,黄色为信号。如果您使用SD读卡器,则可以连接到A0端口。

备注:

(可选)TF、SD读卡器:CS接4,MoSi接11,miso接12,SCK接13#,(如果提笔舵机从13换成A0等其他端口,程序也需要做相应的更改。见程序注释。)VCC为+,GND为-(G和V可以接屏蔽板的任意一组G和V接口),3.3V不接(VCC,5V,+指电源正极。G、GND、-均为负极)

SD或TF读卡模块不支持SDXC以上标准卡,请选择比较老的小容量卡,会有更好的性能兼容性。一般16g及以下的卡都是FAT32格式,不是NTFS或exFAT格式,可以使用。一些TF转SD卡持有人也可能存在不兼容问题。如果只有TF卡可用,推荐使用TF读卡器模块。

第5步:编程

机器人

我们会为您提供相应的代码,但仍有部分代码需要根据您的实际大小进行修改,需要修改的部分代码如下。

1、首先运行2Steper.ino,这个程序的作用是让步进电机工作并画出摆图,比较简单,只要调整转数改变图案即可。位置可能会差很多,直接运行程序时,摆臂可能会转到完全不相关的位置,很麻烦。

2.主程序是WallDrawDemo.ino,会画几个图案进行测试。先不要装笔(线架可以挂在笔架上),运行程序,让笔架空运行一会,看是否运行范围,是否在纸张范围内。如果超过了,参数还是需要调整的,几个参数的具体功效见程序说明几个参数的作用在程序说明中有说明。

3.下一步是将我们的代码上传到Arduino板,代码可以在这个instructable的底部找到,请确保您在ArduinoIDE中选择ArduinoUno,用于您使用的设备(ArduinoUno)。

如果您不熟悉Arduino,请按照以下步骤操作:

通过USB将您的Arduino板连接到您的计算机

打开ArduinoIDE(如果没有,请务必从他们的官方网站下载)

打开我们在Instructable页面底部提供的项目

在ArduinoIDE顶部选择“Tools》Board》ArduinoUno”,选择板子对应的端口号COM((无法识别的设备请安装Ch340驱动)

单击V符号以验证代码,然后在其旁边的向右箭头按钮推送代码!

2Steper.ino

WallDrawDemo.ino

第6步:上传您想要的图片

机器人

机器人

机器人

机器人

当您完成前面的步骤调试后,您可以上传自己想要的图像进行绘图。

如何上传你的图片?

不能画任何照片,只能画矢量图。幸运的是,有些照片可以通过软件转换成矢量图。(您可以使用Coreldraw、Inkscape和许多其他软件处理)或先尝试简单的矢量图。

1.矢量图要转成gcode文件。Gcode是一个文本文件,可以用手写板打开和编辑。在使用它之前,您可以浏览gcode中的值,这些值以实际毫米为单位,如果有成千上万的值可能会导致步进电机在停止前转几个小时,这是灾难性的。具体gcode规则和使用网上很多,大家可以自行学习。

2.Gcode文件保存在内存卡中,Arduino从卡中读取文件,将位置坐标解析成步进电机的动作,拉动绳子带动笔画。(包中的WallDraw.ino程序可以执行此步骤)

特别提示:

内存卡最好是fat32格式,ntfs格式的文件可能无法读取,尤其是32G以上容量的卡。

Gcode文件的文件名要和程序中定义的一样,一般是“1.nc”,如果不同,请改成同名。

然后需要在Arduino中刷WallDrawGCode程序。使用USB数据线连接您的计算机和Arduino,然后在您的计算机上打开CNCjs。

首先,使用XLoad将编译好的BIN文件刷入Arduino

在XLoad中打开我们提供给您的WallDrawGCode.ino.standard.hex文件,Device选择Uno,端口选择COM,波特率选择115200(无法识别的设备请安装Ch340驱动)

最后点击Upload按钮,状态栏会显示Uploading.。。提示,成功后关闭。

将程序上传到Arduino后,在电脑端安装CNCjs应用程序,选择Grbl,搜索后会自动显示端口号,波特率选择115200,打开并建立连接。

正常连接后,控制台会显示如下内容。并且有OK提示。

您可以通过在提示后输入一个简单的GCode来测试它。

G01x0y0z0//落笔

G01Z1//提笔

如果测试OK,就可以打开GCode文件开始绘图了!

第7步:结论

机器人

机器人

在制作的过程中我们也遇到了很多问题:

1.第一个重要的一点是固定笔在上面只能露出一点笔架,不要伸出一半笔,这样会导致抬不起来。

2.如果您的舵柄摆臂一直在向上移动,则不能抬起笔筒。简单的解决办法是把伺服臂取下来,换成可以抬起笔架的,然后装在伺服主轴上。或者在程序中调整舵机的参数,让舵机改变旋转角度。请勿带电转动舵机,否则会损坏舵机。

3.另外,绘制的图像严重失真。解决方法是先确认方向是否正常。如果用Walldrawdemo的程序测试,九纹在上,桃心在左下,蝴蝶曲线在右下。如果方向不对,先参考上一题,修改方向。大多数情况下,变形是由于方向不对,所以尺寸不对。如果方向正确,x轴测量的尺寸不会出现太大的误差,也不会出现严重的变形。

4.注意如果电机阀芯狂转,拉线是不正常的。

5.另外一种情况是,如果你是用GCode作图,可能是GCode中的尺寸相对于画板尺寸来说太大了,所以即使笔筒撞到了电机座,线轴也会不停地转动,或线轴完全松开后仍在旋转。检查GCode中是否有非常大的值,例如G01X7777Y6666或一些此类代码。

6.最后一点,画板很小,比如间距只有150mm,但是gcode超过了画板的大小(比如使用了A3大小的文件),计算出来的值会溢出,电机将继续选择旋转。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分