본문 바로가기
헝클어진 회로/KiCAD

KiCad 라이브러리 구조

by 배굿맨 2021. 1. 19.

kicad가 심볼과 풋프린트를 어떻케 관리하는지를 알아보자.

 

ultralibrary로 라이브러리 3개를

LTV-8116S

AZ1117CH-3.3TRG1

AZ1117CH-5.0TRG1

 

다운로드 받으면 아래와 같은 위치와 형태로 저장하게 된다.

 

ultralibrary\*.lib //심볼파일을 담고 있는 라이브러리

ultralibrary\fp_ultralibray\*.kicad_mod //각각의 풋프린트파일

 

심볼파일을 담고 있는 라이브러리 파일은 풋프린트와 같이 제품명으로 각각 만들어 주게 되면, 해당 심볼을 이용하려면 매번 라이브러리 매니저에서 심볼이름과 같은 라이브러리를 추가해주어야 한다. 매우 번거롭다. 그냥 ultralibray.lib만 등록하면 될 것 같은데...

 

그래서 KiCad는 어떻케 라이브러리를 관리하나 보았더니 

 

c:\Program Files\KiCad\share\kicad\library\

 

4xxx.dcm

4xxx.lib

...

74xx.dcm

74xx.lib

...

 

 

type 4xxx.dcm[Enter]

EESchema-DOCLIB  Version 2.0

#

$CMP 14528

D Monostable

K CMOS

F www.onsemi.com/pub/Collateral/MC14528B-D.PDF

$ENDCMP

#

$CMP 14529
D Dual 4 to 1 Multiplexer
K CMOS MUX MUX4 

F www.alldatasheet.com/datasheet-pdf/pdf/97272/HITACHI/HD14529B.html

$ENDCMP

...

type 4xxx.lib[Enter]

EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# 14529
#
DEF 14529 U 0 40 Y Y 1 L N
F0 "U" -300 750 50 H V C CNN
F1 "14529" -300 -850 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
 DIP?16*
$ENDFPLIST
DRAW
S -300 700 300 -800 1 1 10 f
X STX 1 -500 -600 200 R 50 50 1 0 I
X W 10 500 100 200 L 50 50 1 0 T
X Y3 11 -500 -200 200 R 50 50 1 0 I
X Y2 12 -500 -100 200 R 50 50 1 0 I
X Y1 13 -500 0 200 R 50 50 1 0 I
X Y0 14 -500 100 200 R 50 50 1 0 I
X STY 15 -500 -700 200 R 50 50 1 0 I
X VDD 16 0 900 200 D 50 50 1 0 W
X X0 2 -500 600 200 R 50 50 1 0 I
X X1 3 -500 500 200 R 50 50 1 0 I
X X2 4 -500 400 200 R 50 50 1 0 I
X X3 5 -500 300 200 R 50 50 1 0 I
X A 6 -500 -400 200 R 50 50 1 0 I
X B 7 -500 -500 200 R 50 50 1 0 I
X VSS 8 0 -1000 200 U 50 50 1 0 W
X Z 9 500 600 200 L 50 50 1 0 T
ENDDRAW
ENDDEF
#
# 4001
#
DEF 4001 U 0 40 Y Y 5 L N
F0 "U" 0 50 50 H V C CNN
F1 "4001" 0 -50 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
 DIP?14*
