CN105345194B - 一种基于机器视觉的pcb焊点定位方法 - Google Patents
一种基于机器视觉的pcb焊点定位方法 Download PDFInfo
- Publication number
- CN105345194B CN105345194B CN201510795283.8A CN201510795283A CN105345194B CN 105345194 B CN105345194 B CN 105345194B CN 201510795283 A CN201510795283 A CN 201510795283A CN 105345194 B CN105345194 B CN 105345194B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- mtd
- msup
- mtr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K1/00—Soldering, e.g. brazing, or unsoldering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K1/00—Soldering, e.g. brazing, or unsoldering
- B23K1/20—Preliminary treatment of work or areas to be soldered, e.g. in respect of a galvanic coating
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K2101/00—Articles made by soldering, welding or cutting
- B23K2101/36—Electric or electronic devices
- B23K2101/42—Printed circuits
Abstract
本发明公开了一种基于机器视觉的PCB焊点定位方法,本发明通过相机获取待定位PCB板上mark点的图像,根据基准件上mark点和任意待定位点的位置关系,确定待定位PCB板上任意待定位点的位置。本发明模型简单、数据采集方便、精确度高,自动化程度高以及可以应用在各种复杂多变的情况中,基于机器视觉的定位方法被广泛应用在工业检测、自动打孔、自动校正等领域。
Description
技术领域
本发明属于机器视觉技术领域,是一种基于机器视觉的PCB焊点定位方法。
背景技术
随着工业自动化的发展,PCB板上电子原件分布密集,而尺寸不断减小,因此在PCB板上单独焊点的难度也越来越大。工业自动化焊点时出现漏焊和脱焊的情况,而焊枪很难定位需要加焊的点,导致PCB板失效,因此需要采用高精度的定位方法定位焊点。普通的定位方法不准确主要是由于卡座固定PCB板的精度不高。
发明内容
本发明针对PCB板焊点精度要求高、两台电机及卡座安装时具有微小偏差等问题,根据机器视觉测量的特点,提出了一种基于机器视觉的PCB焊点定位方法。
一种基于机器视觉的PCB焊点定位方法,包括如下步骤:
步骤1:搭建面向PCB板的自动焊接装置,并将基准PCB板固定在卡座上;
步骤2:系统参数标定阶段:
通过电机移动确定基准PCB板上两个mark点的位置,以及x、y电机运动脉冲与x轴和y轴像素的比值;
步骤3:待定位PCB板参数标定阶段:
通过相机确定待定位PCB板上mark点像素坐标。
步骤4:待定位PCB板定位阶段
通过算法求出待定位点的脉冲偏移量。
本发明的有益效果:本发明通过相机获取待定位PCB板上mark点的图像,根据基准件上mark点和任意待定位点的位置关系,确定待定位PCB板上任意待定位点的位置。本发明模型简单、数据采集方便、精确度高,自动化程度高以及可以应用在各种复杂多变的情况中,基于机器视觉的定位方法被广泛应用在工业检测、自动打孔、自动校正等领域。
附图说明
图1为装置整体示意图;
图2为电机理想运动路径与实际运动路径示意图;
图3为PCB板上各点偏移示意图。
具体实施方式:
如图1所示,PCB板上的两个mark点分别位于两个观测点处,工业相机通过电机运动分别获取两个观测点处的图像,将PCB板固定在卡座内。X轴、Y轴电机与理想的垂直方向有一定的偏差,建立以电机原点为原点,理论的X轴、Y轴电机为X轴和Y轴、像素为单位的坐标系。
步骤1所搭建的面向PCB板的自动焊接装置,包括底座、运动执行机构、固定PCB板的卡座和一台工业相机;
自动焊接装置上设置有两个相机观测点,分别为观测点1和观测点2;运动执行机构包括电机X和电机Y,运动执行机构固定在底座上,同时与固定PCB板的卡座相连,用于控制卡座做平移运动。
步骤2所述的系统参数标定阶段,具体如下:
2-1.将基准PCB板安装固定在卡座内,通过两台电机的移动,分别使基准PCB板上两个mark点位于相机视野内。记录电机运动到观测点1和观测点2的脉冲分别为(PAX,PAY)、(PBX,PBY),两个mark点在相机中的像素坐标分别是(CAX,CAY)、(CBX,CBY)。同时精确定位基准PCB板上的待定位点,记录电机运动的脉冲为(PCX,PCY)。
2-2.当基准PCB板上mark点位于相机视野内时,通过电机的运动确定电机及卡座安装时的微小偏差:X轴电机运动P1脉冲,运动前后mark点的像素坐标分别为(C1X,C1Y),(C2X,C2Y);Y轴电机运动P2脉冲,运动前后mark点的像素坐标分别为(C3X,C3Y),(C4X,C4Y)。
由此可得X轴、Y轴电机运动时,图像在水平、竖直方向上像素变化与平移脉冲的比值分别为:
2-3.由此可得基准PCB板上两个mark点和待定位点的坐标(XA,YA)、(XB,YB)、(XC,YC)分别为:
步骤3所述的待定位PCB板参数标定阶段,具体如下:
3-1.将待定位PCB板安装固定在卡座内,由于卡座缝隙和固定误差,待定位板与基准板之间存在位置偏差。通过电机分别移动到观测点1和观测点2,此时两个mark点在相机中的像素坐标分别是(CAX',CAY')、(CBX',CBY')。
3-2.由此可得待定位PCB板上两个mark点的坐标(XA',YA')、(XB',YB')分别为:
步骤4所述的待定位PCB板定位阶段,具体如下:
4-1.根据旋转平移原理列出方程:
(x,y)为基准板上的点,(x',y')为待定位板上相应的点,α为旋转角,tx、ty为平移量。由此求得旋转角度和平移量分别为:
当x2'<x1'时α=α+180°;x2<x1当时α=α-180°;(x1,y1),(x2,y2)基准板上两个mark点的坐标,(x1',y1'),(x2',y2')待定位板上两个mark点的坐标;
4-2.将(6)得到的参数和待定位点坐标(XC,YC)带入(4)可得焊点实际坐标:
4-3.如图2、图3所示,将焊点坐标转换为两台电机的脉冲量,根据如下坐标与脉冲关系式:
可得电机X、Y的实际偏移脉冲为:
4-4.可得待定位点与基准件上点的脉冲偏移量为:
Claims (1)
1.一种基于机器视觉的PCB焊点定位方法,其特征在于,该方法包括如下步骤:
步骤1所搭建的面向PCB板的自动焊接装置,包括底座、运动执行机构、固定PCB板的卡座和一台工业相机;
自动焊接装置上设置有两个相机观测点,分别为观测点1和观测点2;运动执行机构包括电机X和电机Y,运动执行机构固定在底座上,同时与固定PCB板的卡座相连,用于控制卡座做平移运动;
步骤2系统参数标定阶段,具体如下:
2-1.将基准PCB板安装固定在卡座内,通过两台电机的移动,分别使基准PCB板上两个mark点位于相机视野内;记录电机运动到观测点1和观测点2的脉冲分别为(PAX,PAY)、(PBX,PBY),两个mark点在相机中的像素坐标分别是(CAX,CAY)、(CBX,CBY);同时精确定位基准PCB板上的待定位点,记录电机运动的脉冲为(PCX,PCY);
2-2.当基准PCB板上mark点位于相机视野内时,通过电机的运动确定电机及卡座安装时的微小偏差:X轴电机运动P1脉冲,运动前后mark点的像素坐标分别为(C1X,C1Y),(C2X,C2Y);Y轴电机运动P2脉冲,运动前后mark点的像素坐标分别为(C3X,C3Y),(C4X,C4Y);
由此可得X轴、Y轴电机运动时,图像在水平、竖直方向上像素变化与平移脉冲的比值分别为:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>X</mi>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>C</mi>
<mrow>
<mn>2</mn>
<mi>X</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mn>1</mn>
<mi>X</mi>
</mrow>
</msub>
</mrow>
<msub>
<mi>P</mi>
<mn>1</mn>
</msub>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>X</mi>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>C</mi>
<mrow>
<mn>2</mn>
<mi>Y</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mn>1</mn>
<mi>Y</mi>
</mrow>
</msub>
</mrow>
<msub>
<mi>P</mi>
<mn>1</mn>
</msub>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>Y</mi>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>C</mi>
<mrow>
<mn>4</mn>
<mi>X</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mn>3</mn>
<mi>X</mi>
</mrow>
</msub>
</mrow>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>Y</mi>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>C</mi>
<mrow>
<mn>4</mn>
<mi>Y</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mn>3</mn>
<mi>Y</mi>
</mrow>
</msub>
</mrow>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
2-3.由此可得基准PCB板上两个mark点和待定位点的坐标(XA,YA)、(XB,YB)、(XC,YC)分别为:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>A</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>A</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>A</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>A</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>A</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>A</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>B</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>B</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>B</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>B</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>B</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>B</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
步骤3待定位PCB板参数标定阶段,具体如下:
3-1.将待定位PCB板安装固定在卡座内,由于卡座缝隙和固定误差,待定位板与基准板之间存在位置偏差;通过电机分别移动到观测点1和观测点2,此时两个mark点在相机中的像素坐标分别是(CAX',CAY')、(CBX',CBY');
3-2.由此可得待定位PCB板上两个mark点的坐标(XA',YA')、(XB',YB')分别为:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>A</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>,</mo>
</msup>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>A</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>A</mi>
<mo>,</mo>
</mrow>
</msub>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>A</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>,</mo>
</msup>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>A</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mi>A</mi>
</msub>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>B</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>,</mo>
</msup>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>B</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>B</mi>
<mo>,</mo>
</mrow>
</msub>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>B</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>,</mo>
</msup>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>B</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mi>B</mi>
</msub>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
步骤4待定位PCB板定位阶段,具体如下:
4-1.根据旋转平移原理列出方程:
<mrow>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msup>
<mi>x</mi>
<mo>&prime;</mo>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>y</mi>
<mo>&prime;</mo>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mi>&alpha;</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mi>&alpha;</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>t</mi>
<mi>x</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mi>&alpha;</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi>&alpha;</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>t</mi>
<mi>y</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>x</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>y</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>4</mn>
<mo>)</mo>
</mrow>
</mrow>
(x,y)为基准板上的点,(x',y')为待定位板上相应的点,α为旋转角,tx、ty为平移量;由此求得旋转角度和平移量分别为:
<mrow>
<mi>&alpha;</mi>
<mo>=</mo>
<mi>arctan</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>y</mi>
<msup>
<mn>2</mn>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<mi>y</mi>
<msup>
<mn>1</mn>
<mo>&prime;</mo>
</msup>
</mrow>
<mrow>
<mi>x</mi>
<msup>
<mn>2</mn>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<mi>x</mi>
<msup>
<mn>1</mn>
<mo>&prime;</mo>
</msup>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>arctan</mi>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mi>y</mi>
<mn>2</mn>
<mo>-</mo>
<mi>y</mi>
<mn>1</mn>
</mrow>
<mrow>
<mi>x</mi>
<mn>2</mn>
<mo>-</mo>
<mi>x</mi>
<mn>1</mn>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
当x2'<x1'时α=α+180°;x2<x1当时α=α-180°;(x1,y1),(x2,y2)基准板上两个mark点的坐标,(x1',y1'),(x2',y2')待定位板上两个mark点的坐标;
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>t</mi>
<mi>x</mi>
<mo>=</mo>
<mi>x</mi>
<msup>
<mn>1</mn>
<mo>&prime;</mo>
</msup>
<mo>+</mo>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mi>&alpha;</mi>
<mo>*</mo>
<mi>y</mi>
<mn>1</mn>
<mo>-</mo>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mi>&alpha;</mi>
<mo>*</mo>
<mi>x</mi>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>t</mi>
<mi>y</mi>
<mo>=</mo>
<mi>y</mi>
<msup>
<mn>1</mn>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mi>&alpha;</mi>
<mo>*</mo>
<mi>x</mi>
<mn>1</mn>
<mo>-</mo>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mi>&alpha;</mi>
<mo>*</mo>
<mi>y</mi>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>6</mn>
<mo>)</mo>
</mrow>
</mrow>
4-2.将(6)得到的参数和待定位点坐标(XC,YC)带入(4)可得焊点实际坐标:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>X</mi>
<mi>C</mi>
</msub>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mi>cos</mi>
<mi>&alpha;</mi>
<mo>*</mo>
<msub>
<mi>X</mi>
<mi>C</mi>
</msub>
<mo>-</mo>
<mi>sin</mi>
<mi>&alpha;</mi>
<mo>*</mo>
<msub>
<mi>Y</mi>
<mi>C</mi>
</msub>
<mo>+</mo>
<mi>t</mi>
<mi>x</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>Y</mi>
<mi>C</mi>
</msub>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mi>sin</mi>
<mi>&alpha;</mi>
<mo>*</mo>
<msub>
<mi>X</mi>
<mi>C</mi>
</msub>
<mo>+</mo>
<mi>cos</mi>
<mi>&alpha;</mi>
<mo>*</mo>
<msub>
<mi>Y</mi>
<mi>C</mi>
</msub>
<mo>+</mo>
<mi>t</mi>
<mi>y</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>7</mn>
<mo>)</mo>
</mrow>
</mrow>
4-3.将焊点坐标转换为两台电机的脉冲量,根据如下坐标与脉冲关系式:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msup>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msup>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msup>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>+</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msup>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
可得电机X、Y的实际偏移脉冲为:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
</mrow>
<mrow>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msup>
<msub>
<mi>C</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
</mrow>
<mrow>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>y</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>x</mi>
<mi>k</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>9</mn>
<mo>)</mo>
</mrow>
</mrow>
4-4.可得待定位点与基准件上点的脉冲偏移量为:
<mrow>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>&Delta;P</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>=</mo>
<msup>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>X</mi>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>&Delta;P</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>=</mo>
<msup>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>C</mi>
<mi>Y</mi>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>10</mn>
<mo>)</mo>
</mrow>
<mo>.</mo>
</mrow>
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510795283.8A CN105345194B (zh) | 2015-11-18 | 2015-11-18 | 一种基于机器视觉的pcb焊点定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510795283.8A CN105345194B (zh) | 2015-11-18 | 2015-11-18 | 一种基于机器视觉的pcb焊点定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105345194A CN105345194A (zh) | 2016-02-24 |
CN105345194B true CN105345194B (zh) | 2018-05-08 |
Family
ID=55321332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510795283.8A Active CN105345194B (zh) | 2015-11-18 | 2015-11-18 | 一种基于机器视觉的pcb焊点定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105345194B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105759196B (zh) * | 2016-03-10 | 2018-06-26 | 广东省电子技术研究所 | 具有补偿校准功能的自动定位首件电路板检测系统 |
JP6412051B2 (ja) | 2016-04-18 | 2018-10-24 | ファナック株式会社 | プリント板の自動組み立ての歩留りを向上する自動組立システム及び自動組立方法 |
CN106815834B (zh) * | 2016-12-25 | 2021-04-16 | 惠州市德赛电池有限公司 | 一种电池和电池保护板的焊接定位方法 |
CN107610163A (zh) * | 2017-08-07 | 2018-01-19 | 深圳市得鑫自动化设备有限公司 | 一种基于ccd扫描的打孔定位方法及装置 |
CN107843601B (zh) * | 2017-10-18 | 2020-10-23 | 江西鸿宇电路科技有限公司 | 一种基于图像处理的pcb板定位识别系统及方法 |
CN108620781B (zh) * | 2018-03-01 | 2020-07-10 | 中国石油天然气集团有限公司 | 一种焊点位置调整系统与方法 |
CN109226928B (zh) * | 2018-11-14 | 2021-05-25 | 紫光日东科技(深圳)有限公司 | 一种焊接材料设置方法和点锡机 |
WO2020132937A1 (zh) * | 2018-12-26 | 2020-07-02 | 深圳市兴华炜科技有限公司 | 一种smt精密定位计算方法及相关产品 |
CN109827507B (zh) * | 2019-01-22 | 2021-05-25 | 上海蔚来汽车有限公司 | 基于定焦距相机的视觉定位换电方法及换电系统 |
CN109905969A (zh) * | 2019-03-15 | 2019-06-18 | 东莞新友智能科技有限公司 | 一种在线插件机的pcb插件点定位方法 |
CN111141954B (zh) * | 2020-01-02 | 2022-05-06 | 北京半导体专用设备研究所(中国电子科技集团公司第四十五研究所) | 电阻网络的测试文件生成方法、装置及电子设备 |
CN111351431B (zh) * | 2020-04-13 | 2021-08-31 | 深圳市强华科技发展有限公司 | 一种pcb板上多孔位的检测系统的校正方法 |
CN111969443A (zh) * | 2020-08-29 | 2020-11-20 | 尹鑫 | 一种自动维修脱焊故障的配电柜 |
CN112172338B (zh) * | 2020-09-24 | 2022-03-15 | 山西潞安太阳能科技有限责任公司 | 一种丝网印刷Mark点自动定位系统 |
CN113628214B (zh) * | 2021-10-14 | 2021-12-28 | 武汉逸飞激光股份有限公司 | 焊接点位的获取方法、装置、焊接设备及可读存储介质 |
CN114571073A (zh) * | 2022-03-15 | 2022-06-03 | 上海锡明光电科技有限公司 | 激光焊接视觉定位引导方法、系统,装置及介质 |
CN116206381B (zh) * | 2023-05-04 | 2023-07-11 | 深圳市中际宏图科技有限公司 | 一种基于机器视觉的摄像头模组生产管理监测分析系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164460A (zh) * | 2011-01-20 | 2011-08-24 | 苏州凯蒂亚半导体制造设备有限公司 | 在线路基板上贴敷芯片或柔性线路板的对位方法 |
CN102974964A (zh) * | 2012-10-23 | 2013-03-20 | 廖怀宝 | 一种利用mark点定位功能固定PCB板的方法 |
CN103945653A (zh) * | 2014-03-26 | 2014-07-23 | 杭州师范大学 | 柔性线路板印刷的多自由度平台的自动校正方法 |
CN104408722A (zh) * | 2014-11-26 | 2015-03-11 | 南京工业大学 | 一种用于pcb视觉定位的检测方法 |
CN104616306A (zh) * | 2015-02-12 | 2015-05-13 | 天津理工大学 | 矩阵分布视觉目标定位方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63177045A (ja) * | 1987-01-19 | 1988-07-21 | Nagoya Denki Kogyo Kk | 実装済プリント基板自動検査装置における半田フヌレ検出方式 |
-
2015
- 2015-11-18 CN CN201510795283.8A patent/CN105345194B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164460A (zh) * | 2011-01-20 | 2011-08-24 | 苏州凯蒂亚半导体制造设备有限公司 | 在线路基板上贴敷芯片或柔性线路板的对位方法 |
CN102974964A (zh) * | 2012-10-23 | 2013-03-20 | 廖怀宝 | 一种利用mark点定位功能固定PCB板的方法 |
CN103945653A (zh) * | 2014-03-26 | 2014-07-23 | 杭州师范大学 | 柔性线路板印刷的多自由度平台的自动校正方法 |
CN104408722A (zh) * | 2014-11-26 | 2015-03-11 | 南京工业大学 | 一种用于pcb视觉定位的检测方法 |
CN104616306A (zh) * | 2015-02-12 | 2015-05-13 | 天津理工大学 | 矩阵分布视觉目标定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105345194A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105345194B (zh) | 一种基于机器视觉的pcb焊点定位方法 | |
CN106493042B (zh) | 点胶方法及点胶系统 | |
CN108534679B (zh) | 一种筒形件轴线位姿的无靶标自动测量装置及方法 | |
CN107186548B (zh) | 一种五轴数控机床回转轴几何误差检测方法 | |
TWI670153B (zh) | 機器人及機器人系統 | |
CN109794938A (zh) | 一种适用于曲面结构的机器人制孔误差补偿装置及其方法 | |
CN104260112B (zh) | 一种机器人手眼定位方法 | |
CN104602872A (zh) | 作业装置 | |
CN109550649B (zh) | 一种基于机器视觉的点胶定位方法及装置 | |
CN103706945B (zh) | 一种工业机器人工具中心点的校正方法及装置 | |
CN103945653B (zh) | 柔性线路板印刷的多自由度平台的自动校正方法 | |
CN106444852B (zh) | 图像处理装置、位置校正方法及工业装置 | |
CN106998624A (zh) | 表面封装贴片机吸嘴同心度误差自动补偿方法及系统 | |
CN103079746A (zh) | 激光加工装置及基板位置检测方法 | |
CN106737859A (zh) | 基于不变平面的传感器与机器人的外部参数标定方法 | |
WO2021169855A1 (zh) | 机器人校正方法、装置、计算机设备及存储介质 | |
CN110148187A (zh) | 一种SCARA机械手Eye-in-Hand的高精度手眼标定方法和系统 | |
CN102788552B (zh) | 一种线性坐标校正方法 | |
CN109227551A (zh) | 一种视觉定位机器人手眼坐标转换方法 | |
CN105928946B (zh) | 检测设备的补偿方法 | |
CN101183222B (zh) | 调焦调平光斑水平位置的测量方法 | |
CN110340553B (zh) | 一种大幅面玻璃激光切割切孔定位方法及系统 | |
CN103795935A (zh) | 一种基于图像校正的摄像式多目标定位方法及装置 | |
CN103192399B (zh) | 一种基于目标运动的显微视觉手眼标定系统及方法 | |
CN114543678A (zh) | 一种基于xxy校正平台的视觉检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |