超音波・風向風速計を作ろう



Setup
風向風速計といえば、よく思い浮かべるのが風見鶏。


よく見かけるこんなやつですね


参考:国立新美術館近くの風見鶏
国立新美術館近くの風見鶏



さて、こういう風見鶏も楽しいのですが、
今回は超音波で測定する風向風速計を作っちゃいましょう!


使用するのはこれ。
LPCマイコン LPC1114FN28
高性能ワンチップマイコンLPC1114FN28です。
1個140円で、何でも出来るすごいやつ!


用意する物:


CPU:LPC1114FN28
電源:TA40833S
超音波センサ(送受信セット)[UR1612MPR/UT1612MPR]
MIC受信:4580DD
MIC受信:LM339N
SP送信:74HC14AP
SP送信:2SC1815
温度センサ
HDC1000使用 温湿度センサーモジュール(秋月)
LCD:ACM1602NI-FLW-FBW-M01
べニア板(\10)
電解コンデンサ 100uF 16V x 3
同軸ケーブル
コネクタ、ピンヘッダ、ユニバーサル基板
コンデンサ、抵抗など



部品や基板などほぼ秋月でそろいました。


どれも、一般的なパーツです。

Step 1
外観および機能です
正面から風向風速表示
超音波センサー(送受)3組と、風向風速を表示する液晶です
液晶の下段に、風速[m/s]と風向[°]が表示されています

上段はデバッグ用の表示で、
送受3組それぞれの超音波到達時間の差[tick]です


UARTで読んだ風速1
UARTで風向風速を送信する仕様で、
パソコン等でログをとることができます
平均をとっておらず、常に瞬時値をとるので、若干ばらつきます。

だいたい、風速4[m]ぐらい?

UARTで読んだ風速2

風速が上がって風速5[m]ぐらい?


UARTで読んだ風速3

風速6.5[m/s],風向10[°]ぐらいでしょうか


Step 2
動作原理です


原理
超音波の到達時間は無風では音速のみに依存しますが、
風が吹いていると、その分到達時間が変わります。

例えば追い風なら早く超音波が到達するわけです。

上から見た超音波配置
写真の通り、到達時間測定用に超音波センサー正三角形に配置されており
3組の到達時間が測定できるようになっています

実際の測定では赤、青方向の双方向測定しているので
音速も同時に測定できますから、温度補正を不要にすることができます

波形1
赤:スピーカ駆動(送信)
黄色:超音波レベル(受信)

スピーカ側(赤)の「L->H->L」超音波を発信し、
超音波のレベル(黄)が一定に達したら、スピーカを「H」に戻しています

波形2

超音波の受信レベルはコンパレータLM339Nで判定します。
赤:コンパレータ閾値
黄色:超音波レベル


波形3

超音波センサーのばらつきや配置によって受信レベルが異なるため、
閾値やアンプゲインの調整が結構シビアでした。

この絵では、狙いより前の段の時間を検出しています

このあたりを正確に検出するために、
各社いろいろな特許を出しているみたいですね



Step 3
その他、構成などです

裏から
裏から見たところです

実験品とはいえ、もうちょっと整理したかったな
べニアとか10円の「はざい」だし。


基板1
配線を外したところ。

手前に見えるのが超音波センサー用のアンプで
奥に見えるのが、超音波スピーカ駆動用の74HC14です

別に、電流アンプなので、74HC14でなくてもいいのですが、
たくさん持っていたので、これにしました

中央付近にあるのがCPU:LPC1114で、クロックは内臓48MHz駆動です

CPUのちょっと手前に温湿度センサーがありますが、
湿度値は使っていません。

今考えると、超音波到達時間は双方向測定なのですから、
足し算すれば音速が計算できるので、
温度補正不要、つまり温湿度センサーいらなかったという…。

基板2
裏から見たところ

…。

Step あとがき
ARMマイコン入門にと思って作り始めたこの工作、
トランジスタ技術2012年10月号を参考にCMSISからはじめ、
LPCOpenに至るまでずいぶん寄り道しながら作りました。

あげく、時代はmbedだという。。。

まあ、LPCOpenとはいえ、
I/O,PWM,I2C,UART,タイマーその他など
そこそこLPC1114を使えるようになったからよかったかな

ではまた、次の配信で。



[ TOP ]
inserted by FC2 system