energy note

色々と勉強中なので備忘録として。

小電流電子負荷装置の自作

どうにか家の電気を賄えないか考えまくっています。
今現在実験してみているのが、エナジーハーベスティングみたいな小さいエネルギーを利用することです。そんな小さなエネルギーどうすんだ?ってツッコミを受けていますが、その通りなのでスルーします。
エナジーハーベスティングだとその場で得られた電力を利用して例えば気象データを送る、であったりリモコンみたいな使い方が有名どころでしょうか。このように実用化されていたりします。(TOTOのHPより)
このような使い方が効率がいいし、利用しやすいのはわかっています。まぁしかし、これも小さいながらも電力なので、どうにか集めれば携帯の充電くらいできないだろうか?という発想がスタートで、今いろいろと遊んでいます。
そこで色々と発電方法はありますが、その特性を調べたり、実験したりするために、前々から欲しかった電子負荷装置を作ることにしました。
電子負荷と言えばパワみのある感じですが、逆に小さな電流を引けるような機種をあまり見たことがありません。µAオーダーの電流を扱えるのは特に知らないですね。なので作ります。
f:id:energy_note:20201130075606p:plain
ぐぐったらたくさん出てくると思いますが、基本的な回路を利用しています。
µAなので、負荷抵抗を大きくしないと電圧が取れないので制御や測定が難しく、他にできれば負荷抵抗を下げたいのもあるので増幅回路を入れて電圧を上げる工夫をしました。
実際には利便性と精度から非反転増幅回路ではなく計装アンプLT1167CN8を利用しました。(秋月電子HPより)
あとは増幅率を切り替えることと、負荷抵抗を切り替えることで、µAオーダーからmA、Aオーダーまでの測定を可能にしました。
C1・C2・R1は発振防止です。これがないと簡単に発振してしまいます。実際、入れないで回路を組んだところ、「シャー」と音が鳴ってるのがわかるくらい発振していて、テスターで測ると数十kHzで発振していました。LTSpiceでシミュレーション上で無事発振を再現させることができましたが、そこで発振防止のフィルターを検討したもののうまくいかず(技術がなく)、実回路も含めてトライアンドエラーで決定しました。(ローパスフィルターとかハイパスフィルターとかいろいろやってみたものの、良い結果が出ませんでした)引く電流範囲や回路構成、FETの選定によっても値や接続位置が変わると思います。


恥ずかしながら、試作中のスパゲッティです。
制御にはM5Stackを使用して、ADC(ADS1115)とDAC(MCP4728)を使って測定・制御をしました。これ、ADCとDACの値が結構ばらつきが大きかったので各chごとに校正したほうがよさそうです。
各chの入力・出力にDMMをつなげて目標の値に近づけるように校正できるプログラムを組みました。この方法が良い方法かわかりませんが、実用の範囲内であると思っているので、これで行きます。
先にADCの測定値に対する変換式をあらかじめ作っておいて電流は測定できるようにしておきます。回路に電源を接続し、DACを通じて回路図内の制御電圧部に適当な電圧を与えて電流を変化させます。DMMでその電流値を測定し、まぁ適当な電流値になったときのAD変換値をExcelなどでDMMの指示値と共に記録し、グラフから近似曲線を求めます。
f:id:energy_note:20201203020532p:plain
近似曲線の式をそのままプログラムに入れます。この例だとy=0.124x+1.2285となります。ADCからの数値をこの式のxに入れてあげれば電流値として表示できます。
画像の式は一例で、ADCのbit数や負荷抵抗値、などによって変わります。それぞれの環境に合わせてください。ほとんどリニアに変化したので取る点数は少なくてもよさそうでした。これでADCに対する調整ができました。

DACについては3点の測定点を取って、1点目と2点目を通る直線の式、1点目と3点目を通る直線の式、それぞれの平均をとりました。ちょっとこの方法がベストなのかは少し議論・実験の余地があります。
M5Stack上でDACに直接指令値を与えられる校正画面を作り、例えばAD変換電流値が50µAになるようにDAC指令値の数値を上下させる、という画面ですね。その数値を例えば50µA、100µA、300µAとすると
f:id:energy_note:20201203023803p:plain
①と②の式がかけるので、それの式の平均をM5Stackで計算させ数値を記録して利用します。
これで例えば電子負荷上で50µA流せという指令に対して先ほど保存した式を使い、DACに〇〇の数値を与えればいいんだな、とM5Stackに判断させられます。このくらいのプログラムならそこまでの知識がなくても組めました。
伝わるでしょうか・・・うまく記事にできてない気もしますが・・・これで一応動きました。

まだ製作途中ですし、これがベストの方法だとも思っていないので、後々記事を編集するかもです。

M5Stackを使用すると、PCとのシリアル通信もすぐにできるし、SDカードに簡単に保存できるのが大きいですね。Wi-Fiも使えるし。割と自作測定器に使えるかも、と思ってます。
まだまだ空きポートもあるし、ほかに何かしら面白いことできないか模索中です。
グラフは実装していませんが、後々にはCVやCP、CR機能も付けたいなぁと思っていて、M5Stack Japan Creativity Contest とかに出せればいいなぁ。