前章で並べた部品を、いよいよ「つなぐ」段階です。本講義では線(ワイヤ)をほとんど引かず、「グローバルラベル」という名札で結線します。まずグローバルラベルの仕組みと置き方を身につけ、次に本ボードの全結線を記した早見表を見ながら、1ネットずつ名札を置いて回路図を完成させます。最後に、部品番号の確定(アノテーション)、フットプリントの割り当て、そして論理的な誤りを自動検出するERC(エレクトリカルルールチェック)までを行い、回路図を「完成」の状態に持っていきます。
3.1 線を引かずに結線する「グローバルラベル」
回路図で部品どうしをつなぐ最も素朴な方法は、ピンとピンを線(ワイヤ)で結ぶことです。しかし部品が増えると線が交差し、スパゲッティのように読めない回路図になります。誤接続や見落としは、試作基板の「一発死亡(文鎮化)」に直結します。
そこで本講義では、線をほとんど引かず、「グローバルラベル(Global Label)」で結線します。原則はただ一つ??同じ名前を付けたピンどうしは、画面上で線が離れていても、内部で1本の同じ導線(ネット)として扱われる。これだけです。
たとえば SWIO という名札を、マイコンU1の18番ピン・プルアップ抵抗R2・書き込み端子J3の3か所に付ければ、その3か所は線で結ばなくても電気的に1本につながります。「線が見当たらないのに、なぜつながっているのか?」と感じたら、同じ名前の名札を探す??それが答えです。
ネットとは、電気的につながっている1本のまとまりのことです。「GNDネット」といえば、GNDという名前でつながっている全ての点(マイコンのGNDピン、コンデンサの片足、コネクタのGNDピン…)のまとまりを指します。回路図設計とは、突きつめれば「どのピンとどのピンを、どのネットにまとめるか」を決める作業です。
3.2 グローバルラベルの置き方(操作手順)
「同じ名前を付ければつながる」??理屈は分かっても、KiCadのどこを押せば名札が置けるのかが分からなければ手は動きません。ここで具体的な操作を押さえます。
- 名札を付けたいピンの先端を確認する。 シンボルの各ピンは、線が一本外側に伸び、その先端に小さな端点(エンドポイント)があります。グローバルラベルは必ずこのピン先端の端点に付けます。ピンの途中や部品の本体側では、見た目が近くてもつながりません。
- グローバルラベルツールを呼び出す。 右側ツールバーの「グローバルラベルを追加」アイコン(名札/ふきだしの形)をクリックします。慣れないうちは、メニューの「配置」→「グローバルラベルを追加」から辿るのが確実です(ショートカットは「設定」→「ホットキー」で確認できます)。
- ネット名を正確に入力する。 ダイアログにネット名(例:
SWIO)を打ち込みます。後述の早見表の表記と、大文字・小文字・数字・アンダースコアまで一字一句そろえてください。1文字違えば別のネットになります。 - 向きを合わせ、ピン先端に吸着させる。 名札がカーソルに付いてきます。ピンが右へ伸びているなら名札の引き出し口が左(ピン側)を向くよう、必要なら
Rキーで回転します。ピン先端の端点へ近づけるとカチッと吸着(スナップ)するので、その位置でクリックして確定します。 - つながったか確かめる。 正しく付くと、ピン先端の「未接続マーク(小さな四角)」が消えます。ずれていると未接続のまま残り、後のトラブルの元になります。1本ずつ確実に。
最頻出のミスが2つあります。ひとつは、名札をピン先端の端点ではなく本体近くに置いてしまい、見た目は接触でも電気的につながっていないこと。もうひとつは、
VCC と vcc、SWIO と SW1O(オーとゼロの取り違え)のような表記ゆれです。どちらも後述のERCが見つけてくれますが、置くときから丁寧にやれば手戻りが減ります。
3.3 【早見表】この表を見ながら1ネットずつ名札を置く
ここが本章の心臓部です。下の表は、本ボードの全21ネットについて、そのネットに属する全ての接続先を一覧にしたものです。回路図を組むのに必要な結線情報を、一つ残らず文字に起こしたものと考えてください。この表さえあれば、完成データを渡されなくても、自分の手で同じ回路図を再現できます。
使い方はシンプルです。1ネットずつ、表の「接続先」の欄に書かれた全ての場所に、同じ名前のグローバルラベルを置いていく。それだけで、線を一本も引かずに回路図が完成します。
| ネット名(名札) | この名札を置く全ての場所 | 説明 |
|---|---|---|
VCC | U1-9, C1-1, R2-1, J3-1, J2-1, J2-11 | 電源3.3V |
GND | U1-7, C1-2, D1-K, J3-3, J1-1, J1-12, J2-2, J2-12 | グラウンド |
SWIO | U1-18, R2-2, J3-2, J1-3 | 書き込み信号線 |
PC0 | U1-10, R1-1, J2-3 | LED駆動+外部引き出し |
LED_A | R1-2, D1-A | R1とLEDの間(中間ネット) |
NRST | U1-4, J1-9 | リセット |
PD0 | U1-8, J1-2 | 汎用IO |
PD2 | U1-19, J1-4 | 汎用IO |
PD3 | U1-20, J1-5 | 汎用IO |
PD4 | U1-1, J1-6 | 汎用IO |
PD5 | U1-2, J1-7 | 汎用IO |
PD6 | U1-3, J1-8 | 汎用IO |
PA1 | U1-5, J1-10 | 汎用IO |
PA2 | U1-6, J1-11 | 汎用IO |
PC1 | U1-11, J2-4 | 汎用IO |
PC2 | U1-12, J2-5 | 汎用IO |
PC3 | U1-13, J2-6 | 汎用IO |
PC4 | U1-14, J2-7 | 汎用IO |
PC5 | U1-15, J2-8 | 汎用IO |
PC6 | U1-16, J2-9 | 汎用IO |
PC7 | U1-17, J2-10 | 汎用IO |
マイコンU1のシンボルは、ピンに番号(1?20)が振られています。この番号は実物TSSOP-20パッケージの物理ピン番号と一致します。たとえば早見表の「U1-18」は18番ピンで、これがデータシート上の PD1/SWIO です。「SWIOって結局どのピン?」と迷ったら、ここで18番だと確認できます。同様に「U1-4」はリセット(PD7/NRST)、「U1-7」はグラウンド(VSS)、「U1-9」は電源(VDD)です。シンボル上のピン名を見れば、役割はすぐ分かります。
- 電源系(VCC・GND)から始めると、全体の骨格が先に見えて安心です。VCCなら早見表のとおり6か所(U1-9, C1-1, R2-1, J3-1, J2-1, J2-11)すべてに
VCCの名札を置きます。 - 次に書き込み系(SWIO)とLED系(PC0・LED_A)。少数の部品にまたがるので、名札のつながりを実感しやすいはずです。
- 最後に汎用IO(PD・PA・PC系)。これらは「U1の1ピン ? ヘッダの1ピン」という素直な1対1対応がほとんどで、単調ですが迷いません。早見表の上から順に片付けましょう。
LED_A だけは少し特別ほとんどのネットはマイコンのピンとヘッダをつなぎますが、
LED_A だけは「R1(1kΩ)の片足」と「LEDのアノード」という2か所だけをつなぐ中間ネットです。PC0 →(R1)→ LED_A →(LED)→ GND という電流の通り道の、真ん中の一区間にあたります。名前は自由に付けたもの(LEDのアノード=Aの意味)で、この2か所以外には現れません。
3.4 部品番号の確定(アノテーション)・値の入力・フットプリント割り当て
名札を置き終えたら、回路図を「完成」に近づける仕上げを行います。部品番号の確定、値の入力、フットプリントの割り当ての3つです。
① 部品の値を入れる(1kΩ・10kΩ・100nF…)
抵抗やコンデンサを置いた直後は、値が R や C という記号のままの「空欄」状態です。ここに実際の値(1kΩ、10kΩ、100nFなど)を入れないと、何をはんだ付けすればよいか分かりません。値の入れ方は簡単です。
- 値を入れたい部品をダブルクリックする。 または部品を選んで
Eキー(プロパティ編集)を押します。「シンボルプロパティ」ウィンドウが開きます。 - 「Value(値)」の欄を書き換える。 一覧の中に「Value」という項目があります。ここが最初は
R(抵抗)やC(コンデンサ)になっているので、これを実際の値に打ち替えます。抵抗なら1kや10k、コンデンサなら100nFのように入力します。 - OKで確定する。 回路図上の部品の脇に、入力した値が表示されます。
| 部品 | Value欄に入れる値 | 役割(第2章より) |
|---|---|---|
| R1 | 1k(1kΩ) | LED電流制限(約1.3mA) |
| R2 | 10k(10kΩ) | SWIOプルアップ |
| C1 | 100nF | 電源のパスコン |
| D1 | LED のまま可(色をメモ推奨) | 動作確認用 |
| U1 | CH32V003F4P6(自動で入る) | マイコン本体 |
| J1, J2, J3 | 空欄のままで可 | コネクタ |
値の表記は、KiCadの慣習では 1k(1000Ω)、4k7(4.7kΩ)のように、単位の位置に小数点を置く書き方もよく使われます。1kΩ と書いても構いませんが、Ω 記号は環境によって化けることがあるため、1k のように単位を省くのが無難です。
② アノテーション(部品番号の確定)
部品を置いた直後は、番号が R?、C? のように疑問符付きの仮状態になっています。メニューの「ツール」→「回路図の注釈(アノテーション)」を実行すると、これらが R1、R2、C1… と自動で確定します。
本ボードでは、R1=LED電流制限(1kΩ)、R2=SWIOプルアップ(10kΩ)と決めています。アノテーションは自動で番号を振るため、必ずしもこの通りにならないことがあります。番号が入れ替わっていたら、そのシンボルを選んでプロパティから手動で修正するか、値(1kΩ/10kΩ)と役割で対応を確認してください。早見表の R1-1 などの記号は、この「R1=1kΩ」を前提にしています。
③ フットプリントの割り当て
第2章で学んだとおり、シンボル(論理)にはまだ物理的な形(フットプリント)が結びついていません。「ツール」→「フットプリントを割り当て」で、各部品に実物の形を指定します。本ボードで割り当てるフットプリントは次のとおりです。
| 部品 | フットプリント(形) | 補足 |
|---|---|---|
| U1(CH32V003) | TSSOP-20(0.65mmピッチ) | Package_SO ライブラリの TSSOP-20 系 |
| R1, R2 | チップ抵抗 2012(0805) | 手はんだ用に端子が少し大きい HandSolder 版が扱いやすい |
| C1 | チップコンデンサ 2012(0805) | 同上 |
| D1 | チップLED 2012(0805) | 極性に注意(次章以降) |
| J1, J2 | ピンヘッダ 1×12(2.54mm) | Connector_PinHeader_2.54mm の縦型(Vertical) |
| J3 | ピンヘッダ 1×3(2.54mm) | 同上 |
チップ部品のフットプリントには、通常版のほかに末尾が _HandSolder となった版があります。これは、はんだ付けする銅箔(パッド)を少し大きめ・長めに取ってあり、こて先が届きやすく手はんだしやすい設計です。本講義は手はんだが大原則なので、チップ部品には HandSolder 版を選ぶことをおすすめします。
④ 電源フラグ(PWR_FLAG)の追加
本講義では電源(VCC)・グラウンド(GND)もグローバルラベルで結線しています。この場合KiCadは、次のERCで「この電源ラインに電気を供給する源が見当たらない」と警告します。これを防ぐため、PWR_FLAG(パワーフラッグ)という「ここは電源の供給源です」と宣言する特殊シンボルを、VCCとGNDに1個ずつ付けておきます。シンボル追加(A)で PWR_FLAG を検索し、VCCのどこか・GNDのどこかに1つずつ置いて、その名札とつなげば完了です。
3.5 ERC(エレクトリカルルールチェック)で論理を検証する
回路図の最終チェックとして、必ず ERC を実行します。これは、配線の論理的な誤り(つなぎ忘れ、名前のゆれ、電源の供給源なし、出力どうしの衝突など)をKiCadが自動で洗い出してくれる機能です。半導体設計でいう論理検証の前段にあたります。
「検査」→「エレクトリカルルールチェック」(てんとう虫のアイコン)を開き、「実行」を押すと、全ピンの電気的な整合性が走査され、問題箇所が一覧と回路図上のマーカーで示されます。
- 「入力電源ピンが電源出力で駆動されていない」: PWR_FLAGの付け忘れです。前項③のとおり、VCC・GNDにPWR_FLAGを1個ずつ付ければ解消します。
- 「ピンが未接続」: 名札がピン先端の端点に届いていないか、そのピンに名札を置き忘れています。早見表と照らして、抜けを埋めてください。
- 「ラベルが1箇所にしかない」: 名前のゆれ(
PC0とPCOなど)で、本来つながるはずの名札が別ネット扱いになっているサインです。早見表の表記と突き合わせて直します。
ERCの結果には、赤い「エラー」と黄色い「警告」があります。エラーは必ずゼロにしますが、警告には実害のないものも含まれます。すべてを神経質にゼロにしようとせず、まず内容を読んで「これは本当に問題か?」を判断する習慣をつけてください。本ボードでは、早見表どおりに名札を置き、PWR_FLAGをVCC・GNDに付ければ、エラーはゼロにできます。判断に迷う警告が残ったら、その文面を控えて、コミュニティや講師に確認しましょう。
3.6 ネットクラスの設定(配線の太さをまとめて決める)
ここまでで回路図は論理的に完成しました。最後に、次章以降の基板配線を見据えて、ネットクラスという設定に触れておきます。少し先取りの内容ですが、設定を始める場所がプロジェクト設定なので、回路図が固まったこの段階で押さえておくと後がスムーズです。
ネットクラスとは、複数のネットをひとまとめにして、配線の太さ(トラック幅)やクリアランス(配線どうしの最小すきま)、ビアの大きさなどを一括で決める仕組みです。「このグループの配線は太さ0.3mmで引く」といった規則を、ネットごとに個別指定せず、クラス単位でまとめて管理できます。
基本:まずは1つのクラス(Default)で足りる
本ボードの全21ネットは、最初は Default(既定)クラス1つにまとめて扱えば十分です。信号線も電源線も同じ太さで引く、という素直な設定です。本ボードで使う既定値は次のとおりです。
| 項目 | 値 | 意味 |
|---|---|---|
| トラック幅(Track Width) | 0.3 mm | 配線1本の太さ |
| クリアランス(Clearance) | 0.2 mm | 配線どうしの最小すきま |
| ビア外径(Via Diameter) | 0.7 mm | 層をまたぐ穴の外径 |
| ビア穴径(Via Drill) | 0.35 mm | その穴のドリル径 |
- メニューの「ファイル」→「基板設定(Board Setup)」を開きます(回路図側では「回路図設定」内の「ネットクラス」からも辿れます)。
- 左の一覧から「ネットクラス」を選びます。
- 「Default」クラスの行に、上の表の値(トラック幅0.3、クリアランス0.2…)を入力します。
- OKで確定すると、以降の配線はこのクラスの太さ・すきまが標準になります。
応用:電源を太くする「Power」クラスを作る
ここからは応用です。基本形(Default1つ)でも本ボードは問題なく動きますが、電源(VCC)とグラウンド(GND)は、信号線より多くの電流が流れるため、少し太めに引いておくとより堅実な設計になります。これを実現するのがネットクラスの本領です。手順はこうです。
- 新しいクラスを追加する。 「基板設定」→「ネットクラス」で、クラスを1つ追加し、名前を
Powerとします。 - Powerクラスのトラック幅を太くする。 たとえばトラック幅を
0.5mm(Defaultの0.3mmより太い)に設定します。クリアランスやビアはDefaultと同じで構いません。 - VCCとGNDをPowerクラスに割り当てる。 同じ画面の「ネットクラス割り当て(Net Class Assignments)」で、
VCCとGNDのネットをPowerクラスに指定します。パターンでVCC、GNDと指定すればまとめて割り当てられます。
配線は細いほど電気抵抗が大きく、電流が流れると電圧が下がったり発熱したりします。信号線はほとんど電流が流れないので細くて構いませんが、電源・グラウンドは回路全体に電気を供給する「幹線道路」なので、太くしておくと電圧が安定し、安心です。本ボードは消費電流がごくわずかなので細くても動きますが、「電源は太く」は電子回路設計の基本作法なので、応用として体験しておく価値があります。基板がもっと大きくなったり、モーターなど電流を食う部品を足したりすると、この差が効いてきます。
- 早見表どおりに全21ネットの名札を置いた
- 各部品に値(1k・10k・100nFなど)を入れた
- アノテーションで部品番号を確定した
- 各部品にフットプリント(手はんだ向けにHandSolder版)を割り当てた
- PWR_FLAGをVCC・GNDに付けた
- ERCを実行し、エラーがゼロになった
- ネットクラス(Default、応用でPower)を設定した
ここまで来たら、回路図は「完成」です。次章では、この回路図を基板(PCB)の世界へ持ち込み、部品を実際の板の上に配置していきます。