↓メインコンテンツへスキップ

PowerSAGMonitor 第1部 概要編 ── 停電・瞬停・サグを記録する装置を Claude と自作した

この記事について

この記事の内容および実装は Claude Code を使用して開発・記述し、人間が検証・修正しています。文中で 「私」 は人間であり、 「Claude」 は AI が主語であることを表しています。

本 blog には コメント機能があります。GitHub アカウントで投稿できます。

はじめに #

この記事は、私が初めて AI (Claude) と共同で電子回路機器を製作し、運用まで至った記録である。前提として、私は電子回路の知識は少ない。電子キットや人が描いた回路の組み立ては僅かに経験があるが、自分で設計はできない。一方、私は 2025 年に第二種電気工事士の資格を半ば趣味で取得したので、若干の交流電源の知識はあり、自宅の工事はできる。

下記の経緯があり、せっかくなら AI が設計した機器を製作してみようと思い立った。作って終わりな玩具的な作品ではなく、実用的な機器として使っていけそうという点もモチベーションになった。

経緯 #

我が家の Proxmox VE サーバ ( 自宅サーバに Proxmox VE を導入した記事) が、少なくとも 2026 年 2 月頃から、不定期に強制再起動を起こすようになっていたらしい。4 月頃に夜間にリブート音が聞こえて異変に気づき、Claude と原因調査を開始した。

ワイヤーラックの棚に置いた黒いファンレスの小型 PC。LAN ケーブルが 3 本つながっている

自宅の Proxmox VE サーバ。この機体の不定期な再起動から始まった

下記の順で想定と対策を進めてきた。

  • (1) AC アダプターの劣化? → AC アダプター買い替え
  • (2) 発熱が原因? → 温度センサーを導入して継続監視
  • (3) 温度センサー用の特殊ドライバが逆に悪いのでは? → アンインストール
  • (4) 時々見かける瞬停が原因? → UPS を購入
  • (5) Linux カーネルの電源制御? → Intel CPU の C-State (省電力状態) を C1E (浅い省電力) に固定

最終的に (5) が決め手となり、再起動は収まった。8 月頭にはこれが主原因と結論づけている。

ただ、7 月以降家の照明が一瞬暗くなるのを何度か見ており、LED 照明に電源が入った瞬間に鳴る「ピッ」という短い音を聞いて、あとから「いまのは瞬停 (ごく短い停電) だったのでは」と思い当たったこともある。当時 (4) についても調査していたので、Claude は「サグ」(電圧が一時的に下がる現象。「瞬低」とも呼ぶ) がサーバ再起動原因の可能性もあると指摘した。

対策として、まずはサーバだけを守るため UPS (無停電電源装置) を購入した。その後も、部屋の電気が1 秒ほど暗くなるのが数日に 1 回は発生していた。

APC の UPS の前面。液晶に入力電圧が表示されている

購入した UPS。液晶には入力電圧が出る

ところが、私が買った機種 (APC RSシリーズ) は Smart-UPS のような高性能型ではないので、詳細ログは出ない。比較的長めの瞬停〜停電なら、バッテリーに切り替えてログにも残るが、1 秒以下の浅いサグは、AVR (自動電圧調整機能) が補正してしまいログが出ない。深いサグでバッテリーに切り替わったときも、ログに残るのは「切り替えた」ことだけで、電圧がどこまで下がったかや継続時間は不明。UPS から読める入力電圧も 1 分ごとなので、数十 ms の現象はその間に埋もれてしまう。

サーバの監視の仕組みを整える中で、周囲と CPU の温度を比べて監視するために Home Assistant (オープンソースのホームオートメーションアプリ) も構築していた。せっかく Home Assistant があるなら、電源も監視したい。そこで電力センサーの購入を検討したが、サグを安価に検出できる製品は見つからなかった。市販の電力センサーは、数秒〜数十秒ごとの平均値を送るものが多い。落雷などで起きるサグはふつう 0.1 秒程度で終わるので、平均値に埋もれて見えない。

