Altium Designer 統合ライブラリの基本・作成方法

基板設計をするためには回路図を書き、基板上の部品配置を行わないといけません。

そのために、まずは部品のライブラリを整備することが重要で、私はこの作業にかなりの時間を費やします。

多数の部品を扱っていると、意外と公開されているライブラリが間違っていたりします。

そのため、公開されているライブラリはそのまま使用せず、面倒でも自分で作り直す作業を必ずしているのです。

 

Altium Designerは「統合ライブラリ(拡張子.IntLib)」という仕組みで部品のライブラリを持っています。

これは、回路図から基板上の部品配置など、部品に関する全ての情報が入っているファイルになります。

しかし、この統合ライブラリのファイルは直接編集できるわけではなく、ソースライブラリからコンパイルする形で生成します。

ソースライブラリは、「統合ライブラリパッケージ(拡張子.LibPkg)」というプロジェクトファイルの他に「回路図ライブラリ(拡張子.SchLib)」「PCBライブラリ(拡張子.PcbLib)」などのいくつかのファイルから構成されるものです。

コンパイルを行うことによって、これらの全ての情報を統合ライブラリに取りまとめて出力するような形となっています。

 

ライブラリの保存計画

最近のバージョンでは少なくなったと聞くのですが、昔のバージョンではAltium Designerが落ちることが多かったのです。

巨大なソフトウェアですし、どこかでメモリリークしているのかとは思いますが、取れる対策はDropbox等のオンラインストレージ上で作業するということでした。

今はNextCloudを使用していますが、保存のたびにHistoryフォルダに過去のファイルが保存されるためか、Historyフォルダだけ同期保留中になっていることが多いです。

それ以外のファイルはバックアップが取れているため気にしないこととしていますが、気になる方は他の方法を探ってみてください。

 

ソースライブラリの保存先

私はNextCloud上にAltium/Libraryというフォルダを作り、用途ごとにライブラリを作りたいため以下のフォルダ分けをしています。

フォルダ名と同じ「統合ライブラリパッケージ(拡張子.LibPkg)」を作成しています。

そのため、コンパイルを行うと、フォルダ名と同じ「統合ライブラリ(拡張子.IntLib)」が作成される仕組みになっています。

フォルダ名 概要
Analog オペアンプやコンパレータ等アナログ系IC。電流センスアンプも
Audio オーディオアンプやオーディオインターフェース用ICなど。
Capacitor コンデンサ
Clock 水晶やRTC等クロック関係部品
Connector コネクタ
DataConverter ADCやDAC等のデータコンバーターIC
Diode ダイオード
Display LCDディスプレイ
Inductor インダクタ
Interface I/Oエキスパンダ・I2C関係や、UART等のドライバ等インターフェース関係IC
Logic ロジックIC
MCU マイコン・マイコンボード
Memory EEPROMやSRAM等のメモリIC
Optical 光学部品。LEDやフォトカプラ等
PLD CPLD・FPGA
Power 電源関係IC
Protection 保護関係。ヒューズやPTC等
Resistor 抵抗
RF RF関係
Sensor センサー等
Switch スイッチ
Transformer パルストランス等
Transistor トランジスタ・IGBTやMOSFETも

あくまでも私が実践している方法ですので、例として参考にするまでで各自使いやすい管理方法を考えてみてください。

私は使用していませんが、フリーのAltiumライブラリ「Celestial Altium Library」も存在しています。

 

ソースライブラリの作り方(種類で振り分ける例:Connector)

ファイル名 種別 概要
Connector.LibPkg 統合ライブラリパッケージ プロジェクトファイル
External.PcbLib PCBライブラリ フットプリント(外部向け・DCジャック・BNC・USB等PC関係・音声コネクタ他)
External.SchLib 回路図ライブラリ 回路図記号
Header.PcbLib PCBライブラリ フットプリント(ピンヘッダやピンソケット等、基板上で使用するヘッダー)
Header.SchLib 回路図ライブラリ 回路図記号
JST.PcbLib PCBライブラリ フットプリント(JSTのコネクタ・XH・VH等)
JST.SchLib 回路図ライブラリ 回路図記号
Terminal.PcbLib PCBライブラリ フットプリント(基板取付のターミナル・ネジ端子・ファストン端子等)
Terminal.SchLib 回路図ライブラリ 回路図記号

生成される統合ライブラリファイル:「Project Outputs for Connector」フォルダ以下「Connector.IntLib」

回路図ライブラリとPCBライブラリは統合ライブラリパッケージに任意の数を登録できます。

