おもちゃ、家電、もろもろの修理の足跡と備忘録

色々と忘れるので、趣味のメモ

太陽光パワーコンディショナからのデータを見える化してみた(起動時の様子編)

2023-12-21 07:46:10 | 太陽光パワコンデータの見える化

起動時の様子です。下の図の紫線の07:00近辺の0と200の行ったり来たりは、200が前回サーバにデータを正常にあげられた事を示していて、0は前回再起動した事を示しています。なので、ENを制御して、継続して数秒間12Vが検出できると起動していますが、データを送信したけれど、やはり12Vが安定せず断になってまた再起動した、ということを示しています。
上の図は当日の発電量(起動時=0として)を示していますが、07:10頃から発電量が検出できる状態になった、多分連携を始めているのではないかと思います。
毎朝、心配?で覗きにゆくのですが、EN対処後は一度も起動失敗することも止まることなく順調に動いています。 →次の記事で改造しました。

太陽光パワーコンディショナからのデータを見える化してみた(サーバへの転送時Errorの話)

2023-12-17 09:12:16 | 太陽光パワコンデータの見える化

 先のソフトウェア周りの話のところ書きましたが、今回、CircuitPythonでambientへ書き込み時にCircutPythonの先の深いところでエラーが起きてアプリが落ちる事がありました。
 Error自体は、Repeated socket failuresとでてadafruit_requests.pyの中で落ちているようです。色々調べて海外でのやり取りを見つけましたが、どうやらadafruit_requests.pyの先で落ちているようで、そのやり取りも途中状態でまだFixされていないような感じです。
未だ根本解決はしていないようですが、今回はPythonのtry/exceptで救える事がわかったのでその対処をしていて、どのくらいの頻度で落ちているのかを知るために失敗した次の成功した転送でその状態をサーバに送るようにしていました。
 上の3枚のグラフは、2023/12/6、12/7、12/8の横軸時刻、縦軸が緑が転送にかかった時間(sec)、紫がサーバからのresponce値(失敗した場合は1000を足しているので急に立ち上がっているところが前回失敗しているところ)です。転送に要した時間は、プログラムの中で8秒でタイムアウトするように設定しているので、実際にはもっとかかっているものもありますが所望の動作です。
 問題の紫のグラフですが、真ん中の12/7のお昼ころを境に明らかに挙動(頻度)が変わっています。もちろんESP32側のソフトウェア環境は継続して動作しているので変わっていません。この後も一日数回から10回程度のエラーは起きていますが頻度は以前と明らかに違います。途中経路のNetwork側の設定が変わったのか、サーバ側の設定が変わったのか、どちらにしてもESP32/CircuitPythonの外部の要因がきっかけでこのエラーの発生頻度が大きく変わる、ということはわかりました。
 今回はtry/exceptでアプリ側で救えているので良いですが、複数のシステムが絡んでいるとこういうところは難しいです。

太陽光パワーコンディショナからのデータを見える化してみた(動かしてみたらアプリが消えたり編)

2023-12-17 09:00:09 | 太陽光パワコンデータの見える化
[最終的なシステム概要を追加 2023/12/16 21:00]
[遅延回路?に一部追記 2023/12/17 9:00]



その後ですが、とりあえず、このまま動くかなと思っていたのですが、そうはうまくゆきませんでした。
朝、ambientを覗くとデータが上がっていない。あれっ、と思って見にゆくと、変なタイミングでESP32の青いランプが点滅。外してPCに繋いで見ると、アプリが消えていました。なんで? うまく動く日もあれば、python sourceだけ消えていたり、中途半端にソフトが消えてしまっていてBootすらしていない日も。
で、見つけました。朝、微妙に発電はし始めているが、まだ電力連携が始まっていないという時に、なんとパワコンからの12Vが、1秒間隔位で点滅を繰り返していました。ESP32的には、「電源が入った、Bootするか」と青のLEDが点灯するような微妙なタイミングで電源がOffになる、を繰り返されていたようです。

12V:(夜間)OFF→(日の出)1秒間隔位でON/OFFの繰り返し→ON→
で、安定しない時は
→ON→OFF→ON、とか→ON→1秒間隔の点滅→ON→

というような動作をしていることがわかりました。さて、どうする。

対処1:降圧した5Vに大きめのキャパシタを挿入
 5Vラインに接続してあった、5V電源確認用のLEDも電力節減?のために切断したりしてやってみましたが、うまくゆきませんでした。ESP32の消費電力を賄うそれなり?の大きさのキャパシタ分が必要ですね、、、。(真面目に計算していません、、)

対処2:ESP32のEN端子(Enable端子、内部で弱Pull-Upされているようです)をC/Rで制御して、点滅している間は起動しないようにする
 これうまく行きました。LTspiceを久しぶりに引っ張り出して、「点滅している間はhigh-Levelにならない、数秒のON継続でhigh-Levelになる」をシミュレートして5Vのラインで検出する回路を入れました。実際には計算通りゆかないので、Try&Errorで抵抗を追加しましたが、この一週間程毎朝無事に起動してくれています。 [後日PICで回路を追加しました。太陽光パワーコンディショナからのデータを見える化してみた(毎朝のESP32の起動制御改)参照の事。2024/1/24追記]
こういうところ、「やってみないとわからない」、システム化の苦労?面白い?ところですね。

後は、電源確認用LEDを5Vラインに入れていました(シガーライタ用の基板についていただけ)が、それは切断、12V側に緑色のLEDを挿入しました。

純正のモニタは、もちろんしっかりちゃんとできていて、12Vが点滅している間は表示はしない、ある程度継続すると表示が出る、安定して電力連携が開始されると電力連携の緑LEDが点灯する、でした。データの中に電力連携のビットがあるのでしょうけれど、累積電力量が受信データの中にあるので、起動したときの累積電力量との差分を取ると当日の発電量はわかるので良しとしています。

現時点でのシステム概要構成:


LTspiceのライブラリ追加の場所(v17.1.x)

2023-12-16 10:38:36 | ソフトウェア環境
LTspiceを久しぶりに使って、インストールしてみたらライブラリの場所が前と違っていたので備忘録。

LTspice v17.1.15 (2023/12/16)
C:\Users\{user_name}\AppData\Local\LTspice\lib

古いLTspiceは、
C:\Program Files の下の \LTspiceなんちゃら の下の\lib

v17.1.15の場合は、
C:\Program Files\ADI\LTspice
には、lib.zip というzipファイルがあるが、多分これを上記AppData以下に展開しているのではないかと思う。

TIPS:
ちなみに、Windowsで、ファイルの在処(Path)をコピーする場合は、Explorer上の該当ファイルを「Shiftを押しながら右クリック」で真ん中辺りの「パスのコピー」を選択 → クリップボードにコピーされるので、必要なところでPaste。前後に「”」が着くので注意。