Claude に相談すると、「電力品質アナライザをレンタルする」「センサー自体を自作する」などの案が出たが、電力品質アナライザは高価な業務用の計測器しかなく、家庭向けの選択肢はない。せっかくなので、Claude と共同で電子回路の製作にチャレンジしてみることにした。

こうしてできたのが、この記事で紹介する PowerSAGMonitor である。構想から完成まで約 2 ヶ月。

この記事は3部作の第1部 (概要編) で、装置で何がわかるか・どういう構成か・Home Assistant でどう見えるかを紹介する。

分電盤の左横に取り付けた黒いボックス。PowerSAGMonitor のラベルが貼ってある

分電盤の横に取り付けた PowerSAGMonitor

家庭の電気の引き込み方 #

装置の説明の前に、家庭に電気がどう引き込まれているかを整理しておく。この記事の L1・L2 という呼び方や、100V と 200V の話は、これが前提になる。

電気は、電柱の変圧器 (電圧を変える機器) から家に引き込まれる。日本の家庭の引き込み方には、次の 2 つの方式がある。

家庭の配電方式の比較。単相2線式は変圧器から L と N の 2 本で、電圧は 100V の 1 種類。単相3線式は L1・N・L2 の 3 本で、L1–N と N–L2 がそれぞれ 100V、L1–L2 が 200V単相2線式変圧器 (電柱)LN100V電圧は 1 種類 (100V)単相3線式変圧器 (電柱)L1NL2100V100V200V100V と 200V の両方が取れる
方式線取り出せる電圧
単相2線式L (電圧線) と N (中性線) の 2 本100V だけ
単相3線式L1・N・L2 の 3 本L1–N と L2–N で 100V、L1–L2 で 200V

単相3線式では、変圧器のコイルの真ん中から N を取り出し、両端を L1・L2 にする。L1 と L2 はそれぞれ N に対して 100V で、向きが逆なので、L1–L2 の間では足し合わさって 200V になる。いまの家庭は、ほとんどがこの単相3線式で、エアコンや IH 調理器などの 200V の機器も使える。

現代では単相3線式が主流
以前の家庭は単相2線式が多かったが、エアコンなどで家庭で使う電力が増えるにつれて、1980 年代から単相3線式に置き換わってきた (パナソニック 用語解説)。
日本と海外の家庭の電気
地域家庭の電圧周波数引き込み方
日本100V / 200V50Hz (東日本)・60Hz (西日本)単相3線式
北米 (米国・カナダ)120V / 240V60Hz単相3線式
欧州230V50Hz単相2線式。三相交流 (400V) を引き込む家も多い
中国220V50Hz単相2線式、または三相交流

引き込み方は北米と同じで、電圧の 100V は世界でもほぼ日本だけ。日本の中で周波数が東西で分かれているのは、明治時代に、東京がドイツ製 (50Hz)、大阪が米国製 (60Hz) の発電機を入れたことに始まる (パナソニック)。境目は、おおむね静岡県の富士川から新潟県の糸魚川のあたりである (日立エナジー)。各国の電圧・周波数・引き込み方は Wikipedia による。

PowerSAGMonitor でわかること #

PowerSAGMonitor は、家の分電盤 (家に入ってきた電気を各部屋の回路に分ける箱) の横に取り付けて、家全体の電気を常に見張る計測器である。前節の単相3線式の家を対象にしていて、L1・L2 の電圧と電流を別々に測る。わかることは大きく分けて次の 2 つである。

  • 電圧の異常: 停電・瞬停・サグ・スウェル (電圧が一時的に上がる現象) が、いつ始まり、どれだけ続き、電圧がどこまで下がった (上がった) か
  • ふだんの電気の使い方: L1・L2 それぞれの電圧・電流・電力・電力量 (電力を時間で積み上げたもの。単位は kWh で、電気料金のもとになる値) を 1 分ごとに

電圧の異常の呼び分け #

停電と瞬停には、日本の規格としてはっきりした定義が無い。この記事では、電力の品質の分類でよく使われる米国の規格 IEEE 1159 (IEEE は米国の電気電子学会) にならって、次のように区別する (IEEE の用語の解説)。

