동일한 프로젝트에서 여러 PCB 설계하기

Ari Mahpour
|  작성 날짜: 오월 9, 2021  |  업데이트 날짜: 칠월 1, 2024
동일한 프로젝트에서 여러 PCB 설계하기

PCB 설계의 대부분은 Altium Designer 프로젝트(즉 .PrjPcb 파일)에서 단일 PCB로 진행됩니다. 때때로 여러 스터핑 옵션의 변형을 사용하여 설계하는 경우도 있죠. 이런 일은 다양한 스터핑 옵션이 있는 여러 PCB가 필요한 단일 프로젝트에서는 거의 발생하지 않지만, 발생하는 경우 많은 사람을 곤란에 빠뜨리곤 합니다. 저는 설계자가 프로젝트를 포크(즉, 복사 및 붙여넣기)한 후 회로도 및/또는 PCB에 약간의 변형을 추가하는 것을 아주 많이 보아 왔습니다. 보통 돌아가서 설계를 업데이트해야 하는 경우를 제외하고는 이 방법을 사용해도 괜찮습니다. 여러분은 두 프로젝트에 변경 사항을 어떻게 똑같이 적용하며, 이러한 변경 사항이 동일하다고 어떻게 보장하시나요? 그리고 이러한 경우가 얼마나 많이 발생하나요(수정 버전 A, B, C 등)? 이 문서에서는 단일 프로젝트 내에서 여러 PCB 설계를 관리하여 신뢰할 수 있는 단일 소스를 보장하는 방식을 검토할 것입니다. 또한 저의 지난 문서인 팬데믹 프로토타이핑: 거실에서 전자 장치 구축하기에 나와 있는 기판을 사용한 예시도 살펴보겠습니다.

프로젝트 파일 설정

여기에서 우리의 목표는 회로도 내에서 신뢰할 수 있는 단일 소스를 유지하면서 PCB 자체의 변형을 라우팅할 수 있도록 하는 것입니다. 이 예시에서 저는 다음과 같이 두 PCB가 포함된 단일 회로도를 생성했습니다.

그림 1: 여러 PcbDoc을 포함한 프로젝트 파일
그림 1: 여러 PcbDoc을 포함한 프로젝트 파일

상단에 Variants(변형)도 있다는 걸 확인하실 수 있을 것입니다. 저는 Kiln Controller에 대해 두 가지 변형을 만들었습니다. 하나는 Raspberry Pi(표준 크기)용이고 다른 하나는 Raspberry Pi Zero용입니다. 표준 크기는 기본적으로 Zero의 더 큰 버전이므로 저는 Raspberry Pi Zero Hat 설계를 라우팅하기 시작했습니다. 라우팅을 완료한 후에는 전체 PCB 설계를 복사하여 표준 크기 PCB(PiHat - Full.PcbDoc)에 붙여넣었습니다. 컷아웃, 다각형 주입 영역, 기판 아웃라인 등에는 약간의 수정이 필요했지만 컴포넌트와 경로는 동일하게 유지했습니다.

회로도에서 저는 다음과 같이 두 설계에 모두 존재하는 모든 컴포넌트를 포함했습니다(해당 컴포넌트가 스터핑되어 있는지는 상관하지 않음).

그림 2: 변형이 없는 회로도
그림 2: 변형이 없는 회로도

저는 표준 크기 Raspberry Pi Hat에 여유 공간이 많다는 것을 깨닫고는 AC-DC 컨버터를 기판에 포함하기로 했습니다. 물론 문제는 이를 회로도에 추가하면 이것이 더 작은 Pi Hat 기판의 PCB로 가져오기된다는 것입니다. 전체 크기(Full 버전)를 원하는 것이 아니기 때문에 저는 다음과 같이 일부러 이것이 PcbDoc으로 가져오기되지 않도록 했습니다.

그림 3: 스터핑되지 않은 부품을 명시적으로 가져오지 않음
그림 3: 스터핑되지 않은 부품을 명시적으로 가져오지 않음

설계에 컴포넌트가 없으므로 '라우팅되지 않는' DRC 오류는 발생하지 않습니다. 다음과 같이 DNI(Do Not Install) 옵션도 변형에 추가해 보겠습니다.

그림 4: 전체 크기 기판에 대한 DNI
그림 4: 전체 크기 기판에 대한 DNI
그림 5: Pi Zero 기판에 대한 DNI
그림 5: Pi Zero 기판에 대한 DNI

