[作品提交] 【2024 DigiKey 创意大赛】基于Raspberry Pi5的3D打印监测与失败检测

bzhou830   2024-10-29 13:50 楼主
基于Raspberry Pi53D打印监测与失败检测
作者:bzhou830
  1. 作品简介
    近年来,FDM 3D打印技术发展非常迅速,越来越多的家庭也开始使用桌面级3D打印机。虽然成品机器在近两年如雨后春笋般退出,但是打印过程中还是不免产生各种问题。如图1所示:
    wd_134837jzxlnber9neetqtb.jpg
    图1 模型打印失败
    而且由于3D打印比较耗时,长时间的人工值守是非常困扰的问题。在没有人工值守的情况下,一旦出现问题就直接导致打印失败,浪费耗材,甚至损坏机器。因此本设计的思路就是使用视觉识别技术,实时采集并识别当前的打印状态,一旦出现打印异常通知用户进行人工干预。
    设计中用到的主要硬件物料有: Raspberry Pi 5,小安派-Cam-D200,颜色传感器,气压传感器。设计中为了方便采集摄像头的安装,对小安派-Cam-D200进行了外壳的设计。Rapsberry Pi 5运行Debian系统,搭建mqtt服务器,用于接收传感器数据。并使用yolo v5训练自己标定的数据得到检测模型,在树莓派上部署并运行检测模型,对采集的图像进行实时的检测。
    作品实物如图2 所示,小安派-Cam-D200图像采集摄像头安装在3D打印机x轴的末端,使用usb供电,通过无线网将采集的图像发送给:Raspberry Pi 5。
    wd_134837qshs3nh4sny71snn.png wd_134837trgtrsggu0p76bbr.png
    图2 硬件实物
  2. 系统框图
系统框图如图3所示,系统中的组件都是通过无线网络进行数据通信的。传感器的数据通过传感器采集板(这里使用的是esp32s3-dev-kit)使用mqtt协议将数据发送到raspberry pi 5 上搭建的mqtt服务器上。摄像头采集的图像通过web server的方式将图像传送给raspberry pi 5。
wd_134837c58cu5qbs8hbn56z.png
图3 系统框图
手机或电脑设备可以通过远程连接的方式连接到raspberry pi 5上查看实时图像和传感器数据,也可以直接连接到摄像头设备查看实时图像。
识别的结果则实时的显示在画面上。
三、各部分功能说明
3.1 模型的训练
对于一个视觉检测项目来说,最核心和重要的部分就是对检测模型的训练和部署。为了能得到尽可能准确的检测模型,本项目采用Kaggle上的3D打印图像数据集,对图像数据使用Labeling工具进行手动的标定。数据集中包含有900多张图像。标定过程如图4所示。
wd_134838qgs154bsns7ve5e3.png
图4 数据的标定
标定完成图像即采用yolo v5对数据进行训练。
wd_134838amhmh0ykaavv8haz.png
为了达到比较好的准确率,又为了兼顾模型的训练时间,这里训练过程采用100个epochs进行,训练环境为i7-7700k, Nvidia GTX1060 6G。
wd_134838zwc0ojggvggcv0f9.png
图5 训练完成
如图5所示,训练总用时5.8小时。训练过程的曲线如图6所示,从图中可以看到训练过程中loss已经降低到比较低的水平,但从曲线的走势来看如果加大epochs数量势必可能会得到更为精确的模型。考虑精度曲线已经达到了可用的水平,且没有计算能力更强大的硬件来进行训练,遂使用本次训练结果。
wd_134838m1u1qvz3zfdt7lw1.png
wd_134838udmr8ux2yko4xro4.png
图6 训练结果曲线
3.2 图像采集模块
小安派-Cam-D200(AiPi-Cam-D200)是安信可科技为高性能模组Ai-M61-32S设计的一款摄像头核心板,默认接入200w像素摄像头,考虑图像采集的质量,本项目采用其进行图像的采集。为了方便摄像头的安装和美观,项目对摄像头进行外壳的设计,并采用3D打印的方式将其打印出来。外形的设计图如
wd_134838f4ebk94uuzuo9sur.png
图7 图像采集设备结构设计
设备固件代码中将采集的图像通过web的方式发送给接收端。在web浏览器中可预览采集图像如图所示。
wd_134838rp277s6zjr6jrzcf.png
图8 预览图像采集结果
3.3 模型部署和mqtt服务器搭建
从emqx的官网看到可以直接使用docker的方式进行安装。安装完成后在PC/手机端即可使用浏览器进行访问。成功访问如图所示。
wd_134838e0muuz0woowa00lr.png wd_134838sq90z3r96r039033.png
图9 EMQX服务器的安装
搭建完服务器后即可部署识别模型。拷贝yolo v5检测代码到raspberry pi 5上。并使用检测代码进行运行,运行中安装缺少的依赖库。成功运行检测代码即表明环境搭建成功,如图10所示。
wd_134838omsupxu770jop2k3.png
图10 YOLO v5在raspberry pi 5上的部署
随后使用训练的模型进行部署,对部分图像进行识别检测。运行检测,打开检测的结果图观察执行结构的正确性,如图11所示。
wd_134838p9d8rurmndd4ddtr.png
wd_134838zmc0sodzsc0deiri.png wd_134839afxdgg1bgbtjotg8.png
图11 模型检测结果
 
四、作品源码
CAM200 - 零件19-1-1.STL (116 KB)
(下载次数: 0, 2024-10-29 15:08 上传)
CAM200 - 零件18-1-1.STL (107.31 KB)
(下载次数: 0, 2024-10-29 15:08 上传)
CAM200 - 零件1^CAM200-1.STL (24.98 KB)
(下载次数: 0, 2024-10-29 15:08 上传)
yolov5-6.0-printer.tar (14.88 MB)
(下载次数: 0, 2024-10-29 15:08 上传)
cam200.tar (1.25 MB)
(下载次数: 0, 2024-10-29 15:06 上传)
 
五、作品功能演示视频
 

 
 
六、项目总结

通过设计制作次项目,让我对计算机视觉检测有了更深入的理解,同时学习并使用了Web Sever传送视频数据的使用了。为了设计出比较好的外观,专门学习3D模型的绘制,对DIY电子设计又多掌握了一项关键又有用的技术。

至此非常感觉EEWold给我支持成长的机会,同时离不开Digikey的大力支持,在此表示最真诚的感谢!

 
DigiKey_contest_2024_word.doc (5.78 MB)
(下载次数: 0, 2024-10-29 16:35 上传)

本帖最后由 bzhou830 于 2024-10-29 16:36 编辑

回复评论 (3)

监测效果怎么样?话说3D打印拉丝,主要是打印机配置没搞好。

点赞  2024-10-29 19:17
引用: wangerxian 发表于 2024-10-29 19:17 监测效果怎么样?话说3D打印拉丝,主要是打印机配置没搞好。

训练数据里面都是针对炒面类的问题,所以检测炒面类还是很准的。

打印问题原因很多,喷头温度不合适,调平不好,热床不沾,模型缺少支撑等等都可能导致打印失败。

点赞  2024-10-29 20:18
引用: bzhou830 发表于 2024-10-29 20:18 训练数据里面都是针对炒面类的问题,所以检测炒面类还是很准的。 打印问题原因很多,喷头温度不合适,调 ...

嗯嗯,我之前换了打印材料,就拉丝了。。。

点赞  2024-10-30 09:25
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复