2011年8月28日日曜日

Thermal Scout 到着


発注していたThermal Scoutが到着しました。8日で届いたので$3の送料としてはとても優秀。本体が$49.00にFilter Cableが$4.00です。以前のバージョンからファームウェアが更新され、出力側のサーボ端子にPMWで上昇率にあった電圧を出します。フィルターケーブルはCR回路のローパスフィルターが入っており、電圧に換えてくれます。
Thermal Scoutの赤いほうの入力サーボ信号のコネクタに何も接続されていないときにはこのデータ出力モードで動作するということです。とりあえずFrSky受信機のA2ポートに今までの50A電流センサーをの代わりにThermal Scoutのフィルターケーブルを接続、Thermal Scoutの動作をON/OFFする黒いコネクタのケーブルは5chに接続します。受信機を手に持って上下すると電圧が変わっているので確かに動いているようです。
夜も遅かったのでプログラムをA2ポートの電圧から計算して昇降率を表示するように変更、バリオ音もこちらの値を基にするようにしてテレメトリ表示ユニットのArduino Pro Miniに書き込み。なにやら値を表示して動いているようなので翌日飛行テストとしました。
今日の日曜日、Rapterに積んで飛ばしてみると問題なく動作しているようです。How Highの1秒に2回だけ送信されるデータとは異なり頻繁にデータが更新されます。最初は慣れないので高度データと見比べながらですがちゃんと動いているようです。Thermal Scout内で平均化処理をしているようで値は飛ぶことなくある程度滑らかに変更します。レスポンスもHow Highの高度データより速いようでバリオ音もスムーズに鳴ります。
今日は暑い日でしたが大気がそれなりに不安定なのかサーマルがあり、5回ほど飛ばして300m獲得を含めてどのフライトでも高度獲得ができました。

2011年8月20日土曜日

Thermal Scout

Winged Shadow SystemsのThermal Scoutに機能が追加されテレメトリ対応になりました。How High RT と同じく高度センサーがついたデバイスですが上昇するとラダーなど指定の舵を動かしてサーマルをパイロットに知らせる仕掛けになっていました。私も使っていましたが直線飛行させてサーマルを見つけるなど簡易用途には使い物になります。
新機能として昇降計のデータを電圧で出すことができるようになりました。1.6Vを境として上昇すると最大5m/sで3.0V、下降すると-5m/sで0.2Vと電圧の変化で上昇・下降を知らせます。またオーディオバリオとして直接音も出力できます。
FrSkyテレメトリで一番簡単に使うにはA1/A2の電圧ポートに接続するだけです。送信機モジュールの電圧監視トリガーを適切に設定しておけば上昇すればブザーが鳴るわけです。
FrSkyの送信機モジュールは監視電圧を2点設定できるので上昇の度合いにより音を変える、あるいは上昇、下降で音を変えるといったこともできるはずです。
Thermal Scoutはより頻繁にデータを送ってくるようなのでHow High RTの高度データとは別にテレメトリのバリオデータ源として使えます。高度から上昇下降を計算するより細かく昇降データが取れるはずです。取り急ぎ注文しました。
直接音を出す機能のほうは、ラジコンの機体から送信できるだけの出力のトランシーバは国内では自由には使えないので残念ながら役に立ちません。
この電圧での出力、送信機電圧が監視できる他のテレメトリシステムでもこれは使えるはずです。

FrSky純正のHub、高度センサーのほうは試した人の話を見てもデータが1m単位であったり使いづらいようです。センサーをつないだだけではだめなようですね。

2011年8月6日土曜日

BMP085センサーとフィルター

バリオのデータ元として使っているHow High RTは1秒に2回だけしかデータを送ってきません。そのせいもありバリオの音がスムーズではありません。Winged Shadowにもデータの送信頻度を高くできないか相談したのですがあまり可能性なさそうです。
そこで自前で高度センサーを用意しようかとI2Cで使えるBosch BMP085気圧センサーブレイクアウトボードを購入し、試し始めています。Arduino Pro miniにブレッドボードで配線してサンプルスケッチに手を入れるだけですぐに動き出すので苦労はありません。
使ってみてわかったのですが生のセンサーのデータはかなりノイズが載っているのですね。
elekidさんの発表されているコードに手を加えてProcessingで表示したらこんな感じ。(Processingをはじめて触りましたが環境をダウンロードしてから3時間でこれが動いちゃうのはたいしたもの。)Arduinoから送られた気圧データがかなりばらついているのがわかります。15データを平均化した緑の線でやっと何とかなるか。生データのままでは高度に変換すると1m以上暴れているのでそのままでは使えません。How High RTから送られてくるデータではこのようなことはありませんからフィルター済みなのですね。
BMP085センサーにはOversamplingを行ってデータの精度を高めるパラメータがあります。上のものはOSS=0ですが、最大の3にしてもまだ暴れている。
センサーのデータは生では使えないものなのですね。いろいろ調べていくとこのような簡単なlow pass filterからKalman filterなどまでいろいろな仕掛けが要りそうです。Hyperion EMeter II RDUの高度計データも結構暴れていますがあれは生のデータを送っているのですね。

気になるのがFrSkyの出してきた同じBMP085センサーとハブ。これだけあればバリオの機体側の仕掛けはできるはずなのですが、ハブがどのようにデータを読んで扱っているか気になります。生データを送ってきているだけでは、遅いシリアル経由ではあまりデータ更新もできず、レスポンスのよいバリオに使えるデータは取りにくいのではないかと考えています。誰かがより詳しく見るのを待ち中。