しかし、複数ファイルに分かれていても、統合ライブラリになると全て混ざった状態で1つのライブラリとして表示されるため、ソースライブラリを作る際の分類でしかないです。

 

ソースライブラリの作り方(型番で振り分ける例:Logic)

ファイル名 種別 概要
Logic.LibPkg 統合ライブラリパッケージ プロジェクトファイル
Logic.PcbLib PCBライブラリ フットプリント(ロジックIC向け、SOIC/TSSOP等)
74ACT.SchLib 回路図ライブラリ 回路図記号(74ACT......)
74AVC.SchLib 回路図ライブラリ 回路図記号(74AVC......)
74LVC.SchLib 回路図ライブラリ 回路図記号(74LVC......)

生成される統合ライブラリファイル:「Project Outputs for Logic」フォルダ以下「Logic.IntLib」

ロジックICは種類は多くとも、パッケージの種類はそこまで多くないため、先程の例とは違って、PCBライブラリは1つです。

 

回路図ライブラリの書き方

 

他のライブラリを参考にする

 

LCSCのパーツ番号を追加しておく

LCSC Part #

JLCPCB Help Center - How to generate Bill of Materials and Centroid File from Altium

抵抗などの同じパッケージで種類が多い場合、実際の値はValue等で入れている場合があると思います。

その場合は、1つの部品に定まらないため、LCSCのパーツ番号を追加できないです。

これを追加したい場合は、抵抗値ごとにライブラリをつくる必要が出てきます。

(1KΩの抵抗、1.2KΩの抵抗、1.5KΩの抵抗、など。E12系列ならまだしも、E24以降の系列になるとそれだけ作るのが大変です)

 

PCBライブラリの書き方

 

メカニカルレイヤーの意味

メカニカルレイヤーは自由に増やすことが出来ます。

しかし、どういう意図で使われるのか、メモしておきましょう。

レイヤ名 概要
Mechanical 1
Mechanical 13 3D
Mechanical 15

 

PCBAに出せるPCBライブラリを作成する

最近は安価にPCBAが行えるようになってきました。

プリント基板に部品実装も行ってもらうことをPCBA(Printed Circuit Board Assembly)と言います。

実際に依頼するときには、部品表となる「BOM(Bill of Materials)」と部品の位置を指定する「CPL(Component Placement List/ Centroid File / Pick and Place File)」というファイルが必要になります。

 

部品の中心座標はどこにする?

デフォルトではCenter-X/Yを使用するようになっていて、Pad-X/YとRef-X/Yも追加してCPLファイルを書き出しできます。

Centerはパッド位置から自動的に計算される中心位置、Refはフットプリントの原点、Padはパッド1の座標となっています。

対称なパッドを持つ部品であれば、自動的に計算される中心位置で合っていますが、例えばSDカードコネクタなどのパッド位置が対称でない部品では、Centerは実際の位置からはかなり外れてしまいます。

そのため、部品を吸着する位置を原点にするのが重要なのではないでしょうか。

ただ、その場合は基板の端に合わせてコネクタ等の部品を配置したい場合でも、原点は部品の中心となっていますから、グリッドで基板端に合わせることは難しいです。

現実的には、座標指定で配置するしかないようです。

SFPコネクタなどの複数の部品から成り立つコネクタは扱いに困ります。

 

部品の向きはどうすればいい?

できる限りテープの向きに合わせると良いです。

Tape & Reel Packaging Standards

 

IPC準拠フットプリントウィザード

私は実際には、パッドを手動で配置することは少なく、IPC準拠フットプリントウィザードを使用します。

部品の寸法値から複数のサイズのフットプリントを生成することが可能です。

これは IPC-7351 (Section 3.1.5.4) で定義されているもので、

  • M – Maximum (Most) Material Condition (Density Level A) 低密度
  • N – Median (Nominal) Material Condition (Density Level B) 中密度
  • L – Minimum (Least) Material Condition (Density Level C) 高密度

と定められています。

私はSMD部品では実際にIPC準拠フットプリントウィザード中で、M/N/Lそれぞれのフットプリントを生成して、ライブラリには全部登録するようにしています。

通常時使用するものはNにしておき、場合によってM/N/Lそれぞれを使い分けています。

ちなみに、IPC-7351最新版のPDFは以下URLで販売されていますが、数万円します…

 

また、部品自体の寸法もIPC-7351(旧IPC-SM-782A)にできるだけ従うようにしています。

