Setup |
風向風速計といえば、よく思い浮かべるのが風見鶏。 よく見かけるこんなやつですね 参考:国立新美術館近くの風見鶏 さて、こういう風見鶏も楽しいのですが、 今回は超音波で測定する風向風速計を作っちゃいましょう! 使用するのはこれ。 高性能ワンチップマイコン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で風向風速を送信する仕様で、 パソコン等でログをとることができます 平均をとっておらず、常に瞬時値をとるので、若干ばらつきます。 だいたい、風速4[m]ぐらい? 風速が上がって風速5[m]ぐらい? 風速6.5[m/s],風向10[°]ぐらいでしょうか |
Step 2 |
動作原理です 超音波の到達時間は無風では音速のみに依存しますが、 風が吹いていると、その分到達時間が変わります。 例えば追い風なら早く超音波が到達するわけです。 写真の通り、到達時間測定用に超音波センサー正三角形に配置されており 3組の到達時間が測定できるようになっています 実際の測定では赤、青方向の双方向測定しているので 音速も同時に測定できますから、温度補正を不要にすることができます 赤:スピーカ駆動(送信) 黄色:超音波レベル(受信) スピーカ側(赤)の「L->H->L」超音波を発信し、 超音波のレベル(黄)が一定に達したら、スピーカを「H」に戻しています 超音波の受信レベルはコンパレータLM339Nで判定します。 赤:コンパレータ閾値 黄色:超音波レベル 超音波センサーのばらつきや配置によって受信レベルが異なるため、 閾値やアンプゲインの調整が結構シビアでした。 この絵では、狙いより前の段の時間を検出しています このあたりを正確に検出するために、 各社いろいろな特許を出しているみたいですね |
Step 3 |
その他、構成などです 裏から見たところです 実験品とはいえ、もうちょっと整理したかったな べニアとか10円の「はざい」だし。 配線を外したところ。 手前に見えるのが超音波センサー用のアンプで 奥に見えるのが、超音波スピーカ駆動用の74HC14です 別に、電流アンプなので、74HC14でなくてもいいのですが、 たくさん持っていたので、これにしました 中央付近にあるのがCPU:LPC1114で、クロックは内臓48MHz駆動です CPUのちょっと手前に温湿度センサーがありますが、 湿度値は使っていません。 今考えると、超音波到達時間は双方向測定なのですから、 足し算すれば音速が計算できるので、 温度補正不要、つまり温湿度センサーいらなかったという…。 裏から見たところ …。 |
Step あとがき |
ARMマイコン入門にと思って作り始めたこの工作、 トランジスタ技術2012年10月号を参考にCMSISからはじめ、 LPCOpenに至るまでずいぶん寄り道しながら作りました。 あげく、時代はmbedだという。。。 まあ、LPCOpenとはいえ、 I/O,PWM,I2C,UART,タイマーその他など そこそこLPC1114を使えるようになったからよかったかな ではまた、次の配信で。 |