2017年2月14日火曜日

超音波風速計 つずき

 

 等価時間サンプリングっぽい方法で約9Mspsでサンプリングした波形。波形の立ち上がりは綺麗な繰り返し信号じゃないので等価時間サンプリングが成立しない。0.125ミリ秒くらい経過するとある程度安定するが、それでものいじー。今回は16x 562.5kspsで9MHzにしたが、14x 642.85714...kspsで9MHzのほうが良かったかも。
 図中のaとbは無風状態で、ほぼ位相ずれが無い。cとdはそれぞれ逆から息を吹いてる。息だと再現性がないのであんまりよろしくない。とはいえ乱れの少ない流れを作るのも結構大変。
 閾値での立ち上がり・立ち下がりを分けて計測すれば最大180度までの位相ずれを計測できる。超音波風速計の動作レンジ内ならここまで位相がズレることは無いっぽいので、それ以上は考える必用はなさそう。

 超音波風速計の場合、位相ずれは風速に影響を受ける。他に、位相が動く速度は風速の変化に関係がある。例えば超音波の連続波を常に送信して、位相のズレを16波毎に計測し続けると、0.4ミリ秒毎の風速の変化量がわかる。1.25マイクロ秒の精度で位相を検出できれば、空気の0.5mmの移動を検出できる。と電卓は言ってるが、計算が正しいかは不明。でも空気の移動速度・加速度をミリメートル単位で把握できたら何かに使えるかも。

 超音波風速計は波で測る手段だから、レーダー技術と結構近い気がする。符号拡散超音波風速計とかどうだろうか。複数チャンネルを完全に同時に計測できるから高レート(2kHz前後?)で風速ベクトルと気温を計測可能、とか。そんなもん何に使えるんだか。


 RAM20kにRTOS乗っけてさらにアナログデータ大量計測はちょっと厳しい感じ。もう1本タイマを使えればPWM発振から一定期間待たせてADCを開始とかできるんだが。
 どうせSTBee Miniなら風速計以外に機能載せられないだろうし、使えるタイマは全部風速計に使ってしまう、というのも有りかもしれない。人間を相手にする程度の、せいぜい数十ミリ秒くらいの精度ならRTOSで作れるし。
 あるいはRAMにもペリフェラルにも余裕のあるSTM32F103VETを使うか。メモリが3.2倍あるからかなり余裕。でもちょっと大げさな気がする。
 そもそもとっととSTM32F4に移行しろよ、という気もするんだが。まぁSTBee Miniでもなんとかなりそうな気がするし、しばらくはこっちで頑張ってみる。

0 件のコメント:

コメントを投稿