90度の角を曲がると電子は飛び出すのか — PCB の都市伝説を Python で確かめてみる
- pcb
- python
- signalintegrity
- 電子工作
- fdtd

はじめに — 「90 度の角で電子が飛び出す」って本当ですか?
駆け出しの頃、先輩にこう言われました。
「PCB の配線は直角に曲げちゃダメだよ。急カーブを曲がり切れずに、電子が外に飛び出しちゃうから」
冗談半分なのは分かったのですが、続けてこう言われ、
「だから 45 度で面取りするか、丸く曲げるんだ。最近の高速基板ならなおさら」
なんとなくそういうものだと覚えました。以来ずっと 「90 度はダメ、45 度で曲げる」 をルールとして守ってきました。
ただ最近、PCB の本やネット記事を読み直していて、ふと立ち止まりました。本当にそうなんだろうか?
電子が「飛び出す」って物理的にどういう状態なんだろう。45 度で曲げると、本当に何か改善されているのか。世の中の解説を覗くと「実は迷信」派と「いや、差はある」派が混在していて、はっきりしません。
それなら自分で計算してみよう、というのが出発点です。Python で 200 行ほどの電磁界シミュレータを書いて、90 度・45 度・R 曲げの 3 種類を比べてみました。電気回路を勉強し始めた方、ソフトウェア出身で最近 PCB に触り始めた方が「ふんふん」と読めるくらいの密度を目指しています。
ソースコード一式はこちらで公開しています(MIT ライセンス)。
まずは「電子が飛び出す」って本当か
イラストにするとこんな感じです。先輩の口ぶりだと、こういう絵が頭の中にあったんだと思います。

直角の角で、運動量を持った電子がコーナーを曲がり切れずに、銅の外へ放り出される。直感的にはわかりやすい絵です。クルマがカーブを曲がり切れずにガードレールを突き破る感じ。
ただ、これが本当に起きているなら、PCB は走らせるたびに焦げているはずなんですよね。実際にはそうはなっていません。
なので、まずは 電子が銅の中をどれくらいの速さで動いているのか をざっくり見積もってみます。
銅の中の電子はどれくらいの速さ?
教科書に載っている 電子のドリフト速度 という量があります。これは、電線に電圧をかけたときに電子が「平均的にどれくらいの速さで動いているか」を表す数値です。
ざっくり計算してみます。一般的なデジタル信号線を想定して、幅 0.1 mm × 厚さ 35 μm(PCB の 1 oz 銅箔の標準厚)の細いトレースに、信号電流として 10 mA を流すケースを考えます。
- 銅の自由電子の密度: 個/m³
- 電子 1 個の電荷: C
- 流したい電流: A(信号線らしい控えめな電流)
- 配線の断面積: m²
ドリフト速度の式は
数値を入れると
…秒速 0.2 mm。人が歩く速さのおよそ 5 千分の 1 です(時速にすると 1 m にも届かないくらいの、のんびりした流れです)。

