このページは手で書いた主張ではなく、実際に走らせた結果だよ。tools/make_report.js が
index.html の実装をそのまま読み込んで検査を回し、出てきた数字でこのページを書き出している。
実装を変えて再生成すれば、数字も判定もその場で変わる。
node verify.test.js の単体検算は 62 件すべて通過教科書的な数値例(12V→5V/2A, fsw 400kHz, L 10µH, Ceff 44µF, ESR 10mΩ, ランプ 1.5Vpp, Type-III: 零点 3k/6k・極 150k/250k)は答えが分かっている。道具が独立にその答えへ辿り着くかを見る。この道具は ESR と rL を状態空間に含むので、損失ゼロの理想式とは少しずれる。ずれの向きまで説明できることを確認する。
| 確かめたこと | 期待 | 実測 | 差 | 許容 | |
|---|---|---|---|---|---|
| デューティ比 D | 0.4167 | 0.4167 | <0.01% | 0.1% | 一致 |
| LC共振 f_LC [Hz] | 7587.0 | 7587.4 | <0.01% | 0.3% | 一致 |
| ESR零点 f_z,ESR [Hz] | 3.617e+5 | 3.617e+5 | <0.01% | 0.3% | 一致 |
| 検出ゲイン Kv | 0.1600 | 0.1600 | <0.01% | <0.01% | 一致 |
| 変調ゲイン Fm [1/V] | 0.6667 | 0.6667 | <0.01% | <0.01% | 一致 |
| クロスオーバ fc [Hz] 理想式 25.0kHz。ESR減衰を含むぶん僅かに低い | 25000 | 24908 | 0.37% | 0.5% | 一致 |
| 位相余裕 PM [°] 理想式 62.1°。ESR が二次系に減衰を足すぶん高め side に出る=向きも正しい | 62.10 | 62.46 | 0.36 | ±0.6 | 一致 |
| 原点極 fp0 [Hz] | 872.0 | 872.3 | 0.04% | 0.2% | 一致 |
| C1 [F] | 1.781e-8 | 1.781e-8 | 0.02% | 0.3% | 一致 |
| C2 [F] | 5.199e-9 | 5.199e-9 | <0.01% | 0.3% | 一致 |
| C3 [F] | 4.379e-10 | 4.379e-10 | <0.01% | 0.3% | 一致 |
| R2 [Ω] | 1489.1 | 1489.6 | 0.03% | 0.2% | 一致 |
| R3 [Ω] | 204.08 | 204.08 | <0.01% | 0.2% | 一致 |
| R4 [Ω] | 1904.8 | 1904.8 | <0.01% | 0.2% | 一致 |
| E系列への丸め (R=E96, C=E24) | — | R2 1.50k / R3 205 / R4 1.91k / C1 18n / C2 5.1n / C3 430p | — | — | 一致 |
| 丸め後 fz1 [Hz] | 3058 | 3058 | <0.01% | 0.5% | 一致 |
| 丸め後 fz2 [Hz] | 5895 | 5895 | <0.01% | 0.5% | 一致 |
| 丸め後 fp1 [Hz] | 1.522e+5 | 1.522e+5 | <0.01% | 0.5% | 一致 |
| 丸め後 fp2 [Hz] | 2.527e+5 | 2.526e+5 | <0.01% | 0.5% | 一致 |
| 丸め後の整定出力 [V] | 4.9880 | 4.9885 | <0.01% | 0.2% | 一致 |
状態空間の行列から数値的に取り出した極・零点を、閉じた形の式と比べる。行列を書き間違えていれば、ここがずれる。
| 確かめたこと | 期待 | 実測 | 差 | 許容 | |
|---|---|---|---|---|---|
| ω0 = √det(A) vs 1/√(LC) [rad/s] | 47673.1 | 47673.1 | <0.01% | <0.01% | 一致 |
| Q = ω0/(−tr A) vs R√(C/L) | 5.2320 | 5.2320 | <0.01% | <0.01% | 一致 |
| Gvd(0) vs Vi [V/duty] | 12.0000 | 12.0000 | <0.01% | 0.01% | 一致 |
| ESR零点(状態空間の分子の根)vs 1/(rC·C) [rad/s] 左半平面なので符号を反転して比較 | 2.273e+6 | 2.273e+6 | <0.01% | 0.2% | 一致 |
| Boost RHP零点(状態空間の分子の根)vs (D'²R − rL)/L [rad/s] よく見る D'²R/L は rL を無視した形。rL を引いた厳密形と突き合わせると一致する | 2666.7 | 2666.7 | <0.01% | 0.2% | 一致 |
| もう一方の根 vs ESR零点 −1/(rC·C) [rad/s] | -70922.0 | -70922.0 | <0.01% | 5% | 一致 |
| 零点が右半平面と左半平面に1つずつある | — | s = +2666.7 と -70922.0 rad/s | — | — | 一致 |
この道具は同じ物理を二回、別々に書いている。周波数側は状態空間の行列 (buckSS/boostSS) を (jωI−A)⁻¹B で評価し、時間側は微分方程式 (deriv) を RK4 で積分する。そこで時間領域の電力段にデューティ比の正弦波を注入し、出力の振幅と位相を最小二乗で取り出して、解析解 Gvd(jω) と比べる。どちらかに書き間違いがあれば一致しない。
| 確かめたこと | 期待 | 実測 | 差 | 許容 | |
|---|---|---|---|---|---|
| Buck 200Hz ゲイン [V/duty] | 12.0082 | 12.0082 | <0.01% | 1% | 一致 |
| Buck 200Hz 位相 [°] | -0.38 | -0.38 | 3.742e-5 | ±0.5 | 一致 |
| Buck 1kHz ゲイン [V/duty] | 12.2080 | 12.2080 | <0.01% | 1% | 一致 |
| Buck 1kHz 位相 [°] | -1.92 | -1.92 | 1.840e-4 | ±0.5 | 一致 |
| Buck 5kHz ゲイン [V/duty] | 20.6486 | 20.6487 | <0.01% | 1% | 一致 |
| Buck 5kHz 位相 [°] | -15.38 | -15.38 | 5.369e-4 | ±0.5 | 一致 |
| Buck 7.59kHz ゲイン [V/duty] | 56.5205 | 56.5706 | 0.09% | 1% | 一致 |
| Buck 7.59kHz 位相 [°] | -93.48 | -93.48 | 0.01 | ±0.5 | 一致 |
| Buck 20kHz ゲイン [V/duty] | 1.9941 | 1.9956 | 0.07% | 1% | 一致 |
| Buck 20kHz 位相 [°] 期待値は Gvd(jω) に ZOH(保持による Ts/2 の遅れ)を掛けたもの | -180.49 | -180.57 | 0.08 | ±0.5 | 一致 |
| Boost 100Hz ゲイン [V/duty] | 51.4741 | 51.4744 | <0.01% | 2% | 一致 |
| Boost 100Hz 位相 [°] | -38.44 | -38.44 | 4.225e-4 | ±1.5 | 一致 |
| Boost 500Hz ゲイン [V/duty] | 9.9107 | 9.9095 | 0.01% | 2% | 一致 |
| Boost 500Hz 位相 [°] | 148.45 | 148.46 | 0.01 | ±1.5 | 一致 |
| Boost 2kHz ゲイン [V/duty] | 1.7594 | 1.7475 | 0.67% | 2% | 一致 |
| Boost 2kHz 位相 [°] 期待値は Gvd(jω) に ZOH(保持による Ts/2 の遅れ)を掛けたもの | 113.79 | 113.73 | 0.05 | ±1.5 | 一致 |
式が合っているかとは別に、電源として当たり前のことが起きているかを見る。
| 確かめたこと | 期待 | 実測 | 差 | 許容 | |
|---|---|---|---|---|---|
| 閉ループの整定先 = Vbg/Kv [V] | 4.9885 | 4.9885 | <0.01% | 0.3% | 一致 |
| 整定時のデューティ比 = Vo/Vin | 0.4157 | 0.4157 | <0.01% | 1% | 一致 |
| 昇圧: D を増やした直後に出力が一度下がる(逆応答) | — | 初期の落ち込み -128.1 mV | — | — | 一致 |
| 昇圧: 最終的には出力が上がる | — | 13.761 V → 16.164 V | — | — | 一致 |
| L を増やすとインダクタ電流リップルが減る | — | 729 mA → 364 mA (L 10→20µH) | — | — | 一致 |
| 負荷を重くすると RHP零点が低い方へ動く | — | 424 Hz → 119 Hz (R 5→2.5Ω) | — | — | 一致 |
| 遅れによる位相の目減り = −2π·fc·Td [°] | -33.32 | -33.32 | 4.934e-5 | ±0.5 | 一致 |
| 遅れを入れても fc は動かない [Hz] |e^(−jωTd)|=1 なのでゲインは不変 | 24683.9 | 24683.9 | <0.01% | 0.01% | 一致 |
刻み幅や格子の粗さで答えが変わっていないか。変わるなら、それは物理ではなく計算の都合。
| 確かめたこと | 期待 | 実測 | 差 | 許容 | |
|---|---|---|---|---|---|
| RK4 の刻みを1/4にしたときの波形の最大差 [V] nSub 20 → 80。差が小さい=刻み幅は十分 | 0.000000 | 2.654e-12 | 2.654e-12 | ±0.002 | 一致 |
| 格子を4倍にしたときの fc [Hz] | 24683.9 | 24683.9 | <0.01% | 0.1% | 一致 |
| 格子を4倍にしたときの PM [°] | 62.720 | 62.720 | 0.000 | ±0.05 | 一致 |
| 全プリセットの時間応答に NaN / Inf が無い | — | 14 本すべて有限 | — | — | 一致 |
| 自動配置が破綻した設計を黙って返さない | — | LC共振より下の fc を3通り試して、すべて警告あり | — | — | 一致 |
ここまでは自分の中での整合だった。外の資料に載っている「答えつきの設計例」に、この道具が独立に辿り着けるかを見る。部品値と結果が両方書いてある例を2つ使った。
| 確かめたこと | 期待 | 実測 | 差 | 許容 | |
|---|---|---|---|---|---|
| ANP-16 例1: LC共振 [Hz] | 22900 | 22877 | 0.10% | 0.5% | 一致 |
| ANP-16 例1: ESR零点 [Hz] | 2.400e+6 | 2.411e+6 | 0.48% | 2% | 一致 |
| ANP-16 例1: クロスオーバ [Hz] 資料は「100kHz を少し超える」という書き方。目標は fs/9 = 100kHz | 1.000e+5 | 1.090e+5 | 8.99% | 12% | 一致 |
| ANP-16 例1: 位相余裕 [°] ★出力コンデンサがセラミック1個=この道具のモデルがそのまま当てはまる例 | 70.0 | 70.3 | 0.3 | ±3 | 一致 |
| ANP-16 例1(積極版): 位相余裕 [°] 資料は「保守版から10°下がる」=70−10。零点を動かした時の変化の向きと量が合う | 60.0 | 57.2 | 2.8 | ±3 | 一致 |
| SLVA301: LC共振 [Hz] | 3200 | 3202 | 0.07% | 0.5% | 一致 |
| SLVA301: 変調ゲイン Vin/Vramp | 23.53 | 23.53 | <0.01% | 0.1% | 一致 |
| SLVA301: 分圧比 Kv | 0.13920 | 0.13920 | <0.01% | 0.1% | 一致 |
| SLVA301: 第1零点(資料 step4)[Hz] | 2455 | 2455 | 0.01% | 1% | 一致 |
| SLVA301: 第1極(資料 step5 = 20kHz)[Hz] | 20000 | 20004 | 0.02% | 1% | 一致 |
| SLVA301: 第2零点(資料 step8)[Hz] | 3043 | 3043 | <0.01% | 1% | 一致 |
| SLVA301: 第2極(資料 step9)[Hz] | 2.059e+5 | 2.059e+5 | <0.01% | 1% | 一致 |
| SLVA301: クロスオーバ [Hz](3種を3枝のまま) 資料は「約17kHz」 | 17000 | 15275 | 10.15% | 12% | 一致 |
| SLVA301: 位相余裕 [°](3種を3枝のまま) ★出力コンデンサを枝ごとに持てるようにして一致した。以前は単一C近似で 32.2° と外していた | 60.0 | 56.9 | 3.1 | ±4 | 一致 |
| 同じ回路を単一C+単一ESRへ潰した場合 | — | PM 33.0° / fc 14.23kHz = 資料から 27° ずれる(混載を1種にまとめてはいけない例) | — | — | 一致 |
| SLVA301: R2=7.5k の最適化版のクロスオーバ [Hz] 資料が「20kHz を狙って R2 を上げる」と書いている版 | 20000 | 20015 | 0.08% | 5% | 一致 |
上の表に出てこないものは、確かめていないということ。並べておく。