この記事での呼び方何が起きているか装置の判定長さ
停電電気が止まる電圧が平常時の 10% 未満1 分以上
瞬停電気が止まるが、すぐ戻る同上1 分未満
サグ電気は来ているが、電圧が一時的に下がる平常時の 90% を下回ったら開始、92% を超えたら終了問わない
スウェル電圧が一時的に上がる平常時の 110% を超えたら開始、108% を下回ったら終了問わない

装置そのものは停電と瞬停を区別せず、どちらも「電気が止まった」として長さを記録する。1 分で呼び分けるのは、記録を見る人の側である。開始と終了のしきい値を少しずらしてあるのは、境目の近くで電圧が揺れたときに、開始と終了を何度も繰り返さないようにするため。低い電圧の配電線では、サグの開始を 90%、ずらす幅を 2% にするのが一般的で (Schneider Electric の技術資料)、この装置の値も同じである。

なお、「経緯」で触れた瞬低 (瞬時電圧低下) と、ここでいうサグは、実質的には同じ現象を指す。瞬低は電力会社の用語で、落雷などの送電線の事故が原因のものをいう。この装置は電圧を見るだけで原因までは区別できないので、原因を問わない「サグ」の方を使う。名前が似ている瞬停 (電気が止まる) と瞬低 (電気は止まらず、電圧が下がる) は、別の現象である。

10ms ごとに判定する意味 #

瞬低は、ふつう 0.1 秒程度で終わる。東京電力パワーグリッドの資料によると、いちばん高い電圧の 500kV の送電線で事故が起きた場合、瞬低は約 60ms しか続かない。

PowerSAGMonitor は、交流の波の半分 (半サイクル。50Hz なら 10ms) ごとに電圧の実効値 (交流の大きさを、同じ働きをする直流の値に直したもの。家庭の「100V」も実効値) を求めて、サグかどうかを判定する。60ms のサグなら、6 回ぶんの判定にまたがって捉えられる。

交流の電圧の波形を 10ms ごとの半サイクルに区切った図。途中の約 60ms だけ波の高さが下がっていて (サグ)、その間の 6 回の判定が「サグ」、ほかは「平常」になっている← 10ms →サグ (約 60ms)平常平常平常サグサグサグサグサグサグ平常平常平常判定半サイクルごとの判定 6 回にまたがって捉える

判定の間隔より長く続く下がりなら、取りこぼさずに捉えられる。逆に、1 秒ごとの平均で見ると、60ms の下がりは 1 秒のうちのごく一部なので、平均の値はほとんど変わらない。

実は UPS のログにも、「2 秒間バッテリーに切り替えた」という記録が残ったことがある。ただし、この 2 秒は電圧の乱れの長さではない。UPS が入力の安定を待ってから商用電源に戻るまでの待ち時間である。切り替えた理由も、電圧がしきい値を割ったからではなく、電圧の変化が急だったからと記録されていた。サーバの再起動について相談していた Claude は、実際の乱れを数サイクル (数十 ms) ほどと予想した。これは測った値ではない。前述のように、UPS の下流からは、実際に1次側 (入力側) の電圧がどこまで、どれだけの時間下がったのかはわからない。

数十 ms の出来事を記録するには、やはり 10ms 刻みで判定する必要がある。

全体構成 #

PowerSAGMonitor から Home Assistant までの全体の構成は、次の図のとおりである。

全体構成: 分電盤から PowerSAGMonitor のボックスへ CT の線と電線 1 系統が入り、ボックスから Zigbee の無線で Zigbee2MQTT へ、そこから Home Assistant へ値が渡る分電盤単相三線 L1・N・L2主幹ブレーカー電流センサー (CT) ×2増設した分岐ブレーカー電圧と電源をここから取るAC100V分電盤の中の工事は電気工事士の作業CT の線電線 1 系統PowerSAGMonitor分電盤の横の樹脂ケース測る4ch・各毎秒 5,000 回判定する10ms ごと記録するフラッシュメモリ送るZigbee停電中も約 58 秒動くZigbee無線Zigbee2MQTTコーディネータで受けて名前の付いた値に直すアップデートも配るHome Assistant貯める・グラフにするエネルギー画面通知する
ケースに基板を固定した状態と、蓋の裏に置いた電流センサー

