« Windos 8 は、少しは売る気があるのかもしれない・・ | Main | 告知 »

November 17, 2012

超音波風向風速計

E2671Twitter で、飛行機(ウルトラライトプレーン)やロケット(ペットボトルロケット等)を飛ばす時、風向風速を自動で測れる装置があれば良いなって、話題が出た。
その時、「マイクだけで良いかも」と言う意見も出た。
確かに笛のような仕組みで風で音が鳴るようにしておけば、風速で音程とか音量が変わるようにしておけば、風向風速を測る事ができる。問題は、風の強さで音程とか音量が変わる「笛」を作る方だ。

と、他に良い方法が無いかと考えていたら、秋葉原の秋月電子で、300円で売っている超音波センサーを3セット使えば、風向風速を測るアイデアが思い付いた。
これは良いアイデアかと思ったが、他に同じような事を考えている人も居るかと思って、ネットで「超音波」「風向風速計」と言うキーワードで検索してみた。
すると出るわ出るわ、いっぱい出てきた。聞けば、超音波風向風速計は東京オリンピックの頃に実用化されたらしい。なんだ、50年近く出遅れたか・・・

とは言え、この辺の超音波風向風速計は買えば80万円くらいするらしい。
でも、今の技術なら、数千円くらいで自作できそうな気がする。

それが、イラストに描いたブロック図。普段、自作デジタルオーディオプレーヤーに使っているSTM32F4を使う。STM32F4の ADC は 3チャンネルで最速0.25μsでサンプリングできる。これに超音波センサー受信部からの信号を直接入れて、3つの入力波形の位相を比較する。
超音波送信部から出た音は、10〜30センチほど離れた場所に三角形状に置かれた受信部に届くが、この時、風下にある受信部に早く、風上にある受信部には遅く届く。この時間差を測定して風向風速を計算するのだ。
ちなみに、音速は340m/sなので、40kHzの波長は、8.5mm。送信部と受信部の距離を34センチとすると、風速1m/sの精度で風速を測るには、1mmの精度で測定する必要がある(送信部と受信部のなす角に依存する)が、STM32F4の高速ADCなら、受信波形の位相差を測定することで何とかなりそうだ。
後は、STM32F4で計算するだけ。三角関数でも何でも使えるからOKだ。
測定した風向風速は、SDカードに記録したり、Bluetoothや無線LANでスマホやパソコンにデータを送る事ができる。

E2672どうせ作るなら、格好良くしたい。考えたのが、2つ目のイラスト。でも、あんまり格好よくないな。
ネットで検索すると、これとかこれとか格好良いものがいっぱいある。
もっと格好良いデザインがあったら、教えて!
ちなみに、水平方向の風向風速なら、送信部1つに受信部3つで良いが、垂直方向まで測定するときは、送信部3つに受信部3つとなる。

と、ここまで細かく書いたのは、誰か作るの手伝ってくれないかなぁ・・ってこと。私も色々作っているので、時間もないし。

つまり、オープンハードで開発したいのだ。元々、アイデアは、東京オリンピックの頃から実用化されているくらいだから、特許等の問題もない。
格好良いデザインもだけど、ハードやソフトで手伝って、その上、オープンソース・オープンハードで公開することに協力してくれる人求む。

|

« Windos 8 は、少しは売る気があるのかもしれない・・ | Main | 告知 »

Comments

よく調べもせずになんですが、秋月の三百円は、指向性があるのではないのでしょうか?
(だから送信機と受信機ついなのでは)
もし、単一指向性ならば、3つには届かなかったりして?
ちがったらごめんなさい。
個人的には船赤外線LEDに低周波の変調かけてひからせて同じようなことをしたらどうかと考えてみたりしてますが

Posted by: 真空管おやじ | November 23, 2012 11:05 PM

送信部3つに受信部3つということは送信と受信がペアということかな?
それなら4ペアにして正六面体の8頂点に交互配置すれば奇麗じゃないかな?
冗長を増やして正十二面体や正二十面体とか。

