「トランジスタ技術」2023年5月号掲載の「太陽光電力IoTロガーの製作」記事の回路にて、恥ずかしながら数十分間、電子負荷回路部の動作が頭の中で追えなかったので、こういう理解で良いよね?というのを備忘録として記録しておきます。
問題の回路
問題の回路は以下の図のようになっているのですが、普通よく見る電子負荷回路のそれとは異なってる気がしていて、何のためにこうしているのだろう?ってのが素直に読み解けなかったのです。

2つのオペアンプの役割
図の真ん中にある2つのオペアンプの役割を冷静に考えると本回路でやりたいことはなんとなく見えてきます。本記事ではこの辺り過去記事参照という形で結構すっ飛ばされているので、初見だとすんなり動作が入ってきません…。分解して考えるとこういうことかなと思います。

1個目のはボルテージフォロア回路になってます。出力を負帰還していて、オペアンプの増幅度が十分大きければ+側の電圧と-側の電圧は等しくなります。ボルテージフォロアは回路の分離、インピーダンス調整などに使われるので、ここは太陽光パネル側からの電圧(を4分の1に分圧したもの)をAIN0ともう一方のオペアンプに入力した際の負荷で測定電圧が変動しないように…ということでしょうか。
2個目のはコンパレータ回路ですね。-側の電圧の方が+側電圧より高ければLow level出力、+側電圧の方が-側電圧より高ければHigh level出力が得られます。ということはこの部分は、マイコン側で制御した負荷設定電圧と太陽光パネル側からの電圧とを比べて、負荷設定電圧よりも太陽光パネル側の電圧が高い場合にはHigh levelを出力して、FETをOnにする回路っていうことですね。FETには電流計測用のシャント抵抗が入ってるので、太陽光パネルの電流測定ができるようになります。
AIN0とAIN1間の電圧値は、実際のパネルの電圧を4分の1に分圧しているので、AIN0, AIN1を入力しているADCの出力値は実際の電圧を4分の1にスケールしたものなのですが、そこはマイコン側のPythonプログラム内で補正かけていますね(謎のfsパラメータ)。…この辺も説明がないのでよく読んで考えないと意味が分かりません。補って読むのが通常運転?とも言えるトラ技だから良いのか?(笑)