超音波風速計の製作 - 気温・湿度に依存しない測定方法
「風速計・風向計を作る - 1」 を書いてから1年半経ちました。そろそろ実際に作ってみようと思います。どれを作るか悩むのですが、理屈の上では風速自体の校正が必要ない超音波風速計にしようと思います。私は風速を測る手段を他にもっていないからです。
------
次のように超音波送受信ユニットを対向しておいた場合を考えます。
送信ユニットから出た音が受信ユニットに到達するのに要する時間は
t0 = L / vs
となります。ここで送信ユニットから受信ユニットの方向に風速 v の風が吹いているとします。媒質が動いているわけですから実質的な音速は v + vs となります。到達時間は
t1 = L / ( vs + v )
ということになります。したがって超音波の到達時間を調べれば
vs = L / t0
vs + v = L / t1
v = L / t1 - L / t0 = L * ( 1 / t1 - 1 / t0 )
で送信ユニットから受信ユニット方向に吹く(あるいは受信ユニットから送信ユニット方向に吹く)風の風速を求めることができるはずです。
ただこの方法には大きな問題が三つあります。
具体的な数値を代入して計算してみます。
送受信ユニット間の距離を0.3m、気温 20℃、相対湿度 0%、風速1m/sとします。
t0 = 873.7μs
t1 = 871.2μs
となります。t0とt1の差が2.5μsしかありません。周波数40kHz、周期25μsの超音波を使って到達時間を測ったとき必要な時間分解能が出せるのかちょっと疑問です。これが一つ目の問題です。
二つ目の問題は温度(と湿度)の影響です。上の例で気温が21℃になったとします。
t0 = 872.2μs
t1 = 869.7μs
もちろんこれからも風速は1.0m/sが得られるのですが、もし20℃のときのt0を使って風速を求めてしまうと風速は1.6m/sとなってしまいます。これは気温が20℃から21度に変化すると音速が0.6m/s大きくなることが原因です。
つまりこの方法で風速を求めるためには無風のときの到達時間を調べておくか適切な方法で測定時点の音速を知ることが必要です。
そして三つ目の問題は横風の影響を強く受けることです。これについては省略しますが、解決案に詳細を示してあります。
---------
なお気温T℃、相対湿度0%のときの音速は「国立天文台編 理科年表 丸善出版2013年」 による
vs = 331.45 * sqrt( T / 273.25 + 1 )
で求めていますが
vs = 331.5 + T * 0.6
でも気温の範囲であれば問題ありません。この式に出てくる 0.6 というのは上の式の一次の微係数 331.45 / 2 / 273.25 のことです。
====================
まず到達時間の時間分解能の不足は「分解能0.1mmの超音波距離計(ノギス)の製作 - 原理とその検証」に書いた位相差を測る方法で解決することができます。この方法であれば40kHzの超音波を使用した場合0.1μsの時間分解能の実現もさほど難しくありません。かわりに風速の大きさに連れて位相が周期的に変化するという問題が発生しますがこれは送受信ユニットの間の距離を小さくする(ただしこれは風速測定の分解能が落ちる)か(だいたいの)到達時間の測定も行う方法で解決することができます。
次に気温(や湿度)の影響の問題ですが、これは下図のように送受信ユニットを二組使うことによって解決することができます。
上側の測定では到達時間は
t1 = L / ( vs + v )
となるわけですが、下側の測定では
t2 = L / ( vs - v )
となります。この二つの式から音速vsを消去します。
vs = L / t1 - v
vs = L / t2 + v
から
L / t1 - v - ( L / t2 + v ) = 0
2 * v = L / t1 - L / t2
v = L * ( 1/t1 - 1/t2 ) / 2
が得られます。この式にさきほどと同じ実際の数値を当てはめてみます。
気温20℃のとき
v = 0.3 * ( 1 / 0.0008712 - 1 / 0.0008763 ) / 2 = 1.0 m/s
気温21℃のとき
v = 0.3 * ( 1 / 0.0008697 - 1 / 0.0008748 ) / 2 = 1.0 m/s
と気温に依存しない(=音速vsや無風のときの到達時間 t0が計算に必要でない)結果が得られます。いうまでもなく 1/t1 - 1/t2 のところで音速の影響がキャンセルされていることが理由です。
-------
上の説明は風が風速計のおかれた向きと平行に吹いているときで考えていました。あるいは風の風速計との平行な成分の風速を測っていると言ってもいいと思います。
実際に風速を測るときはこの風速計を直交するように二組配置しそれぞれの示す風速Vx、Vyから
v = sqrt( Vx^2,Vy^2)
で風速 v を求めます。
これは風が風速計と直交する方向に吹いていれば風速計の指示はゼロになると仮定しているわけですが実際はそうならないような気がします。
風が上から下へ風速計のおかれた向きと直交するように吹いているとき、送信ユニットから超音波が受信ユニットの向きに出ると風で流されてしまいます。ということは超音波はAに示したように伝わっていくはずです。超音波が送信ユニットから出たときの媒質(空気)を基準に考えれば超音波はBのような経路で空気の中を進んでいくはずです。
x方向について考えてみます。 t1 = ( L + Vy * t1 ) / ( vs + Vx )
t2 = ( L + Vy * t2 ) / ( vs - Vx )
t1 = sqrt( L^2 + (Vy * t1)^2 ) / ( vs + Vx )
t2 = sqrt( L^2 + (Vy * t2)^2 ) / ( vs - Vx )
この式を見るとt1、t2には横風の影響が強く出ることがわかります。この意味でもt1のみから風速を求めることに問題があることがわかります。以下続けます。 t1 * ( vs + Vx ) = L + Vy * t1
t2 * ( vs - Vx ) = L + Vy * t2
vs = L/t1 + Vy - Vx
vs = L/t2 + Vy + Vx
( L/t1 + Vy -Vx ) - ( L/t2 * Vy +Vx ) = 0
Vx = L * ( 1/t1 - 1/t2 ) /2
となります。つまり直交する方向から吹いてくる風はt1、t2に影響を与えるがt1とt2から求まる風速 v には影響を与えないということになります。これは直交する風の影響がt1にもt2にも同じように作用するからです。
t1 * ( vs + Vx ) = sqrt( L^2 + (Vy * t1)^2 )
t2 * ( vs - Vx ) = sqrt( L^2 + (Vy * t2)^2 )
vs = sqrt( L^2 + (Vy * t1)^2 ) / t1 + Vx
vs = sqrt( L^2 + (Vy * t1)^2 ) / t1 - Vx
sqrt( L^2 + (Vy * t1)^2 ) / t1 - Vx - ( sqrt( L^2 + (Vy * t1)^2 ) / t1 + Vx = 0
Vx = (sqrt( L^2 + (Vy * t1)^2 ) / t1 - ( sqrt( L^2 + (Vy * t1)^2 ) / t1) /2
風に送受信ユニットと直交する成分がある場合は直交して配置した送受信ユニットで同様に測定し、連立方程式を解いてVx、Vyを求めて、はじめて風速を決定できることになります。
この問題に関しては温度に依存しない式を作ることにこだわらない方が好ましい結果が得られるのかもしれません。
以上をもとに実際に風速計を作ってみたいと思います。
---------------------------
関連
「風速計・風向計を作る - 1」
「分解能0.1mmの超音波距離計(ノギス)の製作 - 原理とその検証」
「測定対象別記事一覧(測定、電子工作、天文計算)」
温度、湿度、気圧をはじめいろんな物理量の測定方法について
「過去記事の一覧(測定、電子工作、天文計算)」
« PIC18F26K22のカウンター(タイマー)の測定できる周波数の上限を調べてみた | トップページ | 超音波風速風向計の製作 - 回路構成 »
「趣味の気象観測」カテゴリの記事
- 地震計を作る - 超音波距離計の応用 - プロトタイプ(2016.02.03)
- 超音波風速風向計の製作 - 回路構成(2016.02.02)
- 超音波風速計の製作 - 気温・湿度に依存しない測定方法(2016.02.02)
- I2C温湿度センサーAM2321の湿度を通風(熱電対)乾湿球湿度計とくらべてみた(2015.06.04)
- 通風乾湿球湿度計を熱電対とありあわせの材料で作ってみた(2015.06.04)
この記事へのコメントは終了しました。
« PIC18F26K22のカウンター(タイマー)の測定できる周波数の上限を調べてみた | トップページ | 超音波風速風向計の製作 - 回路構成 »
コメント