写字机器人制作教程2.0

写字机器人制作教程2.0

在一年前发布了写字机器人1.0,做的比较low,疫情期间在家重新建模,升级了2.0

点击前往写字机器人1.0
文件下载请前往文章末尾。
效果图如下:
写字机器人
视频教程

0基础制作写字机器人

详细教程如下:

一、材料清单。
1.需购买材料;(图中部分材料买贵了,预算大概在200左右)
在这里插入图片描述

在这里插入图片描述

2.需打印框架;(文末下载链接)
3.所有零件展示:
所有材料

二、开始组装。

1.组装笔架及测试,按照视频组装,在控制电路下载过程序的基础上,控制笔架运动;
2.组装电机坐及电路盒,电路盒固定在一个电机坐侧面,也可不固定电路盒;在这里插入图片描述

3.中心块组装,安装8个直线轴承,以及4个惰轮,用螺栓螺母固定;
5.把电机坐、中心块、丝杆、光杆按照图示组装起来;在这里插入图片描述

6.按照图片安装同步带并固定;
在这里插入图片描述
7.安装笔架;
8.组装控制电路。
①CNC shield 与Aaduino组装、A4988驱动芯安装、短接片位置;
在这里插入图片描述
②舵机接线在这里插入图片描述

三、向控制电路下载驱动程序。
1.下载安装arduino IDE,安装驱动程序 grbl-servo-master.zip库(视频可见);
2.选择芯片类型、及端口号,端口号可在电脑管理的硬件管理中找到;
3.编译,上传,上传成功会有提示。

四、写字测试。
1.电脑打开写字软件(网上很多,有破解的和收费的),选择端口号(同arduino IDE中上传端口)、波特率115200、然后连接;
2.根据写字机电脑控制软件不同,需要对相应参数进行设置,
①知道自己步进电机的步距角,传动齿轮齿数、同步带齿距,计算 X、Y轴每毫米多少步,修改并保存;
②调整舵机相关参数,修改并保存;、
3.调整X、Y轴方向,与笔运动方向相适应;
3.输入文字调整格式,开始书写。

五、各种踩过的坑!
1.步进电机要买D轴的,圆轴的一时固定住了,没多久会松;
2.直线轴承一共是10个,8个 LM8UU 直线轴承,2个LM6UU 直线轴承;
3.同步带在选择时要2米,一定要买2米,和店家沟通好;
4.步进电机线最短80cm,一共两根,要有接线端子的;
5.CNC SHIELD 扩展板要一根圆孔电源接线端子;
6.螺丝螺母多买一些,可能会突然消失;

六、遇到的各种问题(你遇到其它问题可在评论区补充)

在写字机器人1.0里已经解决了许多问题,点击前往。

1.arduino 板子无法下载程序,并驱动舵机,
原因:板子买错了,选贴片版的吧,还便宜些。
2.驱动舵机过程中,舵机只运行一次,再无法响应,重启又再运行一次;
原因:①检查接线,有无接触不良;②arduino板子有问题,换板子;
3.写字过程中写一半定在那儿不动了,始终无法写完;
原因:①(笔未抬起)笔架传动螺杆滑块部分阻力太大,打磨光滑,涂润滑油;②步进电机驱动电压太低,调节A4988驱动芯片上的滑动变阻器调节;
4.步进电机振动、发热(80℃一下均为正常);
原因:步进电机驱动电压、电流过低或过高,调节A4988驱动芯片上的滑动变阻器调节;

七、一些建议:
1.经济允许下选精度高一点的直线轴承;
2.不要做的过大,机器越大精度越低;

相关下载:
1.3D打印文件;
2. grbl-servo-master.zip库文件;
3. arduino IDE 可去官网下载最新版;
4. 写字机上位机公众号获取。

有兴趣关注一下公众号“电子玩家营地”在这上边消息容易回复些。
3D打印文件回复“ 3D打印文件”
库文件回复“库文件 ”

在这里插入图片描述