イラスト上ではキャラクターっぽく描いていますが、実際の電子はそれくらい「のんびり」流れています。これが角で曲がり切れずに 遠心力で飛び出す ことはありません。
「えっ、じゃあなんで信号は光の速さで届くの?」と思った方は鋭いです。ここが今日のキモで、ひとことで言うと、
信号のエネルギーは、電子が端から端まで走って運ぶのではなく、導体の周りの誘電体(基板の樹脂や空気)中にできる電磁界として伝わっていきます。
電子は配線の中を「ところてん式」にゆっくり押し出されているだけ。その動きが境界条件として作る電界・磁界の波(電磁界)が、光速の 1/3 〜 2/3 くらいで配線に沿って進んでいきます。仕事をしているのは電子そのものより、銅の表面と GND プレーンとの間にある電磁界、と思うとスッキリします。
なので「90 度の角で電子が飛び出す」は、
- 電子はもともと飛ぶような速度では動いていない
- 信号のエネルギーを運んでいるのは電子の運動ではなく、導体まわりの電磁界
の二重で 物理的にはハズレ でした。先輩、冗談だったのは知ってます。
それでも「90 度は避けろ」と言われ続けるのはなぜ?
物理的に「電子が飛ぶ」のは違うとして、それでも世の中の PCB 設計ルールでは 「90 度はなるべく避けよう」 とよく言われます。理由として有名なのは次の二つです。
説 1: エッチング工程で薬液が溜まる(acid trap)
PCB の銅パターンは、銅箔をエッチング液で溶かして作ります。直角の 内側の角 には薬液が溜まりやすく、銅が想定より細く削られてしまう、という心配がある、という説です。
これが本当に問題だった時代もあったようなのですが、現代の写真現像式(フォトレジスト)の製造プロセスでは、現実的にはほぼ問題にならないと言われています。基板屋さんのデザインルールでもそこまで厳しく禁止されてはいません。
説 2: 角でインピーダンスが急に変化する(信号品質)
こちらが本命です。配線が直角に曲がる場所では、コーナーの対角線方向に銅が広がる分、その点だけ銅の面積が少し増えます。すると 対 GND 容量(寄生キャパシタンス)が局所的に増え、特性インピーダンスが下がる。これが角での反射を生む正体です。
反射した信号は元の信号に乗ってリンギング(ピーピーした波形の暴れ)になり、波形が汚れます。EMI の悪化にもつながります。
気になるのは 「実際にどれくらい影響があるのか」。教科書はインピーダンスが変わるとだけ言って、定量的な比較まで見せてくれる文献は多くありません。
では、ここからは実際に比べてみます。
Python で小さな電磁界シミュレータを書く
電磁波が PCB 上をどう走るかを計算する方法はいくつかありますが、今回は FDTD(Finite-Difference Time-Domain) という、教科書にも載っている素朴で分かりやすい手法を使います。
FDTD は「水面の波を真似する」と思うとよい
FDTD のイメージは、池の水面を細かい格子に切って、
- 各マス目の「波の高さ」と「水の動き」を覚えておく
- 1 ステップ進むときに、隣のマスの値から自分のマスを更新する
- それを何千回も繰り返す
という、いたって素朴なものです。電磁波の場合は「波の高さ」が 電界、「水の動き」が 磁界 に対応します。
数式で書くと Maxwell 方程式を差分化したもので、Yee 格子(電界と磁界を半セル・半ステップだけずらした位置と時刻に置いて、交互に更新する格子)を使うのですが、コードにすると本当に短くなります。
# Yee 格子 TM-z モードの 1 ステップ更新(src/fdtd.py より抜粋)
hx -= (dt / (mu0 * dy)) * (ez[:, 1:] - ez[:, :-1])
hy += (dt / (mu0 * dx)) * (ez[1:, :] - ez[:-1, :])
curl[1:-1, 1:-1] = (
(hy[1:, 1:-1] - hy[:-1, 1:-1]) / dx
- (hx[1:-1, 1:] - hx[1:-1, :-1]) / dy
)
ez[:] = damping * ez + (dt / (eps0 * denom)) * curl
本体はだいたいこれだけで、あとは
- 配線(銅)を 完全電気導体(PEC: Perfect Electric Conductor) として扱い、そこでは電界をゼロに固定する(理想化された金属です)
- グリッドの外側に 吸収境界(PML 風の損失層) を置いて、波が計算領域の壁に跳ね返って戻ってこないようにする
- 適当な場所から ガウシアン形のパルス(時間方向にきれいな釣鐘型の波)を入力として打ち込む
- 時間ステップは CFL 安定条件(格子と光速で決まる上限)を守る
を足してあげれば、それなりに動きます。リポジトリ全体でも 200 行ちょっとです。
念のために断っておくと、いま動かしているのは 2 次元の教育用シミュレータ です。本物の PCB は 3 次元で、裏側の GND プレーンに電流が戻っていく リターン経路 が信号品質の主役と言ってよいほど大事。今回はそれを 2 次元に縮退させた、いわば「上から見たコーナーの絵」を作っています。実基板の定量評価ではなく、形状の差を直感的に並べて見るための実験として読んでください。実機検証や 3D 解析は、連作の後半で触れる予定です。
比較する 3 つの形状
イラスト 1 枚で並べるとこんな感じです。

- ① R 曲げ: 角を丸く曲げる。アナログ屋さんが好む形
- ② 90 度配線: いちばん素朴。CAD のデフォルト
- ③ 45 度配線: 角を 45 度で削った(面取りした)形。デジタル屋さんの定番
それぞれを同じ条件で FDTD に放り込んで、電界の強さを地図のように描いてみます。
色はあえて サーモグラフィー風 にしました。スミスチャートのような専門的なグラフは、初学者には記号の塊にしか見えないので。赤いところは電界が強い、黒いところは弱い だけ覚えておけば、絵を見て話ができます。
結果: 90 度 vs 45 度 vs R 曲げ
3 種類のコーナーに同じパルスを左から打ち込んで、伝わっていく電界の強さの最大値(言わば「光った跡」)を地図にしたのが下の図です。

