基于OpenMV 的生活垃圾智能分类系统设计

2024-03-19 05:16邓三星薛国阳张兆宽李恒杨蒙蒙
电子制作 2024年5期
关键词:云台垃圾箱串口

邓三星,薛国阳,张兆宽,李恒,杨蒙蒙

(1.黄河交通学院,河南焦作,454950;2.焦作市智能机器人工程技术研究中心,河南焦作,454950)

0 引言

近年来,垃圾分类成了一个热门话题,引起了广泛的关注和讨论。随着人口的增多和城市发展的加快,所产生的垃圾也越来越多,垃圾的处理问题日益突出。为了建设美丽宜居的城市,垃圾分类已经成为每个人都应该积极参与并重视的环保行动。垃圾分类不仅帮助减少环境污染,还能回收再利用资源,实现可持续发展的目标[1]。为此结合了文献[2~4]设计了一款生活垃圾智能分类系统,以STM32 单片机为核心,利用OpenMV 视觉模块进行图像识别,可以对城市中多种类型的垃圾进行识别,同时还可以对垃圾箱内垃圾满载进行检测。通过串口屏电路设计,当没有垃圾投入时,屏幕播放垃圾分类相关知识视频,当检测到垃圾投入时屏幕立即显示垃圾相关信息,以宣传垃圾分类的重要性。

1 系统硬件电路设计

1.1 设计思路

生活智能垃圾分类系统的垃圾识别系统是由摄像头OpenMV,STM32F103ZET6 单片机主控芯片,二维云台,满载检测,串口屏显示组成。

生活智能垃圾分类系统的工作原理:整个电路通电之后,对单片机的复位引脚施加一个信号,使整个系统处于初始化状态,等待垃圾投放时串口屏会重复播放垃圾分类宣传视频。当有垃圾投放时,二维云台设计了托盘结构,保证了垃圾投放的稳定性,同时OpenMV 会对托盘内的垃圾进行分类识别,将分析得到的数据传递给单片机,单片机判断垃圾类型,控制二维云台把垃圾投入对应垃圾箱内,超声波传感器对箱内垃圾容量进行判断,当垃圾达到设定高度后,单片机收到信息,控制串口屏显示垃圾序号,信息,满载情况。系统组成框图如图1 所示。

图1 系统组成框图

1.2 系统器件选择

垃圾分类系统的主控芯片采用的是STM32F103ZET6单片机,板载资源丰富。STM32F103ZET6 搭载了ARM Cortex-M3 32 位处理器,具有较高的性能和低功耗特性。运行主频可高达120 MHz, 有512KB 的Flash 存储器和64KB 的SRAM。它具有广泛的外设接口,包括多个通用定时器、串口通信接口、模拟到数字转换器(ADC)、PWM 控制器、USB 控制器等。还支持多种通信协议,包括SPI、I2C、UART 和CAN,适合连接到不同类型的外部设备和通信总线。

OpenMV 视觉模块[5]是一款性能强大,低成本且开源的电子设备,如图2 所示。OpenMV 采用ARM Cortex-M系列微控制器,配备高质量图像传感器,以及专门的图像处理和计算机视觉硬件单元,同时还提供了一系列用于图像处理、计算机视觉和机器学习的软件库,包括颜色追踪、人脸检测、二维码识别等。强大的集成开发环境OpenMV IDE 能够协助完成编程、调试和更新固件等工作。采用BP神经网络训练模型,训练模型传递给OpenMV,能够保证垃圾识别的准确性,完成垃圾识别的功能。

图2 OpenMV4 H7 plus

二维云台是一种常用于的机器人和摄像设备的旋转机构,它可以实现在水平和垂直方向上的全方位旋转。它通常由两个旋转关节组成,使其能够在水平面和垂直面上进行精确的定位和调整。本系统所选二维云台的旋转角度可达到270 度,完全可以覆盖四个垃圾箱,实现垃圾的精准投放。

超声波测距原理是在超声波发射装置发出超声波脉冲[6],利用声波的传播速度与距离之间的关系,可以通过测量脉冲的时间差来推断物体与传感器之间的距离。利用这种特性可以在程序上设定超声波传感器的阈值,当垃圾箱内的垃圾的高度达到设定值后,反馈给单片机一个信号,控制串口屏显示垃圾箱中的垃圾存放信息。

1.3 电源

电源模块最核心元件为电池,所选用的电池应满足安全、电池容量大、电池可循环次数多、重量小、体积小等条件,还要根据单片机所需供电电压等级,设计电压等级转换电路。LM2596 电源模块基于LM2596 芯片,该芯片是一款高效率降压稳压器,能够将输入电压降低至较低的输出电压,当输出电流超过一定限制时,芯片会自动降低输出电压,以保护电路和负载。本设计采用2000mAh 锂电池组,可同时输出不同电压,电源采用12V 输入,采用四路输出,5V 输出供电用于二维云台,传感器和串口屏,3.3V 输出用于MCU 和OpenMV,另外两路用于扩展模块电路的供电,电源模块电路如图3 所示。

