自制一个基于ESP32的沙画机器人
作者在高二的时候就做过一个非常基础的沙画机器人,现在准备去普渡大学上学了,正好也打算带上它,于是想着用这俩年新学到的技能重新设计一下之前的沙画机器人。
https://dfrobot.loll.cc/video/Untitled%20fixed.mp4
所需材料
[*]3D打印机
[*]ESP32 DevKit V1
[*]2个TMC2208或TMC2209步进电机驱动器
[*]2个迷你NEMA 17步进电机
[*]2个霍尔效应端止器(通用的就行)
[*]TSL2561光传感器
[*]用于面板安装的USB-C接口和直流电源插座
[*]定制PCB
[*]4英寸懒人转盘轴承
[*]各种嵌角M3螺丝
[*]SK6812 RGBW LED灯带(1米),项目使用的是144颗LED/米
[*]M3铆入螺套(外径4.5毫米)
[*]各种2、3、4、5引脚的JST连接器和SMT插座
[*]带有滑轮的400毫米GT2同步带
步骤1:Fusion 360
我设计这个动态沙画机器人时非常轻薄,打印后高度不到3英寸(7.62 厘米)!有很多重叠的零件,主要集中在大尺寸的Theta齿轮连接到底板的地方。整个机器人是使用Fusion 360从零开始设计的,并且我通过Fusion Team在线共享了它们。
我从草图开始设计外壳的大致形状,然后沿着大悬挑部分分割它,确保可打印。然后我构建了机器人底板,建模了懒人转盘轴承和中央齿轮组合。
附上机器人组装的剖面和**视图,好让大家更详细地了解它们如何组装。
步骤2:3D打印
我用黑色Polymaker ABS打印了所有零件,使用30-50%的gyroid填充,具体取决于零件的情况。通常,内部组件使用50%的填充率,而外壳则打印足够的壳材使其坚固。我几乎用光了为这个项目购买的3公斤的线材。
如果使用PLA(聚乳酸),在抵抗扭曲变形方面会有更好的效果,然而我需要ABS(丙烯腈-丁二烯-苯乙烯)的结构性能。
附上的照片展示了测试安装线性轴和导轨的情况。
步骤3:机器人组装
我在步进电机上加了4引脚的JST连接器,给TSL2561光传感器加了一个5引脚的连接器,并在磁性限位开关和LED灯带上都添加了3引脚的连接器。
然后,我用嵌头M3螺丝将theta步进电机安装到机器人底盘上。接着,我把GT2滑轮安装在电机上,用M3螺丝把懒人轴承固定在大的中心theta齿轮和下底盘上。轴承应该能够直接嵌入位置,不会摇晃。在Fusion组装中,如果轴承出现摇晃,可以使用额外的间隔器。直线轴和导轨用热塑插件直接固定在theta齿轮的顶部。
步骤4:PCB设计
设计文件可以在这个网站获取:https://oshwlab.com/acvigue/sandscara
步骤5:PCB组装
我直接焊接下了马达驱动器、ESP32以及JST连接器。我添加了一个可选的SD卡插槽,它与MPN#47352-1001(Mouser)是兼容的。我使用尖细的焊接头和一些无需清洁的焊膏手动焊接了这个连接器。
步骤6:连接所有部件
我安装了一个磁性端止器传感器,安装在中心的微小孔上,用来感知Theta齿轮到达已知位置的情况。
完全组装好的机器人底板只需滑入外壳的中间部分。
步骤7:组装外壳
将上半部分的外壳放在下半部分上。用防塌塞的铆入螺套和12颗10mm M3螺丝将其固定。
步骤8:加入沙子
我使用家里的一些普通工艺毡布,通过喷雾胶把它粘在沙床的底部,这样可以让沙床工作的时候更加安静。然后,我就把家得宝(Home Depot)的沙倒进去,用一把黄油刀将其均匀铺开。
步骤9:灯光
我用双面海绵胶带把LED灯带粘在沙床的两侧,并将3根导线(5V数据和地线)从侧面的小缝隙穿过,延伸到主控板。
步骤10:编译Web界面
我从头开始使用TypeScript和Vue 3编写了Web界面,状态管理使用了Pinia,数据获取使用了一组Axios请求***。
GitHub仓库链接:https://github.com/acvigue/tranquilvue
只需克隆和构建这个项目即可继续进行。
你可以在Linux机器上运行以下命令构建项目(对于Windows机器,更改命令为相应的命令):
yarn && yarn build
生成的构建文件保存在./dist目录中。
步骤11:编译设备固件
该固件几乎是从零开始重新编写的,并且已经进行了至少一年的开发。它是一个普通的PlatformIO项目,可以在这里下载:https://github.com/acvigue/tranquilfirmware
将构建的Web资源拖到此目录,PlatformIO将自动将它们移动到ESP32的SPIFFS分区。
特别提醒:本文中所示的图案不包括在内,可以从互联网上下载。Web界面仅列出设备上安装的图案。
步骤12:配置设备
固件安装后,设备将设置自己的访问点,名为"Tranquil",所有初始配置都在此完成。你可以将其连接到您的Wi-Fi,设置OTA更新。
步骤13:开始玩耍
我现在已经制作了两个沙子绘图机器人,并在设计可打印性和确保我编写的固件稳定性方面积累了很多经验!遇到任何问题,欢迎和我沟通!
作者的博客:https://vigue.me
作者的GitHub:https://github.com/acvigue
原文作者:aidenvigue
原文连接:https://www.instructables.com/ES ... Sand-Drawing-Robot/
转载请注明来源信息
竟然是web操作,好厉害 Amos Young 发表于 2023-7-20 11:09
竟然是web操作,好厉害
哈哈是的,不愧是去普渡大学的 好厉害!!!{:6_215:} 沙画,还是机器人画的!赞!!{:6_209:} 厉害厉害!! 赞赞赞赞! 大神操作,出手就是精品 太酷了 66666666666666 比较感兴趣,博主能把Fusion 360的3d文件共享一下吗 我在Fusion Team没找能到你的3d项目,能分享一下链接吗 爱了爱了,全新的坐标移动看着思路 LL7YTT 发表于 2023-9-28 10:51
我在Fusion Team没找能到你的3d项目,能分享一下链接吗
https://vigue.autodesk360.com/g/shares/SH9285eQTcf875d3c5397e371072af688736 {:6_215:}6666666 艺术
页:
[1]