李云飞 蒋永康 徐佳
摘要:智能写字机器人系统由Arduino单片机、步进电机、驱动扩展板、舵机、支架等组成,通过计算机软件将输入的文本信息或者图片信息转换成包含坐标数据的G代码形式,再通过数据串口下发送给Arduino主控制器,Arduino主控制器再通过步进电机控制同步带的转动从而使笔架部位X,Y轴平面移动,来实现写字或绘图功能,同时经过简单的改装也可以实现平面微型雕刻机的功能。
关键词:智能写字机器人;Arduino单片机;步进电机;舵机;精准控制
1引言
机器人写作的“先行者”出现在240年前。当时生产的书写机器人是通过凸轮和发条来实现的,没有使用计算机,单芯片计算机等。通过在凸轮之间移动,可以实现书写操作,并且通过改变凸轮的组合,可以实现具有不同字体的书本。在21世纪的今天随着物联网及智能硬件的快速崛起,智能写字机器人的技术开始走进了人们的生活,作是一个人日常生活中必不可少的技能。写作中使用机器人是研究和应用的新领域。写字机器人不仅可以代替人类来完成写作任务,而且在教学机器人,研究和科普展览中也发挥着重要作用。本次设计主要是基于单片机制作的写字机器人。硬件系统的总体控制部分是用到了现如今主流的Arduino单片机, Arduino作为被广泛应用的一款单片机控制器,经常被用于书写绘画,激光雕刻,医学等类型的机器人设计中。本文所述的智能写字机器不仅人是为了希望有一天智能写字机器人能够代替人工,解放人们的双手,更是为了让更多对于单片机的爱好者能够从中学习,从中汲取知识和经验,为智能机器人领域的研究做出更多的贡献。
2系统设计
本设计中智能写字机器人的主要有个人计算机、主控模块、驱动模块、传动模块、12V电源。其中个人计算机作为本系统设计中上位机存在,其余部分作为下位机。通过上位机的个人计算机中的软件,将文本信息或图片信息转化成为含有坐标信息的G代码形式,再通过串口下发给下位机的主控模块,主控模块将控制信息发送至驱动模块,使传动模块中步进电机转动并带动同步带运动,令笔架部位在X,Y轴平面上移动,使其能够完成写字绘图功能。如图1
所示。
3硬件设计
本设计中共有主控模块、驱动模块、传动模块、12V电源 4个模块,其中主控模块作为本系统设计中核心部分,驱动模块、传动模块作为辅助部分,12V电源作为整个系统中的动力来源。
3.1主控模块
主控模块选用Arduino单片机作为主要控制器。欧洲开发团队开发的Arduino是一款由方便好用、容易上手的单板微控制器。Arduino具有良好的可扩展性与广泛且丰富的开源库,Atmega328是其主要的核心处理器,具有14路数据交换接口。Arduino单片机的中央处理器支持32位运算,不仅功能强大,还容易使用。可以与电机控制板属性互相不冲突,可以让电路更加方便简单,反应更加灵敏,相同价格的单片机相比更好性能的使用,性价比较高。
Arduino单片机在性能上可以满足本次系统设计的需求,而且也在以前的实践中接触过,且Arduino单片机也比较容易上手,开源的软硬件使得资料更加丰富,可以更好地进行设计。所以经过综合考虑决定选用Arduino单片机作为本次设计的主控芯片。便于写字机器人能精确完成写字任务。电路原理图如2图所示。
3.2驱动模块
驱动模块是采用CNC Shield V3.0作为驱动扩展板,主控模块为其提供一个5V 的直流电电压,使其最多同时驱动四路步进电机,本次设计只需搭配2个A4988步进电机驱动模块就可以方便快捷的满足所需要的驱动功能。其中A4988步进电机驱动模块可以通过调节其MS1、MS2、MS3引脚的电平高低选择步进电机的FULL、HALF、QUARTER、EIGHTH、SIXTEENTH等5种模式。驱动模块电路原理图如图3所示。
3.3传动模块
传动模块是由金属杆、同步带、2个步进电机、舵机、笔架等构成。整体结构是由多根金属杆组成的主要框架,配合作为主要传动器件的同步带与步进电机,控制整体平面结构的移动。其中,同步带需要环绕整个框架,步进电机位于X轴的左右倆侧。舵机安装在Y轴一侧,笔架通过上下板与支撑板固定在舵机上,舵机由扩展板直接控制,实现抬笔与落笔。本系统设计对笔的选择没有太多的要求,只要笔的直径小于笔架的直径,使其插入笔架固定即可,像圆珠笔、马克笔、签字笔、钢笔等(各种粗细的笔尖)。整体框架如图4所示。
4软件设计
一个电子产品的设计过程中,除了要有硬件设计以外,还有软件的设计支撑。软件设计的程序好坏,对整个产品的质量有着很大的影响。要根据电子产品的要实现的功能对他进行一定的程序撰写,在对程序进行调试,最后烧录到主控器中,以此来预期结果。本设计的软件部分采用的开发环境是Arduino特有的IDE,它的风格极其简单,而且还有很多的库文件,这都是因为它的开源特点。
4.1主控制器的固件选择
Grbl是一个开源的,同时具有高性能并且可以用较低的成本替代并行端口为基础的数字控制运动固件。Grbl的编写语言是C语言,它的源码本身经过了高度优化,能够很好的运行在Arduino控制器上。Grbl不单是利用AVR芯片实现了精准的定时和异步操作,同时还可以持续保持在30kHz的频率稳定的输出无抖动控制脉冲信号。它接受并兼容标准的G代码,绝大部分主要的G代码功能命令都可以很好的进行兼容,而且完备的支持了弧线,圆圈和螺旋等运动模式,可以很好的帮助本设计实现书写、绘画的功能。
4.2文本文字书写与绘画功能的实现
文字书写、绘画功能实现的具体方式,是通过个人计算机作为上位机将文字文本转换成G代码通过通信串口下发至下位机去完成全部的书写流程。为了实现智能写字机器人的主要书写以及绘图功能,本设计通过复制现有的计算机字符集,来获取有关汉字的信息。在复制计算机字体时,通常的做法是将汉字信息转换为笔画信息的坐标,检查最终结果的轨迹,然后完成文本或者图画的书写与绘制。
首先,在作为上位机的个人计算机中通过Inkscape矢量图形编辑工具将文本或图形经过文本图像预处理、灰度化、二值化后转化成为.nc格式的坐标文件再转化为包含坐标信息以及运动轨迹的G代码下发传输至下位机以控制步进电机的运动。
下位机中的Arduino单片机需要将Grbl固件烧录提前烧录,在固件安装完成后Arduino单片机便可以将G-代码解析编译。当作为主控面板Arduino单片机具有解析编译G代码的能力后,便可以使其可以通过步进电机驱动板分别控制X轴、Y轴步进电机进行直线轨迹运动、圆弧轨迹运动等运动方式,并且可以控制固定记号笔部位电机完成起笔、落笔的动作,使得本设计实现书写和绘画功能。软件流程图如图5所示。
5文字书写和绘画功能测试
将写字机器人的主控制器Arduino单片机通过传输线与个人计算机进行连接。并且将提前将准备好的坐标文件传输至主控制器,Arduino单片机在收到控制信息后,驱动步进电机运动以完成文本文字书写与绘画功能的实现。在对各种功能模式的测试中,智能写字机器人在运动过程中表现良好,图6、图7分别为文本文字书写和绘画功能,最后的运行成果图。如图所示。
6结语
本次设计中写字机器人其拥有硬件设备安装简单,价格成本低,结构整齐的特点。书写绘图功能准确的实现是将所要书写的文字、图片信息通过Inkscape软件生成所写文字、图片坐标信息,再通过个人计算机充当上位机,将转换为G代码的控制信息通过串口下发给下位机控制器,然后再由步进电机和舵机驱动X,Y轴传送皮带进行运动,使写字机器人完成书写或者绘画过程。该写字人写字尺寸能够根据纸张大小以及书写需求进行调节,而且落笔是可以通过上位机进行独立控制的。同时书写绘画是每个人生活中必不可少的生活技能,更是有些人们每日生活的必须工作,随着物联网技术的广泛应用,得益于本设计中主控制器Arduino单片机的价格低廉,性价比高,可扩展性强等优点,这种写字机器人可以帮助从事机械性书写工作的人们解放双手,提高效率,不仅如此,在未来可以通过对其的改装将书写用的笔头改为刀头或激光器还可以实现精准的平面雕刻,所以其也可以被广泛地应用在大学的课堂中以及科学研究中。
参考文献:
[1]王俊杰.基于Arduino和数字识别的机械臂书写数字技术研究[D].北京工业大学.2014(06)
[2]李娅菲.基于Arduino的素描机器人设计[J].办公自动化.2017(12)
[3]陈玉敏,谢玮,孟宪民,杨东岳.智能写字机器人设计[J].计算机测量与控制.2016(1)
[4]高明華,杨云秀,许丽金,肖佳豪,朱琳.基于Arduino的书画机械手臂设计[J].实验室研究与探索.2018(6)
[5]刘子奇,赵俊鹏,柳祥,等基于Arduino的激光雕刻机研究[J]山东化工,2021,50(13):137-139
课题:智能写字机器人 大学生创新创业训练计划 S202113207021