焊點缺陷檢測
工程背景
測量背景
隨著電子產品整合度提高,焊點質量直接影響產品效能與可靠性。為確保產品質量,需精準測量焊點尺寸、形態及電氣效能,及時發現缺陷,最佳化生產工藝,提升產品競爭力。

相機選型
盛相ST081043
測量項
焊點的體積、高度、截面積
檢測要求
測量精度 ≤ 0.05mm 測量重複性 ≤ 0.05mm 測量週期 ≤ 3s
解決方案
使用Vision-Studio軟體,使用焊點檢測整合工具,一鍵測量焊點資訊。執行速度快,精度高,同時流程簡單,模組化,方便搭建。
設計思路

執行效果展示
工程結果展示

專案流程
一、初始化
- 使用
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)