Windows 10 IoT Core と Raspberry Pi 3 で Azure に接続できる風速計を IoT Edge デバイス化してみよう!
これまで、仕事で FA 機器、医療機器、研究機器のハードウェア開発とソフト (ファーム、アプリ) 開発、趣味で真空管を使った電子楽器製作などを行ってきました。以後、よろしくお願い致します。
「Azure に接続できる風速計を作って下さい。」という要望をいただき製作しました。 GUI などの HMI や外部インターフェイス接続を Windows や Linux 上で、制御系を T-Kernel などの RTOS (リアルタイム OS) などで役割分担して作るのが定石ですが、できるだけ簡単に Windows 10 IoT Core と Raspberry Pi 3 だけで作ることにしました。
一般的に、風車の回転数は羽の枚数による磁界の変化回数や風車の同一回転軸に付けられたスリットの通過数をカウントして、風速を算出しています。スリット方式では通過型フォトインタラプタなどの素子で電気信号としてパルスへ変換出力します。これをマイコンの GPIO でカウントして時間当たりの回転数から風速を算出します。
市販の風速計を改造して作ることにしましたので、風速計を分解しパルスを出力している個所を特定します。
よくある例として、正弦波からパルスに変換するために半波整流と増幅をして、パルス (方形波) に加工していると思うので、それらしき部品とその出力を見ます。この製品ではオペアンプ (IC) の出力からパルスが出ていることがオシロスコープで測定してわかりました。
風速計のパルス電圧が Raspberry Pi 3 の GPIO 入力で受けられる電圧範囲でしたので、そのままできるように風速計を改造します。GPIO を使用してパルスの High の回数をカウントします。