京都に帰ってきて電子工作する元気が出てきたので、電源周波数の観測を始めてみました。


1分単位のグラフをChart.jsで描き、10分中央値*1グラフをVictoriaMetrics + Grafanaで描いています。
ハードウェア
関電(60Hz) ESP32
ESP32のモータ制御機能MCPWMが持ってるインプットキャプチャ機能で測定しています。

回路図はこんな感じ。
LM393でヒステリシスコンパレータとオープンコレクタ使ったレベルシフトをしてます。繋いでるACアダプタはデジットで30円たたき売りされてたACアダプタ*2を割って、ダイオードとコンデンサを回路側に移設しています。ケースはダイソーで売ってた手芸アイテム入れを流用しています。
東電(50Hz) AVR
自分の実装に自信が持てなかったので、とものさんが書かれたAVR(ATTiny)による観測を自分でも組んでみました。
同じ測定対象を別ハードウェアで測り続けてもアレなので、東京でADS-Bを受信してるRaspberry Piに繋いでいます。

ソフトウェア
ファームはArduinoなどC系で、データを受けるあたりはGoで書きました。AVRでUARTから流し込まれるデータをアップロードするのはPython3で実装しています。
TODO
- 電圧測定もしたいな~
- ESP32は正直オーバースペック感があるので、ESP8266でなんとかならないかな(インプットキャプチャないけど…。)
*1:最初は平均値グラフ描いてたけど、欠測時にグラフがおかしくなったのでやめた。
*2:型番からぐぐって見つけた「ニッポン放送対応防災ラジオ「セキュリオ」MHS-1242T USED ラジオとしても使用可ミュディーヒューマンサービス アダプタ(MHS-AD001)付き」と見た目が同じなので、たぶんこれ。