うっすらマゼンタ色に光って見える L 字が、配線(PEC)に挟まれた中を伝わっていった電磁界の跡です。正直に言って、3 種類の差はかなり微妙でした。実験前に私が想像していた「90 度ではコーナーで派手に乱反射して、45 度ならスッキリ流れる」みたいな絵には、ぜんぜんなりませんでした。
3 枚の図を細かく見比べると、90 度の角のあたりに 来た道を薄く逆走している痕跡(反射波)がうっすら写っているのが分かります。45 度や R 曲げでは、その「迷い」の跡がもう少しなめらかです。
…ですが、本当に「わずか」です。反射のサイズはパルス本体の十分の一以下で、波形にしてもおそらく数 % のリンギングが付くかどうか、というレベルでした(あくまで今回の格子・周波数・形状での話です)。
もちろん、今回は損失も実物のリターン経路も入れていない 2D モデルなので、一般化は慎重に。商用ツールでの本格的な SI 解析や実測の文献を読んでも、おおむね 「通常の細いデジタルトレースなら、コーナー形状の差はかなり小さい。ただし周波数・線幅・基板構造によっては見えてくる」 という、条件依存の結論が主流のようです。Doug Brooks 氏が 1990 年代に行った実測("90° Corners — The Final Turn" 系の記事)でも、現実的な周波数帯では差が測定不確かさに埋もれる、という報告が出されています。
詳しく追ってみたい方は、Signal Integrity Journal の整理記事が読みやすくおすすめです。
- 参考: Signal Integrity Journal "Should You Worry About 90 Degree Bends in Circuit Board Traces?" — https://www.signalintegrityjournal.com/articles/2104-should-you-worry-about-90-degree-bends-in-circuit-board-traces
都市伝説、半分は本当で半分は迷信
ここまでの話を整理すると、「90 度配線は電子が飛び出す」という都市伝説は、
| レイヤ | 主張 | 実際は |
|---|---|---|
| 都市伝説レベル | 電子が遠心力で飛び出す | 完全な誤り。電子は秒速 0.2 mm 程度のゆっくり流れ、しかも信号を運ぶのは電磁波 |
| 古典的な製造説 | 内角に薬液が溜まって悪さする(acid trap) | 写真現像式が主流の現代では ほぼ無視できる |
| 信号品質説 | コーナーでインピーダンスが急変して反射する | ちょっとだけ本当。ただし通常のデジタルトレースでは差は小さく、効くかどうかは周波数・線幅・基板構造次第 |
三段重ねで「ちょっと違う」。これが今回の私なりの結論です。
「90 度がダメ」というルールが完全な迷信かというと、そうとも言い切れない。コーナーで反射が起きるのは事実だし、超高速の信号(10 GHz 以上)や、何万カ所もコーナーがある密集基板では、塵も積もればで効いてくる場面もありそうです。
ただ、駆け出しの私が先輩から受け取った 「電子が飛び出すからダメ」 はやっぱり物理的には嘘で、それを聞いて毎回毎回 45 度で削っていたのは 「お作法」 の側面が大きかった、というのは正直に書いておきたいです。
じゃあなぜ「45 度推奨」は生き残ったのか
実害がほぼ無いのに、ルールとして根強く残っている。これは私の解釈ですが、いくつか理由がありそうです。
- 慣習の力: 業界で長く言われてきたルールは、コストがほぼゼロなら守っておくのが無難。45 度で曲げる手間は、CAD では数クリックで済む
- 見た目の品質感: 直角でゴツゴツした基板より、45 度で面取りされた基板のほうが「ちゃんと作った感」が出る。レビューする側の安心感もある
- 本当に効く別の理由とセット: 「リターン経路を切らない」「グラウンドプレーンを連続させる」など、本当に EMC に効くルールと 同じ袋に入って覚えられた。45 度を守る人は、たいていそっちもちゃんとやっている
つまり、45 度ルールは 単独では効果が薄いが、良い習慣セットの一部 として機能している、ということなのかなと感じます。これは現場のソフトウェアの「お作法」と似ていて、個々の理由は弱くてもセットで効くタイプのルールです。
おわりに
この記事は、PCB に踏み出し始めた頃の自分に向けて書いたつもりです。先輩の言葉を真に受けて、毎回 45 度で削りながら「本当にこれ意味あるのかな」とモヤモヤしていた私のような人に届いたら嬉しいです。
「ルールは守る、ただし理由は自分で確かめておく」というのは、ベテランの言葉や教科書の説明を借りて何かを学び直すときに、私が大事にしたい姿勢です。先輩の言葉も、本に書いてあったことも、Web で見つけた答えも、自分で 200 行のシミュレータを書いて動かしてみるとちょっと違って見える ことは、これからもありそうな気がします。
このシリーズ lab-pcb-physics では、これと同じスタンスで PCB の「先輩が言ってた話」をいくつか確かめていく予定です。次回以降の予定は次のとおりです。
- 第 2 回: 高速信号を GND で囲むって本当に効くんですか? — クロストークと GND ガード、via 柵の効きを 2D FDTD で観察する
- 第 3 回: インピーダンス整合の正体 — 反射波が走り回る様子を時間発展アニメで観察する
各回独立して読めるようにする予定です。よろしければ次もお付き合いください。
動かしたい方へ
リポジトリは MIT ライセンスです。
手元で再現するには、Python 3.11+ と numpy / matplotlib / Pillow があれば動きます。
git clone https://github.com/logicia32/lab-pcb-fdtd-corners
cd lab-pcb-fdtd-corners
pip install -e . # または uv sync
python scripts/run_corners.py
ノート PC で 5 〜 10 分くらいで outputs/ 以下に画像と GIF が出てきます。グリッドサイズや格子幅を変えると挙動が変わるので、お好みで遊んでみてください。
繰り返しになりますが、このシミュレータは 2 次元・誘電体損失なし・教育用の簡易版 です。本格的な信号品質解析には商用ツール(Ansys SIwave、Keysight ADS など)や、オープンソースの 3D FDTD(openEMS)が必要になります。それでも、「まず手を動かして自分の目で見たい」という入口としては、200 行で済むこの粗さがちょうど良いんじゃないかなと思っています。
この記事は Zenn に初出したものを加筆・補足したものです ── Zenn の元記事を見る