データロガーを自作!温度や電圧をUSBから簡単に測定してみた

本サイトはアフィリエイト広告を利用しています。
工具・部品

データロガーを簡単に自作出来ました。値段も1000円程度で格安です。

USB経由でデータを取得でき、簡単に表・グラフ化まで対応可能です。

部品の購入方法からデータの取得方法まで手順を一から紹介します。

 

スポンサーリンク

データロガーを自作!温度や電圧をUSBから簡単に測定してみた

データロガーを簡単に自作してみました。

ボードをパソコンにUSB接続すれば簡単にデータを取得することができます。

難しい設定は不要です。

 

実際に温度センサー、スイッチのON/OFF動作のデータを収集してみました。

データロガーとしてcsvに出力することができ、表・グラフ化も簡単に可能です。

 

必要なUSB接続のAD変換ボードも1000円程度で購入できます。

スイッチ・温度センサなど自由に接続可能です。

安く・簡単に自作できるデータロガーの使い方を紹介していきます

 

下記動画でも分かりやすく紹介していますので一緒にご覧ください。

 

またラズベリーパイでも下記記事でデータロガーの動作テストしています。

よろしければ一緒にご覧ください。(リンク先はこちら)

ラズベリーパイでデータロガー!電圧測定してグラフにしてみた
ラズベリーパイでデータロガーを格安で自作してみました。 USBで簡単に接続でき、10チャンネル分のアナログ電圧入力を測定可能です。 Pythonでデータ取得してリアルタイムでプロットするまでを一から紹介します。

 

価格の安いデータロガーを自作する

センサー等のデータを収集できるデータロガーに関しては普通にAmazonなどで購入可能です。

測定器メーカの本格的な製品から、おもちゃのようなものまで数多くの物があります。

価格も数万、数十万するものから数千円のものまでピンキリです。

 

今回は「安く」「簡単」にデータロガーを自作することにポイントとしていきます。

そのため安いAD変換ボードを使い、PC含めてデータロガーにします。

 

今回使用したのはUSB接続のAD変換ボードです。値段は1000円程度です。

「温度や電圧などのアナログ値」を「データ用のデジタル値」に変換するボードです。

これにセンサーやSWを接続してPCと繋げばデータロガーとすることが可能です。

 

AD変換のICだと更に安く自作できますが…

本当に「安さ」を追求するならば、AD変換のICを使うのが良いかと思います。

下記記事で紹介したようにラズベリーパイからSPI接続などでAD変換可能です。

SPIのCS,MOSI,MISO,SCLKの波形を見てみた

 

AD変換後のデータをラズベリーパイなどで収集・整理すればロガーとしても動作可能です。

但しSPI接続などはジャンパー線が多いので少し手間です。

またプログラムやコマンドで上手くデータを収集・整理する必要があります。

 

そのため今回は簡単に「USBで接続」「データ収集」が出来るデバイスを選択しました。

 

データロガーのセンサーを自由に選択可能

今回のデータロガーとするUSBのボードは電圧値を取得します。

端子台形状になっており、ジャンパー線で自由にセンサーを接続できます。

 

ジャンパー線に関しては市販のジャンパー線(オスーオス)です。

端子台とブレットボードを接続しています。下記記事で紹介したものを使用しています。

ラズベリーパイとセットで購入するべき おすすめ部品/パーツ/キット

 

今回は「スイッチ」と「温度センサー」の情報をデータ収集します。

 

測定可能な電圧は3.3Vまで

今回のデータロガーの注意点としては測定可能な最大電圧は3.3Vとなります。

基本的には3.3Vで動作するのセンサーを用意する必要があります。

端子台からAD変換しているCPUに直結しているためだと思われます。

 

データロガーのチャンネル数は10ch

今回のAD変換ボードは最大10チャンネルまでまとめて測定可能です。

特に設定など必要なく、自動的に10チャンネル分データが確認できます。

 

データロガーの分解能は12bit

今回のAD変換の精度(分解能)は12bitとなります。

明確なデータシートはありませんが、CPUがSTM32ですので12bit_AD変換のようです。

0~3.3Vまでを12bit(2^12)のため、単純換算で約0.8mV(3.3÷4096)単位の精度です。

 

実際に測定した所、約3.3VをAD変換時には4096付近の値を取っていました。

 

データロガーのサンプリング周期は500ms

今回のデータロガーとしてのサンプリング周期は約500ms(0.5秒)です。

タイムスタンプを入れて実際に確認してみました。

AD変換ボードから約500ms周期で10チャンネル分のデータが送られてきます。

 

データロガーの使い方。ボードと通信確認

スペックも一通り紹介しましたので、使い方を紹介します。

TereTermでAD変換ボードと通信

最初にAD変換ボードとUSB経由で正常に通信できるかを確認を行います。

 

ボード内でUSBシリアル変換を行っていますので、ソフトはTereTermを使用しました。

もちろんフリーソフトです。(Teretermのダウンロードのリンク先はこちらです)

ボードをPCと接続してもらえれば基本的にドライバもインストールされます。

 

USBシリアル変換に関しては下記記事でも紹介しています。(リンク先はこちら)

詳細を確認したい方は一緒にご覧ください。

USBシリアル通信のボーレートの最大は?通信速度(bps)をオシロで確認
シリアル通信の速度をオシロスコープで確認してみました。 USBシリアル変換ケーブルのICを調べて、最大のボーレートまで試しています。 シリアル通信のボーレートの設定で通信速度(bps)がどのように変化するか紹介します。

 