$ENDFPLIST
DRAW
A -360 0 258 354 -354 1 1 10 N -150 150 -150 -150
A -47 -52 204 150 837 1 1 10 f 150 0 -24 150
A -47 52 204 -150 -837 1 1 10 f 150 0 -24 -150
A -360 0 258 354 -354 2 1 10 N -150 150 -150 -150
A -47 -52 204 150 837 2 1 10 f 150 0 -24 150
A -47 52 204 -150 -837 2 1 10 f 150 0 -24 -150
A -360 0 258 354 -354 3 1 10 N -150 150 -150 -150
A -47 -52 204 150 837 3 1 10 f 150 0 -24 150
A -47 52 204 -150 -837 3 1 10 f 150 0 -24 -150
A -360 0 258 354 -354 4 1 10 N -150 150 -150 -150
A -47 -52 204 150 837 4 1 10 f 150 0 -24 150
A -47 52 204 -150 -837 4 1 10 f 150 0 -24 -150
A 0 0 150 -899 899 1 2 10 f 0 -150 0 150
A 0 0 150 -899 899 2 2 10 f 0 -150 0 150
A 0 0 150 -899 899 3 2 10 f 0 -150 0 150
A 0 0 150 -899 899 4 2 10 f 0 -150 0 150
S -200 300 200 -300 5 1 10 f
P 2 1 1 10 -150 -150 -25 -150 f
P 2 1 1 10 -150 150 -25 150 f
P 12 1 1 -1000 -25 150 -150 150 -150 150 -140 134 -119 89 -106 41 -103 -10 -109 -59 -125 -107 -150 -150 -150 -150 -25 -150 f
P 2 2 1 10 -150 -150 -25 -150 f
P 2 2 1 10 -150 150 -25 150 f
P 12 2 1 -1000 -25 150 -150 150 -150 150 -140 134 -119 89 -106 41 -103 -10 -109 -59 -125 -107 -150 -150 -150 -150 -25 -150 f
P 2 3 1 10 -150 -150 -25 -150 f
P 2 3 1 10 -150 150 -25 150 f
P 12 3 1 -1000 -25 150 -150 150 -150 150 -140 134 -119 89 -106 41 -103 -10 -109 -59 -125 -107 -150 -150 -150 -150 -25 -150 f
P 2 4 1 10 -150 -150 -25 -150 f
P 2 4 1 10 -150 150 -25 150 f
P 12 4 1 -1000 -25 150 -150 150 -150 150 -140 134 -119 89 -106 41 -103 -10 -109 -59 -125 -107 -150 -150 -150 -150 -25 -150 f
P 4 1 2 10 0 150 -150 150 -150 -150 0 -150 f
P 4 2 2 10 0 150 -150 150 -150 -150 0 -150 f
P 4 3 2 10 0 150 -150 150 -150 -150 0 -150 f
P 4 4 2 10 0 150 -150 150 -150 -150 0 -150 f
X VDD 14 0 500 200 D 50 50 5 0 W
X VSS 7 0 -500 200 U 50 50 5 0 W
X ~ 1 -300 100 170 R 50 50 1 1 I
X ~ 2 -300 -100 170 R 50 50 1 1 I
X ~ 3 300 0 150 L 50 50 1 1 O I
X ~ 4 300 0 150 L 50 50 2 1 O I
X ~ 5 -300 100 170 R 50 50 2 1 I
X ~ 6 -300 -100 170 R 50 50 2 1 I
X ~ 10 300 0 150 L 50 50 3 1 O I
X ~ 8 -300 100 170 R 50 50 3 1 I
X ~ 9 -300 -100 170 R 50 50 3 1 I
X ~ 11 300 0 150 L 50 50 4 1 O I
X ~ 12 -300 100 170 R 50 50 4 1 I
X ~ 13 -300 -100 170 R 50 50 4 1 I
X ~ 1 -300 100 150 R 50 50 1 2 I I
X ~ 2 -300 -100 150 R 50 50 1 2 I I
X ~ 3 300 0 150 L 50 50 1 2 O
X ~ 4 300 0 150 L 50 50 2 2 O
X ~ 5 -300 100 150 R 50 50 2 2 I I
X ~ 6 -300 -100 150 R 50 50 2 2 I I
X ~ 10 300 0 150 L 50 50 3 2 O
X ~ 8 -300 100 150 R 50 50 3 2 I I
X ~ 9 -300 -100 150 R 50 50 3 2 I I
X ~ 11 300 0 150 L 50 50 4 2 O
X ~ 12 -300 100 150 R 50 50 4 2 I I
X ~ 13 -300 -100 150 R 50 50 4 2 I I
ENDDRAW
ENDDEF

...

 

dcm파일이 라이브러리에 포함된 심볼의 추가 설명서이고 lib는 실제의 설계도면임을 확인했다.

 

