얼마전에 Eagle CAD에 관해서 구글링을 하면서 Sparkfun에서 만든 "Better PCBs in Eagle" 이라는 tutorial을 찾았다.

내가 찾던 자료는 DRC랑 CAM 자료를 찾고 있었는데, Eagle CAD로 PCB 설계를 할때 참고하면 괜찮은 자료일것 같아서 수준 낮은 영어 실력으로 대충 해석해서 대충 설명해 보려고 한다. 구글 번역과 함께.(절대로 정확한 내용파악이 아님을 알려드립니다. ㅜㅜ 의역 다수 포함. 영어가 참 그지 같이 되어 있네요 ㅜㅜ)



Designing a Better PCB

우리는 더 낳은 PCB를 설계하기 위해 스스로 끊임없이 노력한다. 우리가 배운 한가지는 PCB Fab Houses(PCB 제조 업체)들이 열심히 일을 해야 한다는 것만 알고 있다.  PCB가 만들어 지는 것은 쉬운 일이 아니고, Fab house에서 엉망으로 할 수있는 여러가지 경우가 있다. 불행하게도 fab house는 양산품 진행보다 Prototype의 진행에 시간을 더 적기 쓰려는 경향이 있다. 그러므로 우리는'제조'를 위해 PCB를 설계 해야 한다. 이 tutorial은 fab house에서 PCB를 망칠 수 있는 경우의 수를 최소한으로 줄이는 방법을 설명하고 있다.

우리는 몇년간 망쳐진 PCB를 무더기로 가지고 있다. 우리는 좋은 PCB를 받은 경험을 토대로 언제든지 제조를 위한 설계 비법과 팁 공유하기를 원한다. 당신이 prototype PCB를 만들때, 우리가 크게 추천하는 룰을 당신이 이용한다면 당신의 proto가 잘동작할 확률이 높아 질 것이다.

Important File :

  • SparkFun Eagle CAD Rules : 이것은 우리가 몇년동안 작성한 rule list 이다. 당신은 자유롭게 사용하거나 무시할 것이다. 일부의 내용은 Sparkfun 엔지니어들에게 적용되는 내용이고, 대부분의 rule은 모든사람에게 적용이 된다.
  • SparkFun DRC : Eagle CAD DRC (Design Rule Check) 파일이다. 
  • SparkFun CAM : Eagle CAD CAM (거버생성) 파일이다.


Trace Width and Spacing : - 참고로 100mil=2.54mm

Fab House에서 5mil 이하의 trace나 6mil이하의 공간을 다룰수 있다고 해서 당신은 그 사이즈로 설계를 하면 안된다.만약 당신의 보드가 10mil trace와 10mil 공간으로 되어 있다면, trace가 깨지거나 서로다른 trace가 겹치게 되는 PCB를 받을 가능성 높아 질 것이다.

PIC32 development board

 타이트한 간격의 패키지나 끔찍한 쥐 둥지 같은 trace가 있는 복잡한 보드라도 10mil의 tracefmf 8mil 간격으로 라우팅 할 수 있다. 당신이 보드를 라우팅 할 때,  10mil trace로 노력하고 당신이 어떻게 멀리 갈수 있는 놀랄 것이다.(????) 정말 어렵다면 8mil로 해도 괜찮다. 이러한 비결과 규칙의 목적은 제조 결함이 발생하는 것을 제한하는 법이다.


Isolate :

그라운드(파워) 층은 프로젝트에서 좋은 생각이다. 하지만 이 층은 잘못하되 trace 위로 번지게 되는 가능성이 증가하기도 한다.

이게머야!! 그라운드가 잘못 번졌어.

10mil로 분리된 간단한 보드

우리는 Eagle CAD에 polygon pour(GND 깔리는 부분) 초기값인 10mil Isolation을 0.012 나 12mil로 증가 시키길 추천한다. 신호 trace로부터 GND 쿠퍼의 간격이 넓어지게 되므로 제조결함의 가능성이 낮아진다. 그러나 이것은 그라운드의 연결이 끊어질수 있어 당신의 복잡한 선을 확인해야 한다.

Isolation은 넓어져서 좋지만, 그라운드는 끊켜있어 안좋다.

기존의 polygon의 isolation을 늘리기 위해, 'I' 버튼을 클릭 하고, polygon의 경계를 클릭해라.

