基于halcon的AOI自动光学检测

  • Post author:
  • Post category:其他


什么是AOI?


AOI(Automated Optical Inspection),中文全称:自动光学检测,是基于光学原理来对焊接生产中遇到的常见缺陷进行检测的设备。AOI是新兴起的一种新型测试技术,但发展迅速,很多厂家都推出了AOI测试设备。

AOI自动光学检测的作用与优势?


大多运用在高速高精度视觉处理技术自动检测PCB板上各种不同贴装错误及焊接缺陷。PCB板的范围可从细间距

高密

度板到低密度大尺寸板,并可提供在线检测方案,以提高生产效率,及焊接质量。通过使用AOI作为减少缺陷的工具,在装配工艺过程的早期查找和消除错误,以实现良好的过程控制。早期发现缺陷将避免将坏板送到随后的装配阶段,AOI将减少修理成本将避免报废不可修理的电路板。

AOI自动光学检测常涉及到的地方?


以PCB板举例,AOI自动光学检测常涉及到的地方(制作工艺流程上)有锡膏的印刷之后、回流焊前、回流焊后。


主要检测的目标有PCB板的印刷、锡焊有无、锡膏有无、元器件有无等等众多用于PCB板上装配焊接过程。

注:上述资料参考于百度百科《AOI_百度百科》

关于部分AOI自动光学检测的简单实现:

注:实际中的过程要复杂的多,以下仅供参考。


(检测锡膏的有无)


(检测吸嘴是否吸到了元件)


halcon代码:

*设置系统参数 
set_display_font (3600, 25, 'mono', 'true', 'false')
*锡膏检测
read_image (Image1, 'D:/Halcon-WorkSpaces/Halcon-Demo/AOI检测/锡膏存在性检测/a (1).bmp')
rgb1_to_gray (Image1, GrayImage1)
read_image (Image2, 'D:/Halcon-WorkSpaces/Halcon-Demo/AOI检测/锡膏存在性检测/a (2).bmp')
rgb1_to_gray (Image2, GrayImage2)
dyn_threshold (GrayImage2, GrayImage1, RegionDynThresh, 30, 'dark')
connection (RegionDynThresh, ConnectedRegions)
area_center (ConnectedRegions, Area, Row, Column)
tuple_max (Area, Max)
if (Max>500)
    disp_message (3600, 'OK', 'window', 12, 12, 'green', 'false')
else
    disp_message (3600, 'NG', 'window', 12, 12, 'red', 'false')
endif
stop ()
*吸嘴吸取元件检测
for Index := 1 to 30 by 1
    read_image (Image, 'D:/Halcon-WorkSpaces/Halcon-Demo/AOI检测/元件有无检测/t ('+Index+').bmp')
    rgb1_to_gray (Image, GrayImage)
    binary_threshold (GrayImage, Region, 'max_separability', 'light', UsedThreshold)
    area_center (Region, Area, Row, Column)
    dev_clear_window ()
    dev_display (Image)
    if (Area>=500 and Area<=2000)
        disp_message (3600, 'OK', 'window', 12, 12, 'green', 'false')
    else
        disp_message (3600, 'NG', 'window', 12, 12, 'red', 'false')
    endif
    stop ()
endfor


效果:



版权声明:本文为weixin_44490080原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。