图3 电源模块电路图

2 总体结构

总体结构有整体框架、垃圾分类结构、满载结构三部分组成,整体结构如图4 所示。

图4 整体结构图

2.1 垃圾投放装置设计

生活智能垃圾分类系统可以识别城市生活中常见的有害垃圾、可回收垃圾、厨余垃圾和其他垃圾等,其中包括个头很小的烟头或者电池,以及矿泉水瓶等形状不一的垃圾,设计的投放装置要保证在分类过程中,垃圾不掉落且平稳的投入相对应的垃圾箱内。

垃圾投放装置安装在总体框架内,该装置应具有良好的承载能力、较强的稳定性和快速反应能力。本系统在二维云台上方加装了一个托盘,用于盛放垃圾,二维云台能够完美地完成相应的动作,托盘采用四方一端开口设计,可以保证垃圾在旋转过程中不掉落,整体动作灵敏,效率较高。二维云台如图5 所示。

图5 二维云台

2.2 满载设计

本系统可以检测垃圾箱内垃圾是否超过80%,需要较强的准确性,满载检测工作是由超声波传感器来完成,只要垃圾容量达到设定的阈值,串口屏就会显示对应垃圾信息,提醒工作人员及时更换垃圾箱,提高资源回收重复利用率。

3 系统软件设计

3.1 主程序设计

当系统通电后,程序初始化运行,二维云台复位到初始位置,等待垃圾投入,串口屏循环播放垃圾分类视频,垃圾投入后,系统协调各模块完成相应动作。系统工作流程如图6 所示。

图6 程序流程图

3.2 上位机软件设计

本系统采用的是USART HMI 软件来对串口屏进行UI界面设计,软件界面简洁,功能完善,操作简单,主界面如图7 所示。USART HMI 软件操作界面最上方一栏为功能区,左上边为组件工具箱,左下为资源区,可以放置各种资源,中间是屏幕的布局区域了,布局区域下面是事件处理区域,可以编写事件处理代码,右上可以添加新的编辑栏,右下为组件的属性栏。在UI 布局界面中可以在最上面设置标题,下方可以布置垃圾的类型,具体垃圾名称,用红绿图标表示垃圾投放成功与否。在垃圾满载时,同样会显示垃圾是否满载的信息。

图7 USART HMI 操作界面

4 系统测试

为了检测智能垃圾分类系统各种功能的可行性,对其展开了一系列测试。

利用OpenMV 视觉模块,可以实现对垃圾的智能识别和分类。首先需要收集垃圾和非垃圾物体的图像数据集,对其进行比对,将收集到的图像进行预处理,处理完之后对图像数据采用深度算法学习,建立训练模型。导入OpenMV视觉模块后,系统可以快速识别垃圾,判断其所属种类及详细信息,并自动进行垃圾分类处理。整个流程中,OpenMV视觉模块将识别到的样本与数据库中的垃圾样本进行对比分析,经过分析判断后,输出垃圾所属种类。系统会将数据进行量化处理,并经由串口通信传输给系统控制模块,实现对垃圾的精准分类。测试场景效果图8 所示。

图8 测试场景效果图

经过多次测试之后,系统已经能够识别超过20 种垃圾了,且可以在1 分钟实现15 次的垃圾分类。满载检测也会在垃圾容量超过80%时在屏幕上进行显示。具体测试垃圾类型如表1 所示。

表1 垃圾类型

实验结果如表2 所示。

表2 实验测试结果

实验结果表明,垃圾分类投放成功率稳定在97%以上,且垃圾识别分类时间较短,能够满足垃圾的快速分类、投放的功能需求。

5 结语

本设计切实考虑了当代的城市社会发展中垃圾分类的需求,设计的生活垃圾智能分类系统,弥补了传统人工垃圾分类费时费力的难题。该设计完全能够满足智能垃圾分类系统的设计需求,相对于现有的垃圾箱,具有稳定性好,效率高,维护成本低,发展前景好等优势,可以为城市的环境保护和资源回收提供强有力的支持。

猜你喜欢
云台垃圾箱串口
His epic trash pickup journey垃圾收集,开启“绿色之旅”
云上之家——万科·郡西云台
龙门山·卧云台
浅谈AB PLC串口跟RFID传感器的通讯应用
帮我买云台
垃圾箱的变化
基于STM32的无线FPV云台设计
基于PLC的自动降解垃圾箱压缩粉碎模块的设计
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信