基于STM32的视觉检测光源控制器

2022-02-18 09:43何建方席涛黄果李萍
科学与信息化 2022年3期
关键词:亮度光源控制器

何建方 席涛 黄果 李萍

1. 韶关东阳光自动化设备有限公司 广东 韶关 512721;2. 海南软件职业技术学院 海南 琼海 571400

引言

工业生产过程中,需要对生产产品进行检测,若人为去检测,必然会导致检测效率低、检测时间长、检测准确性跟人的经验有很大的关联度[1-3]。随着智能制造的发展,视觉检测开始应用于工业生产中的产品检测,可进行产品的外观检测、缺陷检测等,可以实现生产全机械化,减少人力资源成本[4-6]。

视觉检测主要流程为摄像机对检测物品进行拍照,对照片进行处理,得到检测结果,其照片质量优为关键,照片的质量很大程度决定于拍照光源的控制,通常采用光源控制器来对光源进行调整[7]。本文根据生产现场的实际需求,设计了一种可以匹配多种外部触发信号电压输入、可以控制多个相机和多个光源、可以结合当前环境光来自适应达到所需的光源亮度的光源控制器,匹配多种光源输入适用于多个应用场景,可以控制多个相机和多个光源可得到物品多个角度的结果,提高检测精确度,自适应环境光,在不同的环境光种都能保证检测图片质量,提高整个检测过程的可靠性。

1 光源控制器整体设计

本文为适应实际生产需求,研究了一种新型的光源控制器,通过核心控制器芯片来接收PC端发来的命令,经过处理后通过驱动电路发送到光源端实现调光。总体设计框架如图1所示,光源控制器的设计分为六大模块:①主控模块:采用ARM内核处理器,负责和上位机进行数据交互,以及外设的控制。具体为,检测光电传感器的信号,环境光亮度值,进行处理后,通过脉冲宽度调制技术调节光源的亮度以及开关方式。②环境光采集模块:通过光敏电阻采集当前环境光的亮度,经过中值平均滤波算法处理后,和PC端需要的光源亮度进行比对,进而得到控制光源的发光亮度。③电压转换模块:通过DCDC电路对输入电源电压进行降压处理,可适应7~24V大范围的输入电源电压。④光源驱动模块:利用脉冲宽度调制技术可对光源亮度进行无极调光。⑤多路光源及相机信号光耦触发模块:a.物品的拍照可有多个角度多个相机拍摄,需要开启不同方向的光源,一个光源开启对应一个相机的拍摄,可进行多个光源和多个相机协同拍照。b.恒流二极管的使用,可适应3.3V~24V宽范围的外部触发电压信号,完美解决不同器件之间电压不匹配的问题。⑥人机交互界面及显示界面:可显示当前工作状态,并可进行手动调节。

图1 总体设计框架

2 控制器硬件平台设计

控制器采用Cortex-M3内核的STM32微控制器为主体[8],设计以下硬件设施来实现所设计的功能。

2.1 环境光采集模块设计

在光源控制器中加入光敏电阻作为环境光强检测,通过光敏电阻随着光亮度变化阻值变化的特性来感应光强度,加入AD采集电路将模拟信号转换为数字信号,将采集的光强度信号传输给主控模块进行处理。

2.2 多路光源及相机信号光耦触发模块设计

在物品四周布四个光电传感器,光源和相机,进行多角度拍摄。当某一个光电传感器被触发后,将发出某一个相机的触发信号,触发该相机的拍照模式,直至完成四个方位的拍照。另外,恒流二极管的使用,可适应3.3V~24V宽范围的外部触发电压信号,完美解决不同器件之间电压不匹配的问题。

2.3 主控模块设计

主控采用STM32微控制器作为数据处理中枢[9-10],通过串口通信方式和PC端通信,使用脉冲宽度调制方式进行光源控制。使用中值平均滤波算法对环境光和PC端所需的光源亮度进行处理,得到控制光源的实际发光亮度。

2.4 电压转换模块

本设计光源控制器可适应7V至24V输入电压,通过DCDC和LDO的联用,设计如下图2所示电路对电压进行转换,保证光源控制器有一个稳压的所需电压输出。

图2 电压转换模块

2.5 光源驱动模块

光源控制器需要长时间工作,发热大,驱动电路采用低内阻的场效应管来实现器件的长时间稳定输出,如下图3所示。光源的亮度调节采用脉冲宽度调制方式控制,占空比和灯的亮度成比例关系。

图3 光源驱动模块

2.6 人机交互界面及显示界面

板载三个按键和一个四位显示的数码管[11],既可以实现光源亮度的手动调节和工作模式的切换,也可以实时显示当前通道光源的亮度值。

3 控制器软件实现

3.1 系统的总体流程设计

本设计中使用Keil公司针对ARM硬件平台推出的RealView MDK对STM32进行软件开发[12]。

在整个系统的软件设计过程中,软件需要协调多个模块进行运作,数据在多个模块之间进行传输转换,整个系统的流程图如图4所示,通过各个模块的驱动函数调用,最终实现多个光源自动调节和多个相机协调拍照。

图4 系统总体流程图

3.2 环境光检测及光电传感器触发程序设计

下图5为环境光检测及光电传感器触发流程。

图5 环境光检测及光电传感器触发流程

通过光敏电阻检测环境光输入到ARM控制板,和电脑端传输的所需光源亮度做计算,得到光源最终亮度;

通过光电传感器时刻检测外部触发信号的有无,并将其触发信号传输给ARM控制板,控制光源亮度;同时也传输给PC,用于触发相机进行拍照。

3.3 环境光处理算法

在本设计中,我们使用中值平均滤波算法来对环境光采集到的信号进行处理,首先对环境光进行连续采样N次,然后把N次采样的值进行冒泡从小到大排序,丢弃极值后,对剩下值进行求平均作为本次采样的环境光值。由该环境光值和电脑端所需的亮度值,我们可得到实际光源所需的亮度值。根据此方法,可以兼容不同亮度的环境光,适用于各种场合。

算法的程序代码如下:

4 实验结果

本文研究的新型光源控制器已大规模应用于各类产品视觉缺陷检测,如图6所示为使用本设计光源控制器的视觉检测设备,极大提升了产品缺陷检测效率和准确度,降低用工成本。一台设备可代替5人,检测准确度达97%以上,图7所示为最终检测结果。此设备在工厂投入使用后,创造了很好的经济效益。

图6 视觉检测设备

图7 检测结果

猜你喜欢
亮度光源控制器
用于遥感影像亮度均衡的亮度补偿方法
工商业IC卡控制器改造为物联网控制器实践
远不止DCI色域,轻量级机身中更蕴含强悍的亮度表现 光峰(Appptronics)C800
光源改变光环境
享受LED光源的卓越色彩 Acer(宏碁)PD1530i
PLC可编程控制器相关外置的选择计算研究
亮度调色多面手
鲜艳迷人的HLD光源4K HDR新贵 BenQ(明基)X12000H
LED照明光源的温升与散热分析
亮度一样吗?