기준점(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 유형별로 한 번만 수행하면 됩니다.
- 패키지 탭에서 기존 패키지를 선택하거나 신규 생성합니다.
- 창 오른쪽에 Footprint 탭이 표시되어야 합니다. 이것을 선택하면 Footprint 편집기가 표시됩니다.
- Body Width 및 Body Length를 0으로 설정하고 Units를 Fiducial 단위로 설정합니다.
- 추가 버튼을
을 클릭하여 새 패드를 추가합니다. Fiducial에는 일반적으로 하나의 패드만 있습니다.
- 패드의 이름을 원하는 대로 설정합니다. 나는 일반적으로 "1"을 사용합니다.
- Pad의 X 및 Y 위치를 0으로 설정하고 Width 및 Length를 Fiducial의 직경으로 설정합니다. Fidicual이 둥근 경우 Roundness를 100%로 설정합니다. 예를 들어, 1mm 원형 기준점은 X = 0, Y = 0, 너비 = 1, 길이 = 1, 진원도 = 100%로 정의됩니다.
- 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을 찾지 못하는 경우 다음을 시도하십시오:
- 카메라의 Units Per Pixel 값을 설정했는지 확인하십시오. 이를 테스트하는 빠른 방법은 카메라 보기를 마우스 오른쪽 버튼으로 클릭하고 Ruler Reticle을 켜고 기계에 배치된 눈금자와 일치하는지 확인하는 것입니다.
- 납 흡입 심지를 사용하여 fiducial에 땜납을 얇게 덮습니다. 이렇게 하면 제조 과정에서 바로 패드에 나타나는 반사 마감과 비교하여 머신 비전에서 더 쉽게 식별 가능한 무광택 마감이 제공됩니다.
- HASL 보드의 경우, 지우개로 fiducial을 거칠게 만들어 광택을 제거해 보십시오.
- fiducial이 예상 위치에서 특정 거리 내에 있는지 확인합니다. 현재 이 거리는 5mm로 하드코딩 되어있습니다. 이것은 fiducial로 인식되지만 실제로는 그렇지 않은 무언가가 카메라 화면에 포착 되는 것을 방지합니다.
- 기준점에 대해 body 너비와 길이를 설정하지 말고 0으로 둡니다. 패드 정의때만 필요한 매개변수입니다.
- 로그 수준을 DEBUG 또는 TRACE로 변경합니다. 자세한 내용은 https://github.com/openpnp/openpnp/wiki/FAQ#how-do-i-turn-on-debug-logging 을 참조하십시오.
- OpenPnP를 다시 시작하고 fidicual check를 다시 실행해 보십시오.
- fidicual check 실행 후
.openpnp
디렉토리에 'openpnp/org.openpnp.vision.pipeline.stages.ImageWriteDebug'라는 새 디렉토리가 있고 해당 디렉토리 아래에 이미지가 몇개 있습니다. 해당 이미지는 fiducial을 찾는 과정을 보여줍니다.
컴퓨터 비전을 조금 이해하고 있다면 이미지를 보고 문제를 찾을 수 있는지 확인하십시오. 보통 문제는 조명 및 템플릿 크기와 관련이 있습니다. 도움이 되지 않는 경우 이미지를 OpenPnP 메일링 리스트에 게시하면 누군가가 도와줄 것입니다.