LoT ラブオーティー

非モテ男の、非モテ男による、【女の子にモテたい】非モテ男のためIT活用ブログ

スポンサーリンク

IoT/WSN

Arduinoで24時間、複数の電圧を自動で監視・測定する方法

更新日:

太陽光発電などの自然エネルギーを使って、発電する際に電圧はどのくらい出ているのか、気になるところです。一回一回、テスターで測っているのも大変なので、Arduinoを使って24時間、自動で電圧を監視させてみました。自然エネルギーとかをつかった発電はIoTセンサーとかに利用できるので、自動電圧計があると、いろいろと試行錯誤するときに便利だと思います。

使ったものは以下になります。

  • Arduino UNO
  • 電圧を測定したいもの(太陽光電池など)
  • デスクトップPC 

※ノートPCの場合は9V1.3AのACアダプターも必要です(秋月電子・スイッチサイエンス等で販売されています) 。ノートPC(USB給電)でArduinoを動かそうとすると、測定した電圧が不安定で上手く読み取れませんでした(後述)。


やることは、電圧をArduinoで読み取って、それをPCに送るだけで、とってもシンプルです。



Arduinoを動かすには電源の供給が必要です。電源供給の仕方は、2種類あって大きく以下になります。

  • PCからUSBケーブルで供給
  • ACアダプター

ここで注意が必要です。デスクトップPCからUSBケーブルを接続して供給する場合には大丈夫ですが、ノートパソコンの場合だと供給電圧が不安定なので、Arduinoの動作に影響が出ます。電圧を測定するので、ある程度の正確度は必要になります。測定値に雑音が載りすぎないようにするために、しっかりと供給してあげましょう。

ちなみに、ノートPCから電源を供給させて、乾電池の電圧を測定したら、めちゃめちゃな結果になって、正しい結果が得られませんでした。


実際つなげるとこんな感じです。

もし測定したい電圧が5V(定格電圧)を超える可能性があるなら、Arduinoと測定したい装置との間に抵抗を入れて、分圧させてください。

Arduinoの分解能は10bit(2の10乗=1024)で、5[V]÷1024=約4.8[mV]なので、読み取れる正確度は5mVまでです。ですが、実際は10mV単位までしか読み取れてない気がします。もっと細かく読み取りたい場合は、テスターを使うのが手っ取り早いかもしれません。


Arduinoに書き込むプログラムは以下です。5分毎に電圧を読み取ってます。右上の虫眼鏡のボタンをクリックすれば、シリアルモニタが開くので、測定値が見れます。

途中で値を5でかけて、1024で割っています。

こうしないと、シリアルモニタに表示される値は0~1024の数字になってしまいます。この0~1024という数字は、それぞれが0.00~5.00[V]に対応しているので、変換しない場合は一目では読み取りにくいです。


Arduino複数の電圧を測定するソースコード

次は、もし太陽光電池を2台同時に24時間測定したい場合のお話をします。

色々調べてみたんですが、これが一番簡単なのではないかなって思います。アナログピンA0に一つ目をつなげたので、2台目は別のアナログピンを使います。私はA5を使いました。グラウンドもアナログピン側に2つ用意されいるので、アノード極をもう一つのグランドに挿しましょう。



プログラムも上の内容とまったく同じことを追記するだけなので、こんな感じです。

それぞれの電池を5分おきに測定するので、それぞれが測定したら2分30秒待たせます。ちなみに一度に2つの電圧を読み取って、そして5分待っても大丈夫です。


測定が終わったら、シリアルモニタで表示された値を、エクセルにコピペして、エクセルのフィルター機能を使って、値を1台目と2台目に分ければ完成です。


これで同時にいくつか電圧監視ができます!

最後まで読んでいただいてありがとうございます。

スポンサーリンク

-IoT/WSN

Copyright© LoT ラブオーティー , 2019 All Rights Reserved Powered by STINGER.