電力消費量を測定および記録するエネルギーロガーを構築する
電気エネルギーの生成または消費を継続的に記録することが意味のある潜在的な用途は数多くあります。 家の特定の回路のエネルギー消費、またはバルコニーの発電所やより大きな太陽光発電システムによって供給されるエネルギーを考えてみてください。 記録用の既製のソリューションがありますが、適切なロガーを自分で構築することもできます。ここで紹介するロガーは、S0 出力を持つメーターを使用して電力消費を記録します。 適切なメーターは 20 ユーロ未満で入手できます (例: Amazon、eBay、または極東から直接)。 これにより、ここで説明する電子機器を使用して、接続された主電源回路のエネルギー消費や太陽光発電システムの発電量を測定し、「記録」または記録することができます。
編集者のおすすめ: Thomas Scherer 博士の記事「DIY 太陽光発電設置: バルコニー発電所の構築」をご覧ください。
結局のところ、マイクロコントローラーは何のために発明されたのでしょうか? まさにこの種のアプリケーション向けです。 コンピューター時代以前は、エネルギー消費や発電量を時間の経過とともに記録することは困難であり、家庭で使用することは事実上不可能でした。 あらゆる優れた機能を備えた安価なマイクロコントローラーのおかげで、今日ではデジタル ロギングが問題なく行えるだけでなく、Wi-Fi 接続などの高度な機能さえも可能になります。 エネルギーロガーでできることは、特徴箱。 完成したソリューションの印象は次のとおりです。形1、プラスチック製配電ボックスに設置された、電源ユニットを含むメーターとロガーの組み合わせを示しています。
マイクロコントローラーのおかげで、エネルギーロガーの回路(形2 ) 非常に簡単です。 左側には、電気絶縁用の多数のフォトカプラがあり、メーターの S0 インターフェイスからのデータがマイクロコントローラーの対応する入力に送信されます。 これらはパルスが失われないように割り込み制御されます。 十分なコンピューティング能力と Wi-Fi インターフェースを備えた安価な ESP32 モジュールを使用しました。 右側には 2 つのメモリ モジュールがあります。大容量ストレージ用の SD カード用スロットと、SD カードへの書き込みサイクル数を減らすために 5 分間のデータを一時的にバッファする追加の FRAM モジュールです。
回路が簡単なのでブレッドボード上で作りました。 2 つの水色のブロックからわかるように、安全上の理由から 2 つの独立した電源が提供されています。 左側の S0 インターフェイスの場合、6.5 V で十分です。 回路の残りの部分には 5 V 電源が供給されます (右)。 負荷容量はそれぞれ0.5Aあれば十分です。 電気的絶縁を目的として、電源の 2 本の GND ラインはいかなる状況でも接続しないでください。 さらに、フォトカプラの下、つまり入力と出力の間では、少なくとも 4 mm の距離にわたってすべての銅を除去する必要があります。形3これがどのように見えるかを示します。 2 つの独立した電源による電気的絶縁により、ESP32 を PC の USB インターフェイスに接続することもできます (たとえば、将来のアップデートをインストールされたコントローラーに送信できるようにするため)。 2 つの電源を使用する代わりに、より大きな電流負荷を備えた 1 つの電源と絶縁 DC/DC コンバータおよび電圧レギュレータのみを使用するソリューションも可能ですが、これでは実際の作業が簡単になるわけでも、コストが下がるわけでもありません。
すでに述べたように、2 つのメモリ モジュールを使用することは贅沢ではありません。 S0 インターフェイスは、1 秒あたり数パルスを送信することがあります。 測定値がマイクロコントローラの内部メモリに収集されている場合、リセット中にデータが失われる可能性があります。 一方で、すぐに SD カードに書き込むと、カードの寿命が大幅に短くなります。 1 秒あたり 1 つの値しかない場合、年間 3,150 万回の書き込みサイクルが発生することになります。 ただし、SD カードのメモリ セルは、わずか 1,000 ~ 3,000 回の書き込みサイクルで寿命に達します。 したがって、大容量カードであっても 1 年が経過する前にほぼ確実に欠陥が発生します。これを回避するために、安定したバッファが提供されます。 ここで使用される外部 FRAM モジュールのストレージ容量はわずか 8 KB ですが、かなりの数の値を収集するには十分な容量です。 FRAM の最大の利点は、メーカーによって異なりますが、少なくとも 1010 回の書き込みが可能であることです。通常、このようなメモリは数千兆回の書き込みサイクルにも耐えることができます。 FRAM に収集されたデータは 5 分ごとに SD カードに転送されます。 これは、年間 100,000 回強の書き込み操作を意味します。SD カードには多くのメモリセルが搭載されているため、かなりの年数は問題なく動作できます。また、ロガーの再起動回数は FRAM に記録されるため、リセットがトリガーされた頻度をいつでも確認できます。 さらにSD上に毎日新しいファイルが作成され、その日のデータが保存されます。 メモリ領域を節約するために、いずれかのメーター値が午前 0 時以降に変更された場合にのみ記録が開始されます。 エネルギーロガーを使用して電力消費量を記録する場合、この機能は実際には不要です。 ただし、太陽系のエネルギー生成を監視する場合、日の出後 (つまり、最初の電気が発生したとき) にのみ記録を開始すると便利です。
形4データが CSV 形式でインポートされたスプレッドシートのセクションを示します。 セル A1 には、ファイルが作成された日付と時刻が含まれています。 行 2 には、新しい開始点として前日の最後の値が含まれます。 メーター値の最初の変更は 05:55 (セル A3) に発生しました。 5行目以降がこの日の新しいデータです。 列には、個々のメーターのデータが含まれます。 各列と次の列との時間差は 5 分です。 データは毎日深夜まで記録されます。 毎日、新しいファイルが作成されます。 エネルギー量は、メーターのパルス値(たとえば、0.5Wh/パルス)を使用して、カウント値の差から計算できます。 CSV 形式は経済的であり、Mac 上の Excel、OpenOffice/LibreOffice Calc、Numbers などのスプレッドシートにインポートするのに適しています。 データは好みに応じてさらに処理できます。
SD カード上では、データは一時的なフォルダー構造に保存されます。 最上位には年ごとのフォルダーがあり、それぞれのフォルダーには月のサブフォルダーが含まれており、これらには個々の日のファイルが含まれています。形5構造を示します。 この例では、5 メートルの値が整数として記録されます (「形4 )。 CSV 形式のおかげで、これに必要なメモリは比較的少なくなります。 これにより、1 日あたり 1 メートルあたり数キロバイトが発生します。 ロガーから PC へのデータの転送は、FTP 経由で行われます。 FileZilla などの一般的な FTP クライアントがこれに適しています。 ロガーは Wi-Fi 経由でホーム ネットワークに統合されるため、この方法がおそらく最も簡単です。VSCode 用の PlatformIO IDE を使用して ESP32 のソース コードを作成しました。 このコードは、この記事の Web ページから無料でダウンロードできます。main.cpp ファイルで次のデータをカスタマイズする必要があります。 30 行目から、Wi-Fi ネットワークの SSID とパスワードを入力する必要があります。 FTP のユーザー名とパスワードは 813 行目で指定されています。デフォルトでは、ユーザー名とパスワードとして「esp32」が入力されています。 もちろん、FTP クライアントにはエネルギー ロガーの IP アドレスも必要です。 このアドレスはリセット後に USB インターフェース経由で出力されます。 ただし、理想的には、エネルギー ロガーに常に同じ IP アドレスが割り当てられるようにルーターを設定する必要があります。
統合されたWebサーバーを使用して、現在のデータと当日と前日の合計値を表示します。 サーバーは 2 つのページをホストします。 1 ページには、メーターごとの現在の電力と、接続されているすべてのメーターの合計が表示されます。 また、当日と前日の総電力量をkWh単位で表示します。 他のページには、Wi-Fi ネットワークの電界強度とロガーの再起動回数が表示されます。数字6そして7スマホからのスクリーンショットです。 すぐにお気づきかと思いますが、私はエネルギー ロガーを消費量を測定するために使用しているのではなく、5 台のインバータを備えた太陽光発電システムを監視するために使用しています。 したがって、個々の値のラベルを使用目的に合わせて変更しました。 ただし、必要に応じてソフトウェアでこれを簡単に変更できます。 ブラウザで IP アドレスに接続すると、次のような表示が得られます。形6 。 アドレスに「/about」を追加するか、[情報] ボタンをクリックすると、形7が表示されます。
Wi-Fi 接続に関するもう 1 つの注意事項: エネルギー ロガーを金属製の筐体に設置すると、ほぼ確実に受信の問題が発生します。
エネルギー ロガーが筐体に組み込まれて設置されると、ソフトウェアを変更する場合でも電子機器を再度取り外す必要はなくなるでしょう。 したがって、データロガーを更新できます。」○バージョンT彼あir" (つまり、Wi-Fi 経由)。したがって、必要に応じて、完全なソフトウェアとファイル システム (JavaScript および CSS ファイルを含む Web ページ) をリロードできます。リロードしたい場合は、IP アドレスを入力します。 「/update」を追加します。形8私の場合、これがどのように見えるかを示します。 Ayush Sharma のライブラリを利用して OTA 機能を実装しました。
回路は非常に単純なので、パーツリストは実際には必要ありません。 どこでも入手できる ESP32 開発ボードのほかに、重要なコンポーネントは、安価なブレークアウト ボードで入手できる SD カード スロットと、これもブレークアウト ボードで便利に入手できる FRAM モジュールです。 ブレークアウト ボードにはさまざまなピン割り当てが用意されているため、接続するときはピン番号ではなくピンの指定に注意する必要があります。 SD カード モジュールの場合、MOSI は DI または SI に接続され、MISO は DO または SO に接続されます。 メーターは、S0 インターフェイスを備えた DIN レール取り付け用の安価なモデルであればどれでも使用できます。 私が使用したDDS5188タイプ(形9)は簡単に入手でき、非常に安価です。
主電源を扱う際には必要な注意を払う必要があることは言うまでもありませんが、ヒューズ ボックスの作業には異なる国内法が適用されるという注意事項も許可される必要があります。 ドイツでは、この目的のために訓練を受けた電気技術者としてネットワーク オペレータに登録する必要があります。 また、ヒューズ ボックスに接続された外部サブディストリビュータの作業は、適切なトレーニングと知識を持つ熟練した電気技術者のみに許可されています。
編集者注: 記事 220079-01 (J. Starkmuth による翻訳) は、Elektor 2023 年 5 月/6 月に掲載されています。この記事についてご質問やコメントはありますか? Elektor ([email protected]) までお問い合わせください。
Georg Luber は、電気工学を学び、電気安全と電気設備の分野で長年働いてきた訓練を受けた電気技師です。 彼は、国内外の標準化委員会 (DKE/VDE、CENELEC、IEC、ISO) で働いてきました。 彼の仕事のもう 1 つの焦点は、自動化、特に KNX の構築でした。 Georg Luber は、これらの分野のソフトウェアおよびエレクトロニクス プロジェクトの開発に携わっています。
特長 図 1 図 2 図 3 図 4 図 5 図 4 図 6 7 図 6 図 7 OTA 図 8 図 9