ボーレートの設定をして、データを確認

TereTermを開いてボーレートの設定を行います。

「設定」⇒「シリアルポート」を選択して、115200に設定を行います。

 

ボーレート設定後は10チャンネル分のデータが500ms(0.5秒)周期で確認できます。

「AD変換後の12bitのデータ」と「計算された電圧値」が表示されるはずです。

 

データロガーへの配線。センサー・スイッチを接続してみる

今回はAD変換ボードに「温度センサー」と「スイッチ」を接続します。

ブレットボードとジャンパー線を使ってテスト的に繋げていきます。

 

今回はテストレベルのためボード上の3.3Vをセンサー・SW用の電源として使います。

(何の用途の3.3Vか不明のため、可能であれば別の3.3V電源を用意した方がいいです)

GND含めて「CH5…スイッチ」「CH7…温度センサ」に接続していきます。

 

配線図

実際の配線図としては下記形になります。特に難しいことはしていません。

「温度センサー」「10kΩプルダウン+スイッチ」を接続しました。

プルダウンが無いとスイッチ押されていないとき、0Vに固定されないので接続します。

 

温度センサ MCP9700

今回使用した温度センサはMicrochip製のMCP9700です。

DIP形状のためブレッドボードに接続でき、3.3V電源でも動く温度センサーです。

今回は温度センサーを使用しましたが、他の3.3Vで動くセンサーでも構いません。

 

センサーとしては「電圧(V)=0.01(V/℃)×温度(℃) + 0.5(V)」の簡易的な計算式です。

Voutから電圧が出力されます。(データシートのリンク先はこちら)

そのため温度を逆算したい場合は「温度=電圧/0.01-50」の計算を行います。

 

タクトスイッチ

スイッチに関しても、特に何でも構いません。

今回はブレッドボードに簡単に接続できるタクトスイッチを使いました。

 

データロガーでcsv変換。データを保存してみる

TereTermでのデータロガーとして保存の方法は説明します。

冒頭でも紹介しましたが、動画で一連の流れを紹介しています。是非一緒にご覧ください。

 

ログの保存方法の設定

「ファイル」のタブから「ログ」を選択することでデータを保存できます。

 

特に気を付けることありませんが、あえて挙げるならば下記ぐらいです。

後でデータ整理しやすいように、色々試してみると良いと思います。

  • 保存するフォルダは任意の箇所を選べばOKです
  • CSVで保存したい場合は拡張子を「.csv」にします
  • 時間情報が必要な際はタイムスタンプをチェックします

 

テストしてデータの保存を確認

ログの「保存」押されたあとは自動的に保存されていきます。

センサー・スイッチなどを自由にテストして動かしてみます。

保存終了したい場合はTereTermを終了させればOKです。

 

指定したフォルダにファイルが作成されています。

中身を確認すると「タイムスタンプ」と「AD変換された電圧値」が保存されていました。

これでデータロガーとしてデータ保存することができました。

 

データロガーからエクセルでグラフ化する

最後に入手できたデータをエクセルで表・グラフ化してみます。

あくまで一例です。プログラム・マクロなどでデータ整理してもらっても構いません。

 

データの取り込みを行います

まずはEXCELを開き「データ」⇒「テキストファイル」の取り込みを行います。

 

筆者は「スペースによって…」の方でデータを区切ります。(お好みでOKです。)

「CH*」と「電圧」箇所を区切ることが出来れば、後ほど調整しやすいかと思います。

無事データが区切られた形でEXCELに貼り付けれました。

 

データの並び替えをします

「時間、CH、電圧」の列を分かるようにしておきます。

列を選択して「データ」タブの「フィルター」などでデータの並び替えをします。

各個人がグラフを表示しやすい並び替えをしてもらえれば何でも大丈夫です。

 

グラフ化して時系列のデータを確認する

「CH5」の列でフィルターをすればスイッチのデータが時系列順に並びます

あとは「時間」と「電圧」の箇所を選び、好きなグラフを挿入します。

無事スイッチの動作をデータロガーとして表・グラフ化できました。

 

「CH7」の列でフィルターして、温度センサーの方も確認します。

温度の換算式で計算後にグラフ化すると、温度情報を表・グラフ化できます。

温度センサーを手で触れて⇒離した後の結果がよく分かります。

 

まとめ

今回は自作したデータロガーの使い方に関して紹介させていただきました。

記事をまとめますと下記になります。

USB接続のAD変換ボードを使えば「安く」「簡単」なデータロガーを自作可能
タイムスタンプと一緒にデータをCSV保存が可能です
エクセルでデータを表・グラフ化まで実施できます

 

USB接続のAD変換ボードを使えば、「簡単」かつ「安く」データロガーを使えます。

「簡単にAD変換をしたい」「簡単にセンサーのデータを取得したい」方におすすめです。

是非皆さまもデータロガーを試してみて下さい。

コメント

  1. Kijitora より:

    amazonで「STM32 Uart 通信 ADC モジュール」を見かけて、簡単なデータロガーとして良さそうと思い購入したものの、使用方法についての情報が見つからず、かなりググって、こちらの記事にたどり着きました。とても助かりました。
    なお、2021/8/7時点でWindows10用のデバイスドライバーは自動では導入されませんでした。他の方の情報に基づきメーカーサイトからドライバーをダウンロード、インストールすることで使用できるようになりました。http://www.wch.cn/download/CH341SER_EXE.html 

  2. 太田 敦 より:

    TereTermじゃなくて、TeraTermですよね。。(汗)