그리고 Isolate 값을 기본 0.010에서 0.012로 바꾸어라.


Annular Ring :

우리가 발견한 또하나의 문제는 fab house에서 멍청하게 뚫은 Drill 이다. PCB에서 다른 층으로 trace를 연결하려면 우리는 via를 사용 한다. 이 via는 drill보다 큰 보드의 양면으로 동박이 입혀진 2개의 원으로 구성되고, 내부 구멍으로 보드의 양쪽 면의 원이 서로 연결 된다(these are called plated through holes). Via들을 만들며 PCB 작업을 한다. 문제는 동박이 입혀진 원의 크기이다. 원의 중심에 drill이 뚫리지 않으면, drill 구멍이 via와 via 사이의 연결 trace을 끊어 버릴수도 있다.

비아중심에 엉성하게 뚤린 drill

작업한 곳 위에 모든 via가 보이지만, 중요하지 않다. 이 보드에 많이 뚫려 있고 다른 보드에는 더 나쁘게 될수도 있다.  센터와 멀리 drill이 뚫린다면, via와 연결된 trace를 자를수 있다. 이런 현상을 방지하기 위해서, 우리는 via의 고리모양 ring 크기를 증가시켜야한다. 이것을 위해, 우리는 Eagle CAD의 DRC rule을 수정한다.

Eagle CAD DRC Rules의 Restring tap

Restring tap을 클릭한다. Pads의 기본 값은 Top과 Bottom이 10mil 이다. 우리는 ring을 20% 증가하여 12mil로 수정 한다. 이렇게 하면 우리의 prototype PCB의 동작 확률을 높일 수 있다. SparkFun DRC 파일은 12mil로 셋팅된 DRC 파일이다.


Gerber File Generation :

당신의 PCB의 마지막 단계는 좋은 거버를 만들어 내는 것인데, 많은 사람들이 실패한다. Eagle CAD의 CAM file을 이용하여 PCB를 만드는 거버파일을 만든다. 우리는 큰 결함이 있는 거버파일을 만든는 사람을 많이 볼 수 있었다. 우리의 CAM file로 시작 하길 바란다. 정말 당신이 필요하면 수정해서 사용해라. 우리는 수천번 사용해서 문제가 없었다.

우리는 기본 Eagle CAD의 Bottom layer를 미러링 하지 않고 수정을 했고, 표준의 Excellon drill file 출력하고, silkscreen layer는 tPlace layer를 출력 되게 된다. 당신이 보드에 인쇄하고자 하는 모든 텍스트나 라벨은 tPlace layer 위에 넣으면 된다.


Tenting :

Tenting은 soldermask와 via를 설명한다. 보드위의 via들은 soldermask가 노출되거나 덮혀진다. 우리는 via가 덮혀진 것으로(텐팅이라고도 부른다) silkscreen이 깨지는 가능성을 낮추고 보드가 전체적으로 더 좋게 보일수 이게 한다. 걱정말아라. 당신은 멀티미터로 tending 된 via에 멀티미터로 전압과 연결인 되었는지 휠씬 많이 조사할 수 있다.- 당신이 구멍안으로 probe를 넣으면 soldermask가 부서질 것이다. 하지만, tenting via에 납땝을 하기는 더 어려울 것이다. 

Untenting via들. 못생긴 slikscreen. 10mil보다 작은 isolation plane.

FT245LR 확장핀(breakout)의 bottom면이 위에 보여진다. WR'와 'RE' 중간에 untented 된 via가 있어 Pin의 라벨이 완전히 읽기 어렵다. 'RE'을...기억하지 못한다.

Tented 된 via. 행복한 silkscreen. 12mil로 isolation 된 polygon층

XBee-Explorer의 Bottom면에서 본 것이다. 나는 라벨을 피해 via를 이동시키는게 좋은 것으로 알고 있었지만, 나만 그랬다. 

Tenting은 Eagle CAD의 DRC rule을 조심히 수정해야 한다. Tent이 되었는지 안되었는지 보려면, display 버튼을 클릭하여 모든 layer를 활성화 시켜야 한다.


'i'버튼 아래에 Display가 있다.

'All'을 클릭하고 OK.

