기준점(Fiducial) - Helsparrow/OpenpnpDocs_KR GitHub Wiki

Fiducial에 대해

Fiducial (또는 fiduciary mark)은 설계자가 특별히 PCB에 배치하는 작은 식별자로, PnP 머신 및 기타 프로세스들이 알려진 기준점에 보드를 시각적으로 정렬하도록 도와줍니다. 대량 생산을 목적으로 설계된 일반적인 PCB에는 최소 3개의 기준점이 있으며 더 많을 수도 있습니다.

Fiducial은 일반적으로 PCB에 blank spot이라고 하는 빈 영역으로 둘러싸인 빈 동판 지점을 남겨 두는 것으로 생성됩니다. 이렇게 하면 컴퓨터 비전 알고리즘이 쉽게 식별할 수 있는 밝고 반짝이는 표시가 PCB에 생성됩니다. 가장 일반적인 표시는 2mm keepout으로 둘러싸인 1mm 원입니다.

OpenPnP에서 Fiducial

OpenPnP는 2개 또는 3개의 Fiducial을 사용하여 기계 베드에서 PCB의 위치를 감지할 수 있습니다. 이를 통해 작업 설정 중이나 작업 실행 중에 자동화되고 정확한 보드 위치를 찾을 수 있습니다. 2개의 Fiducial이 감지되면 OpenPnP는 PCB의 위치와 회전을 결정할 수 있습니다. 3개 이상이 감지되면 최상의 3개를 사용하여 PCB의 위치, 회전, 배율 및 절단을 결정합니다. 일반적으로 3개 이상을 사용하면 2개만 사용하는 것보다 더 나은 결과를 얻을 수 있습니다. OpenPnP의 Fiducial은 Fiducial의 모양을 지정하는 공간이 있는 패키지로 정의됩니다. 예를 들어, 1mm 원형 기준점은 단순히 100% 원형률을 가진 1x1mm 패드를 포함하는 풋프린트입니다.

Fiducial 패키지 생성

이 프로세스는 사용하는 fiducial 유형별로 한 번만 수행하면 됩니다.

  1. 패키지 탭에서 기존 패키지를 선택하거나 신규 생성합니다.
  2. 창 오른쪽에 Footprint 탭이 표시되어야 합니다. 이것을 선택하면 Footprint 편집기가 표시됩니다.
  3. Body Width 및 Body Length를 0으로 설정하고 Units를 Fiducial 단위로 설정합니다.
  4. 추가 버튼을 을 클릭하여 새 패드를 추가합니다. Fiducial에는 일반적으로 하나의 패드만 있습니다.
  5. 패드의 이름을 원하는 대로 설정합니다. 나는 일반적으로 "1"을 사용합니다.
  6. Pad의 X 및 Y 위치를 0으로 설정하고 Width 및 Length를 Fiducial의 직경으로 설정합니다. Fidicual이 둥근 경우 Roundness를 100%로 설정합니다. 예를 들어, 1mm 원형 기준점은 X = 0, Y = 0, 너비 = 1, 길이 = 1, 진원도 = 100%로 정의됩니다.
  7. Parts 탭으로 이동하여 Fiducial을 나타내는 새 부품을 만듭니다. 이것은 보드의 Fiducial을 나타내기 위해 placements에 할당할 부품입니다. 패키지를 생성한 fiducial 패키지로 설정합니다.

기판에서 Fiducial 사용하기

Fiducial 부품, 패키지 및 풋프린트를 정의했다면 사용할 준비가 된 것입니다. 해당 부품을 보드의 모든 placement에 할당하고 배치 유형을 Fiducial로 설정할 수 있습니다. 이것은 OpenPnP에게 필요한 fiducial 작업에 대해 이 placement를 고려하도록 지시합니다. 최소 두 개 이상의 fiducial을 placements상에 설정해야 합니다.

fiducial 사용에 대한 추가 정보는 fiducial 사용 방법을 보여주는 이 비디오 자습서를 시청하십시오: https://www.youtube.com/watch?v=xvmdvTroZj8

Troubleshooting

OpenPnP가 fiducial을 찾지 못하는 경우 다음을 시도하십시오:

  1. 카메라의 Units Per Pixel 값을 설정했는지 확인하십시오. 이를 테스트하는 빠른 방법은 카메라 보기를 마우스 오른쪽 버튼으로 클릭하고 Ruler Reticle을 켜고 기계에 배치된 눈금자와 일치하는지 확인하는 것입니다.
  2. 납 흡입 심지를 사용하여 fiducial에 땜납을 얇게 덮습니다. 이렇게 하면 제조 과정에서 바로 패드에 나타나는 반사 마감과 비교하여 머신 비전에서 더 쉽게 식별 가능한 무광택 마감이 제공됩니다.
  3. HASL 보드의 경우, 지우개로 fiducial을 거칠게 만들어 광택을 제거해 보십시오.
  4. fiducial이 예상 위치에서 특정 거리 내에 있는지 확인합니다. 현재 이 거리는 5mm로 하드코딩 되어있습니다. 이것은 fiducial로 인식되지만 실제로는 그렇지 않은 무언가가 카메라 화면에 포착 되는 것을 방지합니다.
  5. 기준점에 대해 body 너비와 길이를 설정하지 말고 0으로 둡니다. 패드 정의때만 필요한 매개변수입니다.
  6. 로그 수준을 DEBUG 또는 TRACE로 변경합니다. 자세한 내용은 https://github.com/openpnp/openpnp/wiki/FAQ#how-do-i-turn-on-debug-logging 을 참조하십시오.
  7. OpenPnP를 다시 시작하고 fidicual check를 다시 실행해 보십시오.
  8. fidicual check 실행 후 .openpnp 디렉토리에 'openpnp/org.openpnp.vision.pipeline.stages.ImageWriteDebug'라는 새 디렉토리가 있고 해당 디렉토리 아래에 이미지가 몇개 있습니다. 해당 이미지는 fiducial을 찾는 과정을 보여줍니다.

컴퓨터 비전을 조금 이해하고 있다면 이미지를 보고 문제를 찾을 수 있는지 확인하십시오. 보통 문제는 조명 및 템플릿 크기와 관련이 있습니다. 도움이 되지 않는 경우 이미지를 OpenPnP 메일링 리스트에 게시하면 누군가가 도와줄 것입니다.