Appearance
焊点缺陷检测
工程背景
测量背景
随着电子产品集成度提高,焊点质量直接影响产品性能与可靠性。为确保产品质量,需精准测量焊点尺寸、形态及电气性能,及时发现缺陷,优化生产工艺,提升产品竞争力。
相机选型
盛相ST081043
测量项
焊点的体积、高度、截面积
检测要求
测量精度 ≤ 0.05mm 测量重复性 ≤ 0.05mm 测量周期 ≤ 3s
解决方案
使用AI-Vision软件,使用焊点检测集成工具,一键测量焊点信息。运行速度快,精度高,同时流程简单,模块化,方便搭建。
设计思路
执行效果展示
工程结果展示
项目流程
一、初始化
- 使用
Lua脚本
工具,生成保存数据的csv文件“Test.csv”。
lua
-- 生成保存检测数据的csv文件
-- 生成用于拼接字符串的表头
write = ""
-- 无该文件时,系统自动生成
if FileExists("./Test.csv") == false then
write = write .. "Time,"
for i=1,3,1 do
write = write .. "Circularity" .. i ..",Circumference" .. i ..",Area" .. i ..",FeretX" .. i ..",FeretY" .. i ..",MaxHeight" .. i ..",SurfaceArea" .. i ..",Volume" .. i ..","
end
write = write .. "\n"
end
write = write .. os.date("%Y_%m_%d %H:%M:%S") .. ","
-- 字符串写入文件
WriteToFile("./Test.csv", write)
- 使用
加载点云
工具,加载点云。
二、预处理
位置调整
- 使用
3D方形探针
工具,得到工件的左侧与下侧两条边。
使用
3D几何交点
工具,绑定上一步算子变量输出的两条边作为输入几何,输出两直线交点。使用
3D位置调整
工具,绑定上一步算子输出输出的直线交点作为新原点调整点云XY位置。
平面拟合
使用
3D区域
工具,选择拟合平面的区域。使用
3D平面
工具,绑定上一步算子输出的变量区域作为输入区域,拟合平面并将其设置为零平面。
三、焊点测量
使用三个焊点检测
工具,分别测量三个焊点焊点体积、高度、截面积等信息。
四、数据保存
使用Lua脚本
工具
绑定
焊点检测
工具的输出变量编辑脚本,拼接三个焊点的检测信息到一个字符串
保存数据到csv文件
经验
string.format 用于格式化字符串 %.nf表示将浮点数格式化为保留 n 位小数。
pi = 3.14159 str = string.format("Pi is approximately %.3f", pi) print(str) -- 输出: Pi is approximately 3.141
lua
write = ""
-- 读取数据并拼接到字符串中
write = write .. string.format("%.3f,%.3f,%.3f,%.3f,%.3f,%.3f",
spot1.cross_section_circularity[1],
spot1.cross_section_circumference[1],
spot1.cross_section_area[1],
spot1.height,
spot1.surface_area,
spot1.volume)
write = write .. string.format("%.3f,%.3f,%.3f,%.3f,%.3f,%.3f",
spot2.cross_section_circularity[1],
spot2.cross_section_circumference[1],
spot2.cross_section_area[1],
spot2.height,
spot2.surface_area,
spot2.volume)
write = write .. string.format("%.3f,%.3f,%.3f,%.3f,%.3f,%.3f",
spot3.cross_section_circularity[1],
spot3.cross_section_circumference[1],
spot3.cross_section_area[1],
spot3.height,
spot3.surface_area,
spot3.volume)
write = write .. "\n"
-- 保存数据至csv文件中
WriteToFile("./Test.csv",write)