2011年9月15日木曜日

FLD-02


FrSkyからHubデータ表示に対応したLCDユニットFLD-02が発売されるようです。ケースを作るの時間がかかっていたとか。送信機モジュール込みDHT-Uと同様アラームの設定もこれからできるようです。
**追記**
このFLD-02は外装ケースが付いていますが、ハードウェアはFLD-01(LCD_FDD)と同じでソフトウェアが更新されただけですね。そのうちに更新されたファームウェアがリリースされるのではないかと思います。好き勝手にファームウェアプログラムができるいろいろなセンサーに対応できて面白いのですが。

センサーのほうでは6セルまでのリポの各セルの電圧を表示できるFLVS-01という物が用意されているようです。Hubに接続するのかなぁ?そうするとHubのプロトコルも拡張/変更されるのか?

2011年9月12日月曜日

FrSkyでの電圧測定

FrSkyの電圧測定ポートA1, A2は3.3Vまでを1バイトの分解能で読み取ります。より高い電圧を測定するために分圧回路(divider)というものを使います。比例して電圧を変換するわけです。分圧回路の説明はこちら
測定する電圧によりその比を変えたくなります。私はFlytronの物を使っていますがこれは11:1、つまり3.3x11で最大36.3Vまで256の解像度で測定できます。最大8セルまで測定できますが0.14V刻みしかありません。
この分圧比が異なると同じ電圧でも異なる値になるので送信機の警告ブザーのレベル設定の変更やテレメトリデータの表示器の設定を変更する必要があります。

工場出荷時6:1。 2:1、4:1、6:1用端子が出ているのではんだ付けで切り替え可能



11:1固定です。

受信機に直接させるようになっておりA1、A2にそれぞれ4:1、11:1が割り当てられています。

受信機のモデルによる違い
FrSky社のTwo way シリーズにもいくつかの受信機が用意されており、モデルによりこのADポートの扱いが異なります。ユーザーの意見を反映しようとしているはいいことですが、その結果仕様がよく変わり安定しません。
8ch
現行モデルです。素直にA1, A2ポートとシリアルポートがついています。8chに1-8chをCPPMとしてまとめて出力するD8RSPというファームウェアだけ違うモデルもあります。
テレメトリを使うならばこれが今のところ基本のモデルになります。受信機電圧を測定する場合は受信機ピンからYケーブルなどでプラスだけADポートにつなぎます。
国内で最初に認定されて際に販売されていたモデルです。A1ポートが内部的に4:1の分圧回路を通じて受信機電源につながっています。側面にはA2ポートとシリアルポートしか出ていません。
最初のを含めてD8Rのシリアルポートの真ん中のピンに5Vと記されていますがこれはミスプリ。送信したユーザデータの内容のシリアルデータが出力されいます。
最初に出てきた8ch受信機です。側面には素直にA1, A2ポート、シリアルポートが付いています。ファームウェアの書き換えは内部のピンから行っていました。ファームウェア書き換え用のアダプタも売られていますが、現在のD8R-IIでは不要です。

6ch
A1ポートは4:1の内部の分圧回路を通じて受信機電源に、A2ポートはサーボコネクタと並んで付いています。シリアルポートは付いていません。A1ポートは実際には6:1の分圧回路が載っていてソフトウェアで測定値を直しているという話もあります。(その場合分解能が落ちる。)

4ch
4ch受信機の形状をしていますが実際は1ch目に1-8chのCPPM信号を、2chピンにRSSI受信強度をPWMで出力するというFPVやマルチコプターで使う受信機となっています。Axポートがどうなっているのか、まだ出回っていないのでよくわかりません。^^;

電圧測定ポートの注意
グラウンドの扱い
動力用バッテリ、受信機電源などの電圧を測る場合グラウンドループを避けるためにマイナスは接続しないほうがよいです。プラス側だけ接続します。

オープンなとき
この点はまだ調査していないのですが、FrSkyのADポートは何も接続されていないときになにやら値を表示します。内部でプルアップ、プルダウンされていないからかもしれません。

2011年9月1日木曜日

Thermal Scout 接続

この週末に試した構成です。
D8R受信機のA1電圧ポートにはFlytronの1/11分圧器を通して8セルまでの電圧を測定できるようにしてあります。A2ポートにはThermal Scoutを接続。ユーザデータポートには以前からのHow High RTが接続されています。
Thermal Scoutの動作をON/OFFする黒いコネクタは5chに接続。電源もここから供給されます。Thermal Scoutは通常のモードでは赤いコネクタをラダーなどのチャンネルにつないでおくと出力側のコネクタにパススルーされます。サーマルがあったときにはそのチャンネルのサーボを勝手に動かして知らせる仕掛けになっています。
今回の新しいバージョンでは赤い入力コネクタをつながない場合データ出力モードとして動作し、出力側コネクタには測定した+- 5m/s強の上昇・下降率をPMWで1.6Vを中心に出す仕掛けになっています。FrSky受信機にはCRフィルターのついたケーブルで接続してアナログ電圧として測定できるようになっています。
1時間もかからず修正したプログラムなので画面の表示は適当です。しばらく飛ばしてデバッグ予定。

FrSky オーディオバリオ製作まとめ

ラジコン技術誌10月発売11月号にHow High RTのデータをArduino Pro Miniで表示するテレメトリユニットの製作記事を掲載予定です。(一ヶ月遅れました。^^;)ここにはその補足、実際のプログラムコードを掲載します。
なんと大人の事情で掲載なしになったので、後ほど編集しなおしてこちらに記事を掲載します。しばしお待ちを。

(2012/1/3追記)
HTMLに編集しなおす時間が取れないので、Google Documentで置いておきます。クリックしてご覧ください。

わかりにくいところはコメントください。

以下はまとめです。
Arduino Pro Miniのスケッチのダウンロード

 こちらのRCGroupsポストに添付してあるコードは電圧測定ポートA1にはFlytronの1/11分圧器で電池パック電圧の測定を、A2には同じくFlytronの50A電流センサーをつけてあります。A1、A2ポートに接続しているものにあわせて分圧率を変更して使用してください。




 Serial Display Terminal版はこちら。ポート番号を変えただけです。





FrSkyのテレメトリプロトコルの参考資料




 snoopy_schulz氏のまとめ FrSky_Protocol_v1.pdf









部品表はこちらになります。Arduino関係はSwitch Scienceで購入、それ以外は秋月電子などで購入できます。How High RTは送料込みで$43(今のレートだと3,400円以下。。)そのほかは6,000円以下でそろうと思います。










圧電スピーカ


10kオームくらいの半固定抵抗2個










片面ユニバーサル基板


サーボ延長ケーブル 2本ほどを加工します。


配線用のワイヤ





接続図 (こちらの図をお借りしています。Arduino周辺機器接続の参考になります。)


FrSky送信機へはピン0のUARTからレベルコンバータを通じて接続しています。この図には記入されていませんが5V電源の供給は同じくFrSky送信機からです。


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