【RT-Thread作品秀】写字机器人作者:乔城阳 概述(说明应用产生的背景、实现功能)写字机器人在实际生产线上由于效率赶不上打印机,应用不是很广,然而由于其结构简单,成本低,并且符合人手写风格,在学习阶段很有价值。写字机器人设计上包含了路径规划、直线插补、加减速控制等常用电机运动控制算法,在软件上也会用到DXF文件解析、openCV图像处理等G代码生成工具,对后期深入研究激光切割机、雕刻机、3D打印机等大型设备有很好的铺垫作用。因此我的作品以写字机器人为题目分享我的制作过程和学习体验,希望对各位小伙伴的学习有所帮助。 开发环境(所采用的软、硬件方案)硬件:ART-PI、arduino、TM4C123GXL RT-Thread版本:3.14 开发工具及版本:MDK-ARM5.31、VSCode RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)内核部分:线程调度,资源分配、同步通信、设备驱动框架 组件:DFS文件系统、UART串行异步通信、CAN通信 其他:UDP通信、cJSON编解码 硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说)在写字机器人设计上我将其分为三个部分: 图像处理模块 运动控制模块 G代码生成模块 图像处理模块负责把文本图像和照片等图像文件做预处理,去除杂点,然后以合适的算法将图像二值化,突现主要信息,然后提取轮廓骨架以适合机器书写。 G代码生成模块将图像轮廓序列化后进行路径规划,选取一个适合的加工精度,然后按数控加工常用的G代码规范生成NC加工文件。另外对于标准的DXF文件则通过文件解析的方法生成G代码。 运动控制模块是写字机器人中最杂的一个模块,负责各个运动机构的精准快速移动。收到G代码指令后需要结合前后指令信息生成当前指令的合适初速度、最大运行速度,根据运动轨迹进行直线插补点,最后按SPTA梯形加减速算法向电机发出脉冲。 软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)Grbl是一种高性能低成本的开源CNC控制器,基于ATmega328型芯片输出高速精准的电机控制脉冲,完美支持各种标准G代码,并包含了完整的前瞻性加速控制,可以实现平稳的加速和无冲击的转弯动作。 正是由于grbl的前瞻性速度控制功能,所以要保证grbl控制器内一直保持着16-20个G代码指令。这需要ART-PI通过读取grbl控制器缓冲区状态,及时发送G代码指令,避免出现缓冲溢出和缓冲区为空等现象出现。 因此需要运行RT-thread实时操作系统,通读读取SD卡上的NC文件,并与grbl控制器通信,控制设备正常运行。另外RT-thread也可提供丰富的人机交互功能,将设备工作路径、进度等状态实时显示在屏幕上,也可以增加暂停续写等功能。 演示效果(演示效果请采用3张高清图片,并录制一段不少于1min视频解说应用所实现的效果,视频上传至B站或者腾讯视频或其他视频平台,给出链接即可)演示视频 比赛感悟同样是C代码,为什么别人写得那么好,这次比赛用到两个开源软件,一个是RT-thread,负责人机交互和发送控制指令,另一个是grbl,用来完成运动控制。两款软件都设计的非常精巧,只需在2kB大小的RAM上运行,而功能却又非常强大,实现了很多复杂的功能,所有的代码封装的很好,模块启用只需打开对应的宏定义即可。这次专门去图书馆借阅了RTT相关的图书,了解线程是如何调度,设备驱动应该怎么实现,但是内部还是有很多内容不理解,后期需要继续不断充实自己。运动控制一直是我的兴趣所在,这次也终于有机会把它实现,看着电机在一行行指令的控制下乖乖地转动,听着不断变化着频率的电机声音,真正体会到了伺服servo的含义,非常开心~
### C# 手写机器人创建教程 #### 使用Windows Forms实现手写识别功能 为了构建一个能够模拟手写的程序,可以利用 Windows Forms 和 System.Drawing 命名空间来绘制线条。通过捕捉用户的鼠标事件并将其转换成平滑曲线的方式模仿书写效果。 ```csharp using System; using System.Drawing; using System.Windows.Forms; public class HandwritingForm : Form { private Pen pen = new Pen(Color.Black, 2); private Point lastPoint; public HandwritingForm() { this.DoubleBuffered = true; // 减少闪烁 this.Paint += OnPaint; this.MouseDown += (sender, e) => { lastPoint = e.Location; }; this.MouseMove += DrawLine; this.MouseUp += ClearPen; } private void DrawLine(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { using(Graphics g = CreateGraphics()) { g.DrawLine(pen, lastPoint, e.Location); lastPoint = e.Location; } } } private void ClearPen(object sender, EventArgs e) { pen.Dispose(); pen = new Pen(Color.Black, 2); // 可选:更换颜色或宽度 } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); // 绘制背景或其他初始化图形 } } ``` 此代码片段展示了如何监听鼠标的按下、移动以及释放动作,并据此画线[^1]。然而这只是一个简单的例子,在实际应用中可能还需要考虑更多因素如压力感应支持(如果硬件允许)、路径优化算法等以提高书写的自然度。 对于更复杂的手势识别或者字符输入,则建议集成第三方库比如 Microsoft Ink 或者 Tesseract OCR 是否有其他更适合做手写识别的.NET框架? 3. 怎样保存由上述方法产生的绘图数据以便后续处理? 4. 能否让这个应用程序适应触摸屏设备上的多指触控操作?
评论 85
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jun8086

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值