그러면, dcm은 안 만들어도 되는것 같고, lib만 하나로 묶어보자.

 

lib 파일은

 

EESchema-LIBRARY Version 2.4 //선언문

#encoding utf-8 //
#
# 14529
#
DEF 14529 ~~

...

ENDDEF

#
# 14530
#

DEF 14530 ~~

...

ENDDEF

...

#End Library

 

와 같은 구조를 가진다.

 

그래서 ultralibrary.lib 파일을 만들고 내용은 다음과 같이 넣었다.

 

type ultralibrary[Enter]

EESchema-LIBRARY Version 2.3  Date: 21-02-2013 11:13:20
#encoding utf-8
#
# LTV-816S
#
DEF LTV-816S Q 0 0 Y N 1 L N
F0 "Q" 900 700 60 H V C CNN
F1 "LTV-816S" 900 500 60 H V C CNN
F2 "LTV-816S_LTO" 900 440 60 H I C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
 LTV-816S_LTO
 LTV-816S_LTO-M
 LTV-816S_LTO-L
$ENDFPLIST
DRAW
X 1 1 0 0 300 R 59 59 1 1 U
X 2 2 0 -300 300 R 59 59 1 1 U
X 3 3 1700 100 300 L 59 59 1 1 U
X 4 4 1700 -500 300 L 59 59 1 1 U
P 5 1 1 0 1198 -400 1164 -389 1190 -365 1202 -400 1198 -400 F
P 4 1 1 0 951 -98 901 -123 901 -73 951 -98 F
P 4 1 1 0 949 -200 899 -225 899 -175 949 -200 F
P 5 1 1 0 575 -100 425 -100 500 -175 575 -100 575 -100 F
P 2 1 1 5 1200 0 1200 100 N
P 2 1 1 5 1100 -400 1100 0 N
P 2 1 1 5 1200 0 1100 -100 N
P 2 1 1 5 300 300 300 -700 N
P 2 1 1 5 1100 -300 1200 -400 N
P 2 1 1 5 300 -700 1400 -700 N
P 2 1 1 5 700 -200 900 -200 N
P 2 1 1 5 700 -100 900 -100 N
P 2 1 1 5 1400 -500 1200 -500 N
P 2 1 1 5 1400 -700 1400 300 N
P 2 1 1 5 1200 100 1400 100 N
P 2 1 1 5 1400 300 300 300 N
P 2 1 1 5 500 0 500 -300 N
P 2 1 1 5 425 -175 575 -175 N
P 2 1 1 5 500 0 300 0 N
P 2 1 1 5 500 -300 300 -300 N
P 2 1 1 5 1200 -400 1200 -500 N
ENDDRAW
ENDDEF
#
# AZ1117CH-3.3TRG1
#
DEF AZ1117CH-3.3TRG1 U 0 10 Y Y 1 L N
F0 "U" 1000 400 60 H V C CNN
F1 "AZ1117CH-3.3TRG1" 1000 300 60 H V C CNN
F2 "SOT-223_DIO" 1000 240 60 H I C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
 SOT-223_DIO
 SOT-223_DIO-M
 SOT-223_DIO-L
$ENDFPLIST
DRAW
X ADJ/GND 1 0 0 300 R 59 59 1 1 B
X OUTPUT 2 0 -100 300 R 59 59 1 1 O
X INPUT 3 2000 -100 300 L 59 59 1 1 I
X EPAD 4 2000 0 300 L 59 59 1 1 U
P 2 1 1 5 300 200 300 -300 N
P 2 1 1 5 300 -300 1700 -300 N
P 2 1 1 5 1700 -300 1700 200 N
P 2 1 1 5 1700 200 300 200 N
ENDDRAW
ENDDEF
#
# AZ1117CH-3.3TRG1
#
DEF AZ1117CH-3.3TRG1 U 0 10 Y Y 1 L N
F0 "U" 1000 400 60 H V C CNN
F1 "AZ1117CH-3.3TRG1" 1000 300 60 H V C CNN
F2 "SOT-223_DIO" 1000 240 60 H I C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
 SOT-223_DIO
 SOT-223_DIO-M
 SOT-223_DIO-L
