摘要:如今, 工业自动化已在国内外引起非常大的关注, 人们对生产效率以及质量的要求越来越高。基于此, 现给出一种以嵌入式芯片为核心, 配合摄像头、网络接口等外设搭建基于嵌入式的图像采集传输系统。从嵌入式微处理器的网络传输和图像处理进行论述, 总结实际设计中的经验和高效的设计方法, 并对未来工业自动化检测系统给出进一步展望, 构建出小型物联网机器视觉系统的雏形。
关键词:嵌入式; 图像采集; 图像处理; 图像传输;
本系统的研发主要是基于用机器代替人工进行检测符合当前社会发展的趋势, 能有效地解决用工荒、成本高等问题的基础上。为了更好地实现工业自动化的目的, 本设计根据实际的工业检测需求, 给出了一种基于最经典的嵌入式处理器实现图像划痕检测的方案, 该方案使用网口传输, 网口传输速率满足实时传输图像的需求, 因此能很好地实现传感器与人机交互界面互联。
1、系统架构
本设计主要是基于当前较为前沿的嵌入式ARM Cortex-M4系列芯片, 从工业对零件划痕检测的实际需求出发, 构建了较为完整工业图像检测系统。此系统包含采集、传输和处理三大子系统。图像采集系统基于嵌入式STM32F4的自制PCB, 利用摄像头在合适的光照背景条件下采集JPEG格式的图像。图像传输系统将嵌入式端数据传输至基于Qt的上位机, 主要传输方式为以太网通信, 辅助传输方式为串口通信。图像处理系统利用了PC机强大的处理性能, 采用Open CV算法实现划痕识别, 并检测出划痕长度。
2、系统设计
2.1、摄像头采集模块
在本系统中, 使用STM32F407ZGT6的DCMI接口连接OV5640摄像头模块, 该模块采用8位数据输出接口, 自带24M有源晶振, 无需外部提供时钟, 模组支持自动对焦功能, 且支持闪光灯, 整个模块只需提供3.3V供电即可正常使用。该摄像头模块通过SCCB总线, 编程实现了图像输出分辨率的额配置、闪光灯的开关、自动对焦、调节色彩饱和度、亮度设置、设置自动锐度、启动持续对焦等功能。同时加入DMA的双缓冲机制, DMA双缓冲的原理是嵌入式首先接收来自摄像头的JPEG数据流, 在内存1中存储, 当内存1存满, 自动切换到内存2, 同时程序读内存1的数据到外部SDRAM;当内存2存满, 又切回内存1, 这时候程序读内存的数据到外部SDRAM。发生中断时, 暂时结束图像数据采集, 迅速读取未被读取的数据到外部的SDRAM。这样就完成了一次JPEG图像数据的采集。
2.2、图像处理模块
本次上位机采用Qt 5.7 (Min GW 5.3版) 联合Open CV设计。上位机的功能是连接下位机并接收嵌入式端的图片数据, 利用Open CV提供的find Contours算法寻找图片中的轮廓, 对图片进行处理后显示结果。界面设计基于Qt的Main Window类。在此基础上设计了菜单栏, 进行了窗的设计与布局, 最终利用Qt的布局管理器实现了界面设计。本上位机主要实现的功能有:接收下位机传输的数据并提取, 实时显示摄像头传过来的图片, 显示上位机和下位机的连接状态和时间, 对图片进行处理并得出划痕的有无和长度, 打开PC机原有图片进行处理, 保存处理前图片和处理后图片等。
3、测试结果与分析
本系统的测试用纸箱构建了一个背景纯黑的环境以便防止外界光线干扰, 然后通过在白纸上用记号笔画上一道线来模拟物品上的划痕。我们测试时首先通过网口连上嵌入式终端, 连接上以后一段时间摄像头区域会显示实时拍摄到的图像, 当我们按下下方的拍照键时, 即可在图片区域看到此刻拍到的图片, 然后按下检测按键就可以在处理结果的地方看到物品的清晰轮廓和明显的划痕, 上位机下方可以显示划痕的实际长度。当我们对划痕用尺子测量后, 还可以通过输入上位机下方空格处的偏移量来校准划痕长度检测的误差, 下方的最小划痕还可以用来消除不必要的噪声。经过多次试验本系统的测量误差满足实际工业自动化检测的要求, 并且网络通信速率符合实时监测的要求, 能够较准确地判断误差的长度。
4、结语
该系统中的嵌入式端作为工业生产的物联网中一个最简单的节点, 考虑到了现代工业生产自动化的实际需求, 将图像检测与无线数字通信系统强大的功能结合。但是此系统还不是终结, 今后的设计过程中, 可以采用多节点的方式将各个嵌入式端与PC机端进行互联。并且在通信方式上也有多种选择:一种是采用路由器接多根网线的方式, 另一种采用生活中常用的Wi-Fi方式。利用主机控制下位机的基本手段, 形成一个基于工业互联网的工厂零件物流控制系统, 最终实现一个小型完善的工业物联网优化系统。
参考文献
[1]宫辉.嵌入式实时操作系统μC/OS-III[M].北京:北京航空航天大学出版社, 2012.
[2]庄严, 王骁.嵌入式C/C++系统工程师实训教程[M].北京:清华大学出版社, 2011.
[3]陆文周.Qt5开发及实例 (第2版) [M]北京:电子工业出版社, 2015.
[4]毛星云.Open CV3编程入门[M].北京:电子工业出版社, 2015.
[5]冈萨雷斯, 伍兹.阮秋琦译.数字图像处理 (第3版) [M].北京:电子工业出版社, 2011.