ボックスの中身。手前は蓋と電流センサー (CT)

PowerSAGMonitor は、単相3線式の L1 と L2 の電圧・電流を別々に測る。

構成要素役割
分電盤測る対象。電圧は、主幹ブレーカーの2次側 (出口側) から直接配線すると危険なので、PowerSAGMonitor 専用に増設した分岐ブレーカーから取る。電流は、主幹ブレーカーの線に、電流センサー (CT) を挟んで測る
PowerSAGMonitor分電盤の横に置く樹脂ケース (以下、ボックス)。センサーの信号をマイコン (ここでは ESP32-C6) が読み取り、測る・判定する・記録する・送るを、ボックスの中で完結させる
Zigbeeマイコンから家のネットワークへの無線。家電やセンサー向けの、低消費電力・メッシュ型無線規格
Zigbee2MQTTZigbee の機器を Home Assistant に中継するソフトウェア。Zigbee の親機 (コーディネータ) で受けたデータを、電圧・電力などの名前の付いた値に直して渡す。装置のファームウェアの更新でも使う
Home Assistant値を貯める・グラフにする。通知の自動化も作れる。電力量は、Home Assistant の「エネルギー」画面でそのまま使える

CT (電流センサー) は、電線を挟んで、流れる電流に比例した小さな電流を取り出すセンサーである。開いて挟むクランプ式なので、既存の配線を外さずに取り付けられる。

ボックスに入る 100V の電線 (L1・N・L2 の 3 心) は、電圧の測定とボックス自体の電源を兼ねる。

判定をマイコンで行う理由 #

10ms ごとの判定結果は、1 秒に 100 回ぶんになる。これをすべて無線で送るのは現実的ではない。そこで、マイコンが自分で「いつ・何が・どれだけ続いたか」を 1 件のイベントにまとめ、その結果だけを送る。ふだんの電圧・電流・電力などは、1 分ごとのまとめ (平均・最小・最大) を送る。

Zigbee を選んだ理由 #

送信するのは 1 分に 1 回のまとめと、稀に発生するイベントだけなので、小さなデータで足りる。Zigbee は Wi-Fi より消費電力が小さい。停電すると、ボックスはコンデンサに蓄えた電気だけで動くので、消費電力が小さいほど長く動ける。ボックスは停電後も約 1 分動き続け、その間にマイコンが停電の始まった時刻を記録に残す。

Home Assistant でこう見える #

ボックスの値は、HA (Home Assistant) の画面ではこう見える。詳しい使い方は第3部で紹介する。

Home Assistant のダッシュボード。L1・L2 のいまの電圧・電流・電力、周波数と AC の有無、直近 24 時間の電圧と電流のグラフ

HA のダッシュボード。いまの値と、直近 24 時間の電圧・電流

停電やサグが起きると、ボックスはそれを 1 件のイベントにまとめて送る。次は、試験でブレーカーを切ったときの記録例である。

Home Assistant の履歴画面。イベントの通し番号が 2 から 6 まで増え、種類はすべて interruption (停電)。下のグラフはイベントの長さで、約 30 分のものが 1 件ある

イベントの履歴 (10 月 19〜21 日)。通し番号 (Event seq) が増えるたびに 1 件。種類の interruption は停電、下のグラフは停電の長さ

主要スペック #

測る対象 #

測る対象仕様
電圧L1・L2 の 2 ch。実用上は 205V まで測れる (中性線が切れて 100V の回路に 200V がかかる異常も測れる)
電流L1・L2 の 2 ch。定常で 80A まで。確かさは ±5% が目安で、1A 前後より小さい電流は読みが粗い
電力有効電力 (一般に「消費電力」と呼んでいるもの) と無効電力 (電源と機器の間を行き来するだけで、仕事には使われない電力) を L1・L2 別に計算し、1 分平均で送る
電力量L1・L2 別の積算値 (0.1Wh 単位)。電力会社のスマートメーターの 1 日の値と ±1% 以内で一致した (2026 年 10 月 22〜31 日の実測。+0.2〜−0.9%)
周波数1 分平均 (0.01Hz 単位)
対応する地域50Hz の地域 (東日本) で使う前提で製作。半サイクルの区切りは 60Hz にも追従する作りだが、電力の計算の補正などに 50Hz を前提にした値が残っており、60Hz では試していない
判定の間隔半サイクル (50Hz で 10ms) ごとに電圧の実効値を求める
判定の基準平常時の電圧は固定値ではなく、直近約 1 分の平均を L1・L2 別に追い続ける。サグ・スウェル・停電のしきい値は、前の「電圧の異常の呼び分け」の表のとおり
時刻ボックスに時計は無く、Zigbee のコーディネータから時刻を受け取る (1 時間ごとに合わせ直す)