$ENDFPLIST
DRAW
X ADJ/GND 1 0 0 300 R 59 59 1 1 B
X OUTPUT 2 0 -100 300 R 59 59 1 1 O
X INPUT 3 2000 -100 300 L 59 59 1 1 I
X EPAD 4 2000 0 300 L 59 59 1 1 U
P 2 1 1 5 300 200 300 -300 N
P 2 1 1 5 300 -300 1700 -300 N
P 2 1 1 5 1700 -300 1700 200 N
P 2 1 1 5 1700 200 300 200 N
ENDDRAW
ENDDEF#
#

# AZ1117CH-5.0TRG1
#
DEF AZ1117CH-5.0TRG1 U 0 10 Y Y 1 L N
F0 "U" 1000 400 60 H V C CNN
F1 "AZ1117CH-5.0TRG1" 1000 300 60 H V C CNN
F2 "SOT-223_DIO" 1000 240 60 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
 SOT-223_DIO
 SOT-223_DIO-M
 SOT-223_DIO-L
$ENDFPLIST
DRAW
P 2 1 1 5 300 -300 1700 -300 N
P 2 1 1 5 300 200 300 -300 N
P 2 1 1 5 1700 -300 1700 200 N
P 2 1 1 5 1700 200 300 200 N
X ADJ/GND 1 0 0 300 R 59 59 1 1 B
X OUTPUT 2 0 -100 300 R 59 59 1 1 O
X INPUT 3 2000 -100 300 L 59 59 1 1 I
X EPAD 4 2000 0 300 L 59 59 1 1 U
ENDDRAW
ENDDEF

#End Library

 

그런 후 다음과 같이 라이브러리에 등록하게 되면

 

위 그림과 같이 ultralibrary안에 심볼이 잘 들어가 있음을 볼 수 있다.

 

풋프린트는 풋프린트 폴더에 각각의 파일로 들어가 있으므로 추가적으로 작업할 필요는 없다.

 

그런데 ultralibrary 심볼 중에서 못생긴 심볼은 자주 바꾸고 싶은 마음이 생긴다. 그러면, 풋프린트는 그대로 쓰면 되므로, ultralibrary 폴더를 my_kicad_lib에 아래와 같이 복사해 놓는다. 

 

심볼에디터를 클릭한다.

심볼에디터를 불러왔다. 심볼을 수정하자.

심볼을 저장하자.

저장하려고 보니 아래 그림처럼 my_kicad_lib가 없다.

 

my_kicad_lib를 라이브러리 매니저에서 등록한다.

이런... 

등록 먼저 했어야 하는데... 꼼수를 써야 겠다. 심볼을 모두 클립보드에 넣고 Discard Changes 해 보자.

 

라이브러리 매니저를 열고

my_kicad_lib 폴더를 포함시킨다.

3개의 라이브러리에 az111* 이라는 심볼이 있다라는 화면이다.

mykicad>AZ1117CH-3.3TRG1을 더블 클릭하면 ultralibrary>AZ1117CH-3.3TRG1의 심볼과 같은 화면을 볼 것이다.

모두 지우고 아까 클립보드에 넣은 것을 복사해 오자.

 

 그런 후 저장하면 끝.

 

끝으로 할 말은... 풋프린트를 만들기는 어려우니 가지고 와서 그대로 사용하는 것이 좋고, 심볼은 만들어져 있는것을 변형해서 쓰는 것이 좋다.

 

이도 저도 바쁘면 그냥써도 무방하다.

 

 

'헝클어진 회로 > KiCAD' 카테고리의 다른 글

저항 어레이 심볼과 풋프린트 찾기  (0) 2021.01.29
커넥터그리기  (0) 2021.01.22
KICAD 에 심볼, 풋프린트 가져오기  (0) 2021.01.06
Filter Pro Desktop  (0) 2020.11.19
KiCad Autorouting  (0) 2020.11.13