基于图像识别的零件缺陷在线检测系统

电子说

1.2w人已加入

描述

零件缺陷的检测是企业在实际生产过程中的一个必不可少的环节。目前,我国大部分的中小型生产厂家都还采用人工筛选的方法来保证产品的质量,一方面,人工测量降低了检测的效率和正确率,人工筛选一般采用肉眼观察的方法,随着时间工作的推移,失误率逐渐提高,识别速度也会越来越慢 ;另外一方面,国内的人力人本在不断提高,企业考虑到成本不可能对每个零件都进行测量,一般只在同一批次中进行抽样检测,这可能造成部分不合格产品难以检出,降低产品的质量。随着人工智能技术的持续升温,基于视觉的尺寸检测技术得到了快速的发展,在机械和电子等众多行业中,已逐步取代人工故障检测的方法。 在这种形势下,开发一种能够在线精确检测零件尺寸,并根据检测结果,对不合格产品进行筛选的系统不仅可以降低企业的生产成本,还可以提高产品的生产质量。

1 系统总体结构

系统硬件平台的设计是在充分考虑系统功能和视觉检测对环境需求的基础上完成的,其结构如图 1 所示。整个系统由遮光罩、openMV 相机模块、无畸变镜头、光源、stm32 单片机系统、伺服电机、迪文屏、光电传感器、舵机等部件所组成。待测零件在经过振动分拣装后被逐个运送传送带上,经过openMV 摄像头模块内置的图形图像算法的运算后,获得零件的尺寸信息并输出给 stm32 单片机,单片机通过控制舵机实现对零件的分拣,并通过光电传感器感知单个零件检测完毕。

图像识别

图 1 系统总体结构

2 硬件设计

控制系统总体结构如图 2 所示,整个系统使用 220V 市电进行供电,经过 MP175 降压电路降为 6v 左右后分别给舵机、光电模块及 LED 光源供电,stm32 单片机、openMV 模块及迪文显示屏采用隔离电源,保证用电的安全性 ;stm32 单片机是整个控制系统的核心,采用 F103 系列,其内部带有 2 路高 级定时器,可以产生高精度的 PWM 波驱动伺服电机 ;带有多路串口通信接口,可以实现与 openMV 及迪文屏之间的通信 ; stm32 单片机与执行机构及传感器之间的连接都加入了光耦隔离芯片,防止外部干扰信号串入单片机回路,造成单片机 “死机”或损毁 I/O。openMV 是一个成本低廉,性能优越的视觉识别模块,它的核心是一个 stm32F7 单片机,内置了图像识别算法和一个 microPython 解析器,用户可通过设计简易的Python 程序,即可实现图像识别,openMV 自带有多路 I/O, 但在本设计中,由于要控制多路外设,为此它仅作为图像识别单元,不作为控制单元。

图像识别

图 2 控制系统硬件结构

电源模块在设计时需要考虑它的最大功率,由于带有舵机、光源等外设,系统所需的功率大约在 10w 左右,为减小控制系统总体积,本设计采用的是美国芯源系统有限公司的 MP175 芯片,它是一款 700v 的非隔离降压芯片,可将 220v 直接通过 buck 电路降压至所需要的电压,并且具有 10w 的输出能力,相较于传统的互感器降压,它的体积更小,成本更低。降压电路如图 3 所示,其中热敏电阻 R19 和保险丝构成前置保护电路,防止浪涌电压损坏系统 ;交流转直流采用全桥方式,可以提高电源输出功率,L1、CE1 和 CE2 构成LC 滤波电路,提高直流电的输出性能,降低 MP175 发热量 ; R16 和 R17 构成反馈电路,输出电压与反馈电阻的关系为:

图像识别

Vfb的值为 2.53v,本次电源由 220v 降压为 6v 左右,为此,R16 和R17 分别选择 6.8k 和 4.99k 的电阻; L2 和D8 构成蓄流回路,当MP175 内部MOS 管处于截止状态时, L2 放电为整个系统供电,值得注意的是,在蓄流回路中,二极管反向恢复的速度会直接影响芯片转换效率,为此,需要选择超快恢复二极管 ;为保证电源电路能输出稳定且纹波较小的电压,除了元器件参数及选型需要考虑外,在 PCB 设计时, 线路布局也非常的关键,需考虑以下几点 :(1)L2、输出电容CE3、蓄流二极管 D8 及芯片内部的 MOSFET 构成的回路必须尽可能小 ;(2)MP175 降压电路中,反馈的电压信号的稳定性至关重要,为此走线时必须远离电感等干扰源,且回馈点必须是在电容滤波之后,不能直接从电感输出端接入;(3)Drain 管脚上铺铜尽可能增大,这样有助于芯片的散热。

图像识别

图 3 电源电路

3 软件设计

系统软件由 openMV 中的零件检测程序及stm32 中的自动控制程序 2 个部分所组成, 其流程如图 4 所示,基于视觉的缺陷检测步骤如下 :抓取图片,并根据颜色阈值,查找图中零件 ;找到零件后,首先对其进行二值化,然后再查找其边沿 ;利用最小转动惯量法查找零件中心轴, 计算零件内中心轴的长度,从而判断出零件是否合格 ;通过串口发送零件信息至单片机。stm32 单片机的运行步骤如下:

图像识别

图 4 软件处理流程

系统上电初始化,等待迪文屏启动按键按下,一旦按下,则通知 openMV 进入工作状态 ;设备处于运行状态时,stm32 产生一路 PWM 波,控制伺服电机运行 ;当接收 openMV 发送的零件是否合格的信息后,stm32 产生相应 PWM 控制舵机将叶片旋转至正确位置 ;当零件通过光电开关后,一次检测结束,舵机叶片归零。

4 结束语

本文结合 openMV 及 stm32 单片机设计了一种基于图像识别的零件缺陷在线检测系统,通过检查零件尺寸是否准确从而实现对不合格产品进行过滤,具有体积小,成本低,自动化程度高的特点,适用于识别精度要求不高的工业现场。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分