Posted by: hirota | November 27, 2012 10:13 PM

真空管おやじさん、
確かに、指向性は実際に動作させて確認する必要がありますね。

hirotaさん、
どう言う組合せが最良か、悩んでいるところです。
一つの送信部から2つ以上の受信部で受けることは可能だと思っています。もちろん、指向性の問題がありますが・・
STM32F4のハード上の都合から、DACが2チャンネル、ADCが1チャンネルだと回路が簡単になります。もちろん、STM32F4の外部にDACやADCを増設することは可能ですが、途端に回路が複雑になるので、できれば避けたいです。
そこで、DACが2チャンネルなので送信部2つ以下、ADCが3チャンネルなので受信部3つ以下で考えてみます。
一番簡単なのが、私が図に示した正四面体の頂点の一つに送信部、残り3つに受信部を置くパターンです。送信部や受信部に遅延があっても、受信部3つの遅延の温度依存性が同一なら、受信時間の差分測定だけで、風向風速が測定できます。受信時間の差分なので、送信部の遅延は無視できます。
ところが、空気中の音速は、気温や気圧に依存性があります。電離層中の電波の遅延のように周波数依存性があるなら、GPSのように2周波同時に送ることで音速変動分を取り除く事ができますが、どうやら、音の場合、音速には周波数依存性は無いようなので、この手は使えません。この場合、別途気温センサーと気圧センサを付けて補正計算する必要が出てきます。
そこで、送信部を2つとし、受信部を3つとすれば、時間分割で送信することにすれば、受信部の差分が2×2=4つのパラメータを計測できます。
風向風速に水平方向だけでなく、垂直成分をいれても3成分、これと音速の合わせて4つの変数が計測パラメータの4つから計算できるはずです(気温・気圧のデータが無くても)
問題は、どのような2つの送信部と3つの受信部を配置すると、効率的に風向風速の測定できるか、まだ良く判らないことです。綺麗に対称的に配置することが必ずしも良いことか判りません。むしろ、非対称的・不均一に並べる方が最終的に連立方程式を解く時に有利になるかもしれません。
hirotaさん、良い配置が無いか、お知恵を貸して下さい。

Posted by: 野田篤司 | November 28, 2012 10:15 PM

配置パラメータ任意にした最小二乗法計算プログラム作って推定誤差のシミュレーションした方がいいんじゃない?

Posted by: hirota | November 29, 2012 11:41 PM

最小二乗法・・
その手がありましたか!

Posted by: 野田篤司 | November 30, 2012 07:16 PM

最小二乗法といえば僕の作ったHTML
「Bayesian 最小二乗法」(506K) は見たのかな?
同じ内容の技術資料QQX-01020(2M)では図が白黒になって見難いからカラーの図が見れるようにHTMLにしたんだよ。
技術資料pdfは紙をスキャナ取り込みしたからサイズが無駄にデカいって欠点もあるしね。

Posted by: hirota | December 01, 2012 01:29 PM

U島さんと探しましたが、見つかりませんでした・・・

Posted by: 野田篤司 | December 03, 2012 08:19 PM

気圧を倍にすると気体の弾性が倍になりますが、密度も倍になって、弾性波の伝播速度には影響がないのではないでしょうか?
湿度のほうが密度に利いてきますから、湿度を測ったほうがいいような・・・。 でも、温度から飽和蒸気圧を出して、湿度と合わせて、空気と水蒸気圧の比を出すとき、気圧を基準にするから、気圧も測っておかなくてはならないですね。

Posted by: 美村蔵親 | December 16, 2012 01:14 PM

はじめまして。楽しそうなプロジェクトですね。超音波で、風速と風向きが計測できるなんて。しかし、気圧とか湿度も影響受けるとなると大変ですよね。気圧が例えば海抜0メートルと、高度2000メートルくらいで、風速にどの程度影響を与えるものなんでしょう?

Posted by: faicha | January 25, 2013 09:34 PM

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference 超音波風向風速計:

« Windos 8 は、少しは売る気があるのかもしれない・・ | Main | 告知 »