IPC-SM-782Aで調べてみると、PDFファイルがあると思います。

 

フットプリント生成に使用した値(チップ抵抗)

Component Types : CHIP

(mm) R1005 R1608 R6432
(L)Min 0.9 1.5 6.2
(L)Max 1.1 1.7 6.6
(W)Min 0.4 0.7 3.0
(W)Max 0.6 0.9 3.4
(T)Min 0.1 0.15 0.35
(T)Max 0.3 0.4 0.85
(A) 0.4 0.6 0.71

Package Type : Chip Resistor

 

フットプリント生成に使用した値(チップコンデンサ)

Component Types : CHIP

(mm) C1005 C1608 C2012 C3216 C3225
(L)Min 0.9 1.45 1.8 3.0 3.0
(L)Max 1.1 1.75 2.2 3.4 3.4
(W)Min 0.4 0.65 1.05 1.4 2.3
(W)Max 0.6 0.95 1.45 1.8 2.7
(T)Min 0.1 0.2 0.25 0.25 0.25
(T)Max 0.3 0.5 0.75 0.75 0.75
(A) 0.6 0.85 1.1 1.35 2.2

Package Type : Chip Capacitor

Polarity Pin Location : None

 

フットプリント生成に使用した値(チップインダクタ・ビーズ)

Component Types : CHIP

(mm) L1608 L2012 L3225
(L)Min 1.45 1.8 3.0
(L)Max 1.75 2.2 3.4
(W)Min 0.65 1.05 2.3
(W)Max 0.95 1.45 2.7
(T)Min 0.2 0.3 0.4
(T)Max 0.5 0.7 0.8
(A) 0.85 1.1 1.2

Package Type : Chip Inductor

Polarity Pin Location : None

 

フットプリント生成に使用した値(チップLED・TVS・ESDサプレッサー)

Component Types : CHIP

(mm) D1608
(L)Min 1.5
(L)Max 1.7
(W)Min 0.7
(W)Max 0.9
(T)Min 0.2
(T)Max 0.3
(A) 0.2

Package Type : Chip Diode

Cathode Pin Location : Pin 1(TVS等はNone)

 

フットプリント生成に使用した値(チップ集合抵抗)

Component Types : Chip Array

(mm) AR8_3216
(E)Min 1.4
(E)Max 1.8
(D)Min 3.0
(D)Max 3.4
(A) 0.6
Hull side type Concave
(B)Min 0.25
(B)Max 0.55
(L)Min 0.15
(L)Max 0.45
(e) 0.8
pins 8

 

フットプリント生成に使用した値(電解コンデンサ)

Component Types : CAPAE

(mm) SMD_CAP_AL_10X10_H10
(L)Min 11.3
(L)Max 10.5
(L1)Min 11.3
(L1)Max 10.5
(W)Min 10.1
(W)Max 10.5
(T)Min 3.0
(T)Max 3.4
(TW)Min 0.8
(TW)Max 1.1
(D)Min 9.5
(D)Max 10.5
(A) 10.0

 

フットプリント生成に使用した値(チップダイオード)

Component Types : SODFL

(mm) SOD-123F
(E1)Min 2.65
(E1)Max 2.95
(D)Min 1.65
(D)Max 1.95
(A) 1.1
(b)Min 0.75
(b)Max 1.05
(L)Min 0.5
(L)Max 0.8
(E)Min 3.5
(E)Max 3.7

 

PCBライブラリに3Dモデルを適用させる

 

3Dモデルの入手先

他、部品のメーカーサイトを見ることや、Digi-Key・Mouser等で「EDA/CADモデル」にチェックを入れて探すなどがあります。

使用する部品と同じ形状の互換品も含めて探すと見つかりやすいです。

汎用的な部品であると、型番ではなく一般的な呼び名で検索するのも良いと思われます。

3Dモデルは基本的にSTEPファイルでやり取りします。

 

3Dモデルの編集

メーカーごとにモデルの色が違ったり、精細度が違ったりするので、一度3D CADソフトウェアで編集をしています。

STEPファイルを編集できるソフトウェアが必要です。

私は永久ライセンスだった頃の「Autodesk Inventor LT 2015」を使用していますが、最近ですとSOLIDWORKS for Makers、DesignSpark MechanicalやFusion 360、無償で使用可能なものにはFreeCADやSolveSpaceなどがあります。

新規でモデルを起こすのには、CadQueryでも良いと思われますが、(実際にKiCad 3D Libraryでは使われてます)既存のモデルを編集する作業は向いていません。