혼동을 피하기 위해 저는 Full 버전에 대해 DC 전원 커넥터를 완전히 제거했으며(AC 입력을 사용하고 있기 때문) Pi Zero 버전에서는 반대로 했습니다.

Output Job 파일

회로도를 설계하고, 기판을 라우팅하고, 스터핑 옵션을 구성했으므로 이제 Output Job 파일을 설정해야 합니다. 이러한 Output Job 파일은 각각의 스터핑 옵션으로 각 기판을 구축하는 데 필요한 제작 및 어셈블리 패키지를 생성합니다. 이는 매우 중요한 단계이나 종종 간과되곤 합니다. 그러면 공급업체를 위한 패키지를 생성할 때 큰 곤란을 겪게 됩니다.

이 예시에서는 각 PCB에 대해 별도의 Output Job 파일이 있습니다. 단순화를 위한 파일로는 제작 및 어셈블리 모두를 위한 단일 Output Job 파일이 있습니다(이는 보통 Altium Designer 예시 프로젝트에서 두 .outjob 파일로 분리됨). 그림 6 및 7에서 볼 수 있듯이 .outjob 파일은 변형 선택 및 PcbDoc 선택을 제외하고 동일합니다. 여러 스터핑 옵션의 경우 우리는 창 상단에 있는 변형 옵션을 사용합니다. 또한 지정된 PCB만 스터핑하기 위해 관심 있는 PCB에만 해당하는 패키지를 생성합니다. 'Pi' 변형(이는 표준 크기 Raspberry Pi Hat을 스터핑함)에 대해 'PiHat - Full(즉, 전체 크기)' PCB 파일을 선택하는 경우를 예로 들어 보겠습니다. 이 경우 우리는 Raspberry Pi Zero Hat에 대한 제작 및 어셈블리 패키지를 생성하는 데 관심이 없습니다. 더 작은 Raspberry Pi(Zero) Hat에 대해서도 마찬가지입니다. 따라서 우리는 관심 있는 기판만 제작하고 조립하는 데 필요한 파일을 생성합니다. 

그림 6: 전체 크기 프로젝트 변형 및 PCB가 선택된 Outjob 파일
그림 7: Pi Zero 크기 프로젝트 변형 및 PCB가 선택된 Outjob 파일
그림 7: Pi Zero 크기 프로젝트 변형 및 PCB가 선택된 Outjob 파일

마지막으로, 일부 재사용을 가능하게 하기 위해 다음과 같이 Folder Structure Settings(폴더 구조 설정)에서 특수 문자열을 사용합니다.

그림 8: 특수 문자열을 사용하여 프로그래밍 방식으로 출력 폴더 이름 지정
그림 8: 특수 문자열을 사용하여 프로그래밍 방식으로 출력 폴더 이름 지정

이렇게 하면 변형 이름을 기반으로 하위 폴더가 자동으로 생성되며, 변형 이름이 변경되면 해당 폴더도 변경됩니다.

스크립트나 다른 수단을 통해 이러한 Output Job 파일을 더욱 압축하는 방법은 더 많지만 이 문서에서 다루는 내용에서는 벗어납니다. 이 문서는 이 작업이 어떻게 가능한지를 보여 주고 설정하는 많은 방법 중 하나의 예를 제공하는 것을 목적으로 합니다.

결론

이 문서에서는 신뢰할 수 있는 단일 소스를 기반으로 하는 여러 PCB를 관리할 때 설계자가 직면하는 문제에 대해 논의했습니다. 우리는 프로젝트의 사본을 여러 개 만들고 관리하는 대신, Output Job 구성을 통해 여러 PCB에 대한 설계를 진행하면서 단일 PCB 프로젝트를 유지합니다. 이러한 구성은 프로젝트 내에서 여러 PcbDoc 파일을 유지하면서도 해당 기판에만 해당하는 패키지를 생성할 수 있게 해 줍니다. 이 기술을 활용하면 설계자는 여러 PCB에 배포되는 단일 프로젝트를 업데이트하여 시간과 비용을 절약할 수 있습니다.

Altium이 다음 PCB 설계에 어떻게 도움이 될 수 있는지 자세히 알아보고 싶으신가요? Altium의 전문가와 상담하여 쉽고 자신 있게 설계 결정을 내리는 방법에 대해 자세히 알아보세요.

작성자 정보

작성자 정보

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

관련 자료

관련 기술 문서

홈으로 돌아가기
Thank you, you are now subscribed to updates.