Autodesk Eagle 로 PCB 제작하기
PCB를 구성하는 층(layer)
일단 pcb를 구성하는 기본 4개 층을 알아둘 필요가 있다. 1. base layer - 전기가 안통하는 FR4라고하는 유리섬유로 만들어져있다. 1.6mm두께가 일반적이다. 2. copper layer - 전기가 통하는 부분. 얇은 구리의 층이다. 3. soldermask layer - 구리패턴 위를 덮는 초록색 레진 층. 물론 초록색이 아닌 다른 색도 있다. 이 솔더마스크가 칠해진 부분에는 땜납이 묻지 않는다. 즉, 납땜을 하게되는 pad 위치에는 이 초록색 레진을 칠하지 않는다. (도선 위에도 칠한다.) 4. silkscreen layer - 사람이 볼 수 있도록 (보통 흰색으로) 텍스트나 기호를 인쇄한 층. 기능과는 무관하지만 어느구멍에 어느 부품이 와야하는지 알려준다.
- pcb의 한 면은 위와 같은 4개 층으로 이루어져 있으며, 앞, 뒤 양면을 사용한다면 각 면마다 각각4개 layer가 있는것이다.
- 노트북이나 스마트폰같은 복잡한 장치는 앞뒤면 뿐 아니라 여러장의 copper layer 를 사용해 16층까지 샌드위치로 만들기도 한다.
- 그러나 일반적인 회로는 앞뒤면으로 충분하고, eagle 무료버전은 앞뒤면2개 층만 사용할 수 있다.
- eagle에도 위의 4개층+ 몇가지 더 세세하게 편집할 수 있도록 layer가 있다. 이들 레이어는 adobe 포토샵처럼 사용자가 마음대로 만들고 지우는 것이 아니라 미리 각 레이어의 역할이 정해져 있으므로 주요한 레이어의 역할은 꼭 알고있어야 한다.
꼭 보자 참고: https://www.lucidar.me/en/eagle/understanding-layers/
layer no. | name | 역할 |
---|---|---|
1 | Top | 윗면 배선 및 윗면 copper pour |
16 | Bottom | 아랫면 배선 및 copper pour |
17 | Pads | through hole pad |
18 | Vias | Vias |
20 | Dimension | 외곽선과 hole |
21 | tPlace | 윗면 실크인쇄 |
22 | bPlace | 아랫면 실크인쇄 |
25 | tNames | 윗면 name 실크인쇄 |
26 | bNames | 아랫면 name 실크인쇄 |
27 | tValues | 윗면 Value 실크인쇄 |
28 | bValues | 아랫면 value 실크인쇄 |
29 | tStop | 윗면 soldermask |
30 | bStop | 아랫면 soldermask |
31 | tCream | 윗면 SMD FLUX |
32 | bCream | 아랫면 SMD Flux |
35 | tGlue | 윗면 SMD glue |
36 | bGlue | 아랫면 SMD glue |
44 | Drills | 드릴 가공 위치 |
51 | tDocu | 부가정보-인쇄되지 않음 |
기본 용어
- component: 회로 위에 설치되는 각종 부품들을 일컫는다.
- symbol : 회로도 (혹은 회로도에 사용되는 기호)를 말한다.
- package : 부품의 물리적인 형상으로, 동일한 기능을하는 콤포넌트도 제조사가 2개 이상의 다른 package로 판매한다. 문맥에 따라 2가지 조금 다른 의미로 사용된다.
- 3d package : fusion360등에서 읽어 사용할 수 있는 3d 형상
- THM (through hole mounting) 인지 SMD/SMT(surface mount technology)인지, pcb에 부착하는 방법
- footprint : 각 부품의 PCB상의 표현. 동일한 component도 다른 package로 제조되었다면 다른 footprint를 갖는다. pad와, 실크스크린 기호, 이름, 구멍 등을 포함한다.
Autodesk Eagle 설치
- 무료버전은 2-sided, 최대 80cm2 면적까지 제작 가능하다. 일반적인 용도로는 충분하다.
- 여기에서 다운로드
새 project 만들기
- File > New > Project 로 새 프로젝트 만든다.
회로도 (schematic) 그리기
- 회로도를 먼저그린다. 미리 종이위에 그려둔 게 있다면 더 좋다.
- File > New > Schematic 으로 새 회로도를 만든다.
- 'ADD Part' 툴을 사용해 부품들을 라이브러리에서 찾아 넣어준다. 일단은 연결하기 전에 적당한 위치에 배치한다.
- search에서 원하는 부품이 찾아지지 않을 땐
- library manager에서 다른 라이브러리를 다운로드 받는다. (라이브러리 매니저의 'available' 항목에서 리스트 볼 수 있다.)
- 인터넷에서 원하는 부품의 라이브러리를 찾아 다운로드 받는다.
- 동일한 footprint를 가진 다른 부품으로 대체한다.
- 직접 라이브러리를 만든다. (아래 별도 항목)
hint: 부품을 이동하고 회전할 때 아무데나 누르면 잘 안된다. 각 부품의 기준점에 + 표시가 되어있는데, 이부분을 선택해야만 한다. 때로는 기준점이 터무니없이 멀리 있어 못찾는 경우도 있는데, 오토데스크에서 다음 버전엔 꼭 좀 고쳐주라
-
'Name' 툴과 'Value'툴로 부품 이름과 값 적어준다. 예를들어 저항이라면 'R2', '10Kohm' 하는 식으로...
-
'NET' 툴을 사용해 부품을 연결해준다.
board 파일 만들기
- 회로도가 완성되었으면 'Generate/Switch to Board'툴로 보드을 만든다.
격자 크기 설정
'GRID' 명령으로 그리드 를 사용하면 작업하기 수월하다. 1mil == 0.001" 로, 빵판의 한 칸 간격이 100mil 이다.
보드 크기 수정
- 보드의 외곽선 dimension 을 수정하고 싶다면 'info' 툴을 사용한다. 외곽선의 한 변을 선택하고 info에서 'from'과 'to' 값을 수정해준다. 20-demension layer를 확인한다.
부품 배치와 연결
- 부품을 이동/ 회전 시켜 배치하고 'NET' 툴로 연결해준다. 이때 앞면 배선은 1-top layer, 뒷변 배선은 16-bottom layer에 하는 것 잊지 않는다.
-
배선 폭은 6mil기 기본값은이 여유있게 12mil정도로 해주다. 정확한 계산을 위해서는 pcb trace width 계산기 이곳를 활용하자.
-
앞뒤를 연결하는 'VIA'가 필요한 순간이 있을 것이다.
-
net를 지울 때에는 'Ripup'툴을 사용한다.
copper pour (ground plane) 만들기
- 부품이나 배선이 지나가지 않는 남는 pcb의 면 전체를 GND에 연결하면 배선도 쉽고, 무엇보다 노이즈가 줄어드는 효과가 있다.
- gnd에 연결되는 배선은 아직 연결되어있지 않도록 한다. (그림에서 노란색 unrouted 배선.)
- layer 는 1-top 혹은 16-bottom인 상태에서,
-
polygon으로 copper pour 를 채울 사각형 영역을 그려준다. 이 때 isolate옵션으로 부품, 배선으로부터의 이격거리를 설정한다. 예제에서는 12로 했다.
-
signal name을 'GROUND'(혹은 GND)로 정해준다.
-
renest 툴을 사용해 면을 생성한다.
-
이 상태로는 copper pour는 형성 되었지만 gnd에 연결되어있지는 않다. gnd핀에 연결하자.
- unrouted 상태의 gnd 배선 한 가닥을 info 툴로 열고, '$N6'과 같은 형식으로 되어있는 Signal name을 위에서와 같이 'GROUND'로 바꿔준다.
- 완성! 그라운드 핀을 확대해보면 + 모양으로 주변의 copper pour에 연결된 걸 확인할 수 있다.
DRC, ERC 에러 체크
아래 버튼 눌러서 에러 없는지 체크하고 메시지에 따라 처리한다.
gerber 파일로 내보내기
- 우측의 'manufacturing' 버튼을 누르고 미리보기를 확인한 후 'CAM...'을 누른다.
- 거버파일을 레이어별로 확인한 후 'Process Job' 으로 export 한다.
다른 사람이 만든 pcb를 breakout 보드 형태로 가져다 쓰기 (기존 sch, brd 파일에서 footprint 가져오기)
참고: https://forums.autodesk.com/t5/eagle-forum/converting-sch-amp-brd-into-a-single-library-component/td-p/7007483 * 위 링크에서 제시하는 방법대로 design block사용해 보았으나, 디자인블록은 부품의 연결은 유지되지만 부품의 외관선과 배치는 유지되지 않는다. * 또한 위 링크에서 제시하는 다른 방법은 라이브러리를 직접 만드는 것으로, 번거롭기도 하고 정확하게 만들수 있을지 불안하다. * 그래서 아래에서와 같이 Fritzing 용으로 제작된 부품으로부터 eagle 에서 pcb만드는 방법을 사용한다.
Fritzing 부품으로부터 Eagle에서 pcb footprint 만들기
- ULP 중, import-gerber 프로그램을 사용한다.
- 일단 Fritzing 부품을 구하고 fritzing에서 연다. 여기서는 Adafruit VS1053 mp3 breakout 보드를 예제로 사용한다.
-
PCB보기에서 작업영역 안에 들어오도록 배치하도록 하자. 회전할 필요있다면 회전시킨다.
-
파일 > 내보내기 > 생산을위해 > Extended Gerber 로 내보낸다.
- 9개 내외의 파일이 있는데, 각각의 역할을 알아야 한다. 참고:http://fritzing.org/forum/thread/253/
파일확장자 | 대응하는 eagle layer | 설명 |
---|---|---|
.gm1 | outline | |
.gtl | Top Copper | |
.gbl | Bottom Copper | |
.gto | Top silkscreen | |
.gbo | Bottom Silkscreen | |
.gts | Top Soldermask | |
.gbs | Bottom soldermask | |
.txt | Drill, PNP | pnp는 SMT공정에서 필요한듯? |
.dri | Drill station info | Fritzing에서 사용안함 |
.gpi | Photoplotter Info | Fritzing에서 사용안함 |
.gml | Milling | Fritzing에서 사용안함 |
.gtp | Top Paste | Fritzing에서 사용안함 |
- eagle 에서 작업중인 project를 열고, Board 편집 화면으로 간다.
-
ULP > import-gerber 를 선택한다. import-gerber ULP 프로그램은 보드편집모드에서만 작동한다!
-
각각의 gerber 파일을 대응하는 layer에 import한다. 필요한만큼 반복한다. 참고: https://www.lucidar.me/en/eagle/understanding-layers/
gerber파일 | 목표 eagle layer | 목적 |
---|---|---|
.gm1 | 21-tPlace (or 22-bPlace) | 외곽선을 실크스크린인쇄해 위치를 표시한다. |
.gbl | 16-bottom | bottom면 동박 |
.gtl | 1-Top | Top 면 동박 |
~drill.txt | 44-drill | drill |
.gbs | 30-bStop | bottom면 solder마스크 |
.gts | 29-tStop | top면 soldermask |
.gbo | 22-bPlace | bottom면 실크인쇄 |
.gto | 21-tPlace | top면 실크인쇄 |
- 이렇게 했더니 wiring이 안되고, pad에 구멍도 뚫리지 않는 문제저머 발견... 역시나 library로 만들어야 할듯...
직접 부품 만들어 library로 사용하기
참고: https://www.autodesk.com/products/eagle/blog/library-basics-part-1-creating-first-package-autodesk-eagle/ https://www.autodesk.com/products/eagle/blog/library-basics-part-2-creating-first-symbol-autodesk-eagle/ https://www.autodesk.com/products/eagle/blog/library-basics-part-3-creating-first-device-autodesk-eagle/
- file > new > library로 새 라이브러리 만든다
symbol 만들기
- Add symbol 선택해 심볼먼저 만든다
- 이름을 적당히 지어준다.
- pin 을 눌러 핀 먼저 만들어준다.
- 갯수만큼 추가한다. 우클릭하면 회전한다.
- Info 버튼으로 각 핀의 이름과 direction을 변경해준다.
- 위 그림은 핀 방향이 반대가 되었다. 동그라미 달린 부분이 바깥으로 향해야 한다.
- 여러개의 GND 핀이 있는 경우 핀 이름 뒤에 '@숫자'를 붙여주면 모두 동일한 연결로 간주된다.
-
direction은 초급사용자에게는 크게 의미없는 듯한데... 일단 vcc, gnd, 3v3 등 파워 관련한 핀은 모두 'pwr'로 변경하였다. 'pas'는 passive를 의미.
-
line 버튼으로 부품 테두리를 쳐준다. 심볼 완성!
- 저장한다.
footprint 만들기
- add footprint... 누르고 파일 이름지어준다.
-
먼저 'grid' 버튼 눌러서 격자 눈금 크기 정해준다. 단위는 'mm', 'inch', 'mil' 사용할 수 있다. 1 mil = 0.001 inch로, 빵판의 피치(한 칸 간격)이 100mil이다. eagle 격자의 기본값이 50 mil인데, 빵판 간격의 절반이라고 보면 된다.
-
pad 먼저 그려준다. 'pad'버튼을 사용한다. smd용 pad는 그 옆에 있는 버튼이다.
-
헤더핀 꽂기에 적당한 pad size는 pad:66, drill:39 (mil)정도면 좋다.
여기서는 pad array 버튼을 사용해 쉽게 등간격으로 32개 pad를 그렸다. -
51-tDocu layer에 외관선과 기타 정보를 그려넣는다. 이 레이어는 기능과는 전혀 무관한다. 낙서해도 된다.
- 21-tPlace layer에 윗면 silk 인쇄될 내용을 그려넣는다. 각 핀의 라벨 등 넣으면 되겠다. 난기존 부품에서 copy&paste했다.
윤곽선을 20-dimension layer에 두지 말고 반드시 21-tPlace 에 만들자. 나중에 라이브러리에서 부품을 가져와 pcb에 올렸을 때 pcb모양을 잘라내라는 의미가 되버린다. - 25-tName, 27-tValue layer에 text툴로 이름과 값 넣을 자리를 써넣는다. 일단 >name, >value로 써서 라이브러리에 저장해 놓고 나중에 사용할 때 이름과 값을 바꿔준다. footprint 완성! 저장한다.
symbol과 footprint 연결해 device 만들기
- add divece... 눌러 디바이스 만들고 이름지어준다.
- add part 버튼으로 아까 만든 symbol을 추가해준다.
- 오른쪽 아래 new 버튼으로 아까 만든 footprint를 추가해준다.
- 오른쪽 아래 'connect'버튼을 눌러 심볼의 핀과 footprint의 pad를 짝지워준다.
-
모든게 성공적이라면 초록색 체크표시가 나타난다. 완성! 저장한다.
-
원한다면 왼쪽아래 3/4분면에는 description 을 쓸 수도 있다. 여길 잘 써 주어야 library에서 검색할 때 잘 찾을 수 있다.
fusion360 - eagle 연동
참고: https://www.autodesk.com/products/eagle/blog/fusion-360-integration-eagle/
영상 튜토리얼: https://www.youtube.com/playlist?list=PL1rOC5j_Fyi6B0wRJw2GAVEjE_dNR7rlK
* ~~일단 fusion360에서 pcb 기능을 활성화 해 주어야 한다.
preferences > pcb feature 를 체크한다.~~
pcb기능은 preview 단계를 지나 기본 활성화 되어있다.
- 보드편집화면에서 화면 오른쪽의 Fusion360연동 버튼을 누른다.
-
fusion360에서 만들어진 pcb를 볼 수 있다!! 하필이면 위에서 사용한 부품들은 모두 라이브러리에 3d data가 탑재되어있지 않아 납작한 빨간 덩어리로만 표현되었으나, 3d데이터가 있는 부품은 멋지게 그려진다.
-
이제 fusion360에서도, eagle에서도 부품 위치나 pcb크기등 편집할 수 있다. 편입을 마치면 eagle에서 'pull,push'로 동기화 해주어야 한다.
부품 data- footprint, 3D model - 얻는 법
-
https://eagle.componentsearchengine.com/ga/ 에서 대부분의 부품을 다운받을 수 있다.
-
찾아보니 eagle plugin으로 samacsys 라이브러리 로더가 제공된다. 설치방법 참고: https://www.autodesk.com/products/eagle/blog/now-available-new-free-eagle-library-plugin-samacsys/ 참고로 설치할 때 .png파일은 Applications/Eagle9.4/bin 아래로, 나머지 파일은 /Applications/EAGLE-9.4.0/examples/ulps 폴더로 복사하면 된다.(mac) eagle.scr파일은 /Documents/EAGLE/아래에 있다.
-
최초에 samacsys 버튼을 눌러서 실행시키면 회원가입 먼저하고, library를 지정해 주어야 하는데, eagle에서 새라이브러리 만들기로 만든 후(file> new> library) 적당한 이름으로저장하고 browse로 지정하면 된다.
- 라이브러리는 managed library로 바꿔주어야 3d 패키지 적용할 수 있다.
참고
참고: https://www.instructables.com/lesson/PCB-Concepts-and-Materials/