모든레이어가 활성화 되어 보드의 많은 잔상들이 생기될 것이다. 당신이 찾는  lack solder mask 에 하얀 Hatch mask가 나타날 것이다.(??) 나타날 것이다. 상단의 화살표가 가리키는 via에는 hatch mask가 없고, 그 비아 위에  un lack solder mask 가 보일것 이다.(이것이 tenting) 하단의 화살표가 가리키는 큰구멍은 위에 하얀 hatch mask가 있다. 이곳은 필요로 인해 노출되는 납땜 포인트 이다. 하얀 hatch mask는 이 구멍보다 크게 lack solder mask 가 보이고, 이곳에 납땜을 할 수 있다.

(a lack이 부족하다 라는 의미 말고 다른 의미가 있나?)

당신의 설계에서 DRC rules를 열어, via에 tent를 할수 있다.(Tools -> DRC menu)

DRC Rules - Mask Tab

Limit 값을 당신이 사용하는 via보다 크게 증가 시켜라. 예를 들어, 당신 보드의 via 기본값이 0.023 라면, Limit을 25mil로 변경하게되면 25mil(0.025)이하의 drill이 뚫린 곳은 sloder mask가 덮혀진다. (solder mask를 납땜하는 곳이 아닌 잉크가 덮혀지는 것으로 표현 한것 같은 느낌이네) 숫자를 너무 높게 설정하지 않도록 주의 해라! 커넥터와 같이 납땜을 해야하는 중요한 구멍에 도 뎦혀질 수도 있다. SparkFun DRC 파일은 25mil로 설정되어 있다.


Label everithing, all the time :

이것은 또 다른 구미는 사안으로, 종종 골치가 아팠다. 당신의 보드에 모든 button, switch, LED, pin 그리고 특히 전원 커넥터에 라벨을 해야 한다. 그것들 모두!!


라벨!! 그것들은 매우 쉽지만, 자주 간과한다.

  1. USB커넥터 옆의 LED는 무엇을 의미하는가? POWER LED? 아니면 상태 LED?
  2. 오른쪽 상단 모서리에 있는 POWER커넥터 옆에 slide switch가 있다. POWER switch? 어떤 기능을 ON시키는 것인가?
  3. 보드에 많은 핀들이 있다.- 라벨이 하나도 없다. 왜 없어? silkscreen은 무료이다!
  4. Bettery 커넥터쪽에 있는 '+'와 '-' 작은 표시가 이 보드에서 잘한 일이다. 이것은 좋지만, 입력이 허용되는 전압의 범위가 있으면 도움이 될것이다. '3-7V' 같은 표시가 사용에 유용할 것이다.
물론, 오늘은 LED가 무슨역활을 하는지 기억 하겠지만, 지금으로 부터 3개월 후에 당신의 parts bin에서 발견하게되면?

나는 개인적으로 보드에 일부 part indicator를 넣지 않는다. 물론 보드를 조립할때 10k 저항, 0.1uF 캐패시터, LED의 색깔을 알아야 한다. 하지만 그것은 assembly sheet에 포함되어야 한다. 한번 디바이스가 만들어지면, '22pF'캐패시터를 알 필요가 없고 'U1' 으로 표신된 큰 IC를 알 필요가 없다. 보드를 고쳐야 한다면, 회로도나 레이아웃을 어떻게든 열어야 할 것이다.

다른면으로, pin의 기능을 아는 것은 좋은 것이다. 바로거기에 명확하게 표시되면 나는 추측 할 필요가 없을 것이다. Power를 연결 할 때 마다, 전원을 거꾸로 연결하지 않도록 기도를 안할 수가 없다. Power를 거꾸로 연결 한다면 LED가 켜질것인가? 아니면 저것은 Link connection LED 인가?


ADXL330 Breakout

매우 기능적이면서 깔끔하게 된 라벨의 좋은 예가 여기에 있다. 가속도계를 사용할 때, 당신은 축의 위치를 아마도 원할 것이다. 맞다. 당신은 datasheet를 보겠지만, 왜 이 보드처럼 정보를 보드에 적지 않는가?


여기까지가 본문 내용이다. 영어 실력이 부족해서 그냥 의역한것이 너무 많다..답답하신분들은 원문 페이지에서 직접 해석하시길....나도좀 알려주면 좋구요~ 해당글 댓글로 어떤 다사람이 다른 팁을 올라와 있는데 그건 나중에 해석하는걸로~ 

Eagle Rules.pdf

sfe-gerb274x.cam

SparkFun.dru





+ Recent posts