L1 と L2 の異常は、まとめて 1 件のイベントにする。どちらかがしきい値を外れたら開始、両方が戻ったら終了と判定する。

電源と停電のときの動き #

項目仕様
電源測定用に引き込んだ AC100V から、ボックスの中の電源モジュールで 5V を作る
停電に備える蓄えEDLC (電気二重層コンデンサ。普通のコンデンサより桁違いに多くの電気を蓄えられる) 5F
停電中の稼働時間停電後 約 1 分
停電の記録始まりの時刻をフラッシュメモリに書く。長さは、復電後の起動で確定して送る
停電中の送信1 分ごとのまとめは送らない。送らなかった数だけ記録に残す
復電後自動で起動して Zigbee のネットワークに戻り、たまっていたイベントを古い順に送る

停電中に送らないのは、家の中の Zigbee の中継器も止まっていて、送っても届かない可能性が高いためである。記録をボックスの中に残しておけば、取りこぼさずに済む。

制作の流れと役割分担 #

構想から完成までは約 2 ヶ月かかった。

時期 (2026 年)内容
8 月 26 日構想開始
8 月 29 日〜9 月 22 日設計・部品の購入・図面
9 月 23 日〜組み立て (はんだ付け・ケースの加工)
10 月 17 日分電盤に取り付け、運用開始
10 月 25 日ファームウェア 1.0.0 (チューニングを終えた最初の正式版)
  • 私 (人間) の担当: アイディア出し・方針の決定・部品の購入と、はんだ付け・加工・分電盤の工事・測定といった物理的な作業
  • Claude (AI) の担当: 回路の設計・図面・組み立ての手順書・ファームウェアといった詳細なハードウェアとソフトウェアの設計

私と Claude のやり取りは、Git のリポジトリを正本にした。設計書は Markdown で、図面は Claude が書いた生成スクリプトで管理している。

私 (人間) と Claude が並んで相談しながら、プロジェクトフォルダ・計測器・Home Assistant サーバの 3 つにそれぞれ手を入れている図。私の担当は構想・仕様の判断、部品の調達、はんだ付け・加工、設置と分電盤の配線・測定。Claude の担当は回路の設計・加工図 (KiCad)、工程表の管理 (Excel)、ファームの作成・デバッグ (ESP-IDF)、Home Assistant との連携プロジェクトフォルダGit・設計書・図面・ファーム計測器PowerSAGMonitorHome Assistant サーバZigbee2MQTT・HA相談私 (人間)Claude構想・仕様の判断部品の調達はんだ付け・加工設置と分電盤の配線・測定回路の設計・加工図 (KiCad)工程表の管理 (Excel)ファームの作成・デバッグ (ESP-IDF)Home Assistant との連携

進め方の詳細は、第2部 (制作編) で紹介する。

注意 #

ボックスの中には AC100V が来る部分がある。同様の機器を製作する場合は、感電と火災に十分に注意してほしい。

⚠️ 分電盤の作業には資格が必要
この装置の取り付けには、分電盤の中の作業 (分岐ブレーカーの増設・電線の接続) がある。これらは第二種電気工事士の資格が必要である。

次回予告 #

第2部 (制作編) では、設計から分電盤への設置までを紹介する。Claude が生成した KiCad の図面、ユニバーサル基板の実体配線図、300 手を超える組み立て工程表、そして制作中に起きたハードウェアのトラブルを取り上げる予定である。

参考 #