本文へ移動します

クラウドエンジニアブログ

風速計の IoT Edge デバイス化 ①

human01

今泉 正

Windows 10 IoT Core と Raspberry Pi 3 で Azure に接続できる風速計を IoT Edge デバイス化してみよう!

軽く自己紹介

これまで、仕事で FA 機器、医療機器、研究機器のハードウェア開発とソフト (ファーム、アプリ) 開発、趣味で真空管を使った電子楽器製作などを行ってきました。以後、よろしくお願い致します。

Azure に接続できる風速計を作ってみよう!

「Azure に接続できる風速計を作って下さい。」という要望をいただき製作しました。 GUI などの HMI や外部インターフェイス接続を Windows や Linux 上で、制御系を T-Kernel などの RTOS (リアルタイム OS) などで役割分担して作るのが定石ですが、できるだけ簡単に Windows 10 IoT Core と Raspberry Pi 3 だけで作ることにしました。

使用したもの

  • 風速計:市販の物
  • SBC:Raspberry Pi 3
  • モニタ:Raspberry Pi 用モニタ
  • microSD カード:Toshiba EXCERIA 16GB
  • 開発環境:Visual Studio 2017
  • 開発言語:C#
  • 開発用 PC:Windows 10 PC インストール済み

簡単な原理説明

一般的に、風車の回転数は羽の枚数による磁界の変化回数や風車の同一回転軸に付けられたスリットの通過数をカウントして、風速を算出しています。スリット方式では通過型フォトインタラプタなどの素子で電気信号としてパルスへ変換出力します。これをマイコンの GPIO でカウントして時間当たりの回転数から風速を算出します。

電子回路の解析

市販の風速計を改造して作ることにしましたので、風速計を分解しパルスを出力している個所を特定します。

よくある例として、正弦波からパルスに変換するために半波整流と増幅をして、パルス (方形波) に加工していると思うので、それらしき部品とその出力を見ます。この製品ではオペアンプ (IC) の出力からパルスが出ていることがオシロスコープで測定してわかりました。

以下、電圧パルスの変換イメージ図です。変換イメージ

以下、接続イメージ。

接続イメージ

Raspberry Pi 3 へのパルスの取り込み

風速計のパルス電圧が Raspberry Pi 3 の GPIO 入力で受けられる電圧範囲でしたので、そのままできるように風速計を改造します。GPIO を使用してパルスの High の回数をカウントします。

これからの記載内容

  • ソースコード書いてみよう     VsiualStudio の設定、NuGet 関連の設定、ソースコード
  • Azure IoT Hub で受信してみよう  IoT Hub のメトリックで確認する

では、乞うご期待。



次回予告
  • 風速計の IoT Edge デバイス化2



お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください。

ピックアップ

セミナー情報
クラウドエンジニアブログ
NOZ
メールマガジン登録