HOME

FMS用アダプタ(PCMモード版)

2008/11/11


PCM信号をデコードすることができたので、FMS用のアダプタを作ってみました。
FMSをインストールすると、Docディレクトリが生成され、その中の ”readme_en.htm”というファイルにFMSのプロトコルについての 記載があります。

19200 baud
8bit data
1 stop bit
no parity

各パケットの先頭データは0xFF。
チャンネルバイトは 0x00 から 0xFEの値。
pulse length converted to
760us 0x00
1528us 0x80
2284us 0xFE








PCM信号をデコードして得た各チャンネルのデータを、このフォーマットに 合わせてシリアルで送り出してあげればよいはずです。

ソースコードとHEXファイルです。 ソースコードはfreeで使えるCC5Xでコンパイル可能です。
pcmdecode.c pcmdecode.hex

回路図はトレーナー信号測定と同じものです。 実験レベルなので、+5V電源は実験用電源から供給しています。 実用的にするには、シリアルの信号線から+5Vを作るようにすると 良いでしょう。PICも12F675のような8pinタイプにすると小さくできます。

circuit.gif



PMCのデコードを試していたときは 16F88をEXT16MHzで動かして いましたが、simで時間を測定しているとどうやらINT8MHzでも 大丈夫そうでしたので、今回は少しでも部品を減らすために INT8MHzにしてあります。
トレーナー信号の測定 で使ったAcknowrich.exeで、シリアルデータを受けたところです。
pcm-fmc-ack.gif

最初のデータであるFFに続いて、4Byteのデータが並んでいます。 一つ目から順に、THRO、AILE、RUDD、ELEVのデータとなっています。 データを受けたときに送信機の左側のスティックを動かしていたので RUDDとELEVのデータが変化しています。


実験の写真もFMSの画面もありませんが、うまく動作しました。 FMS2.0 Alpha8.5で試しています。もちろん送信機(JR-PCM9X)は PCMモードです。
ノーマルだと敏感すぎて操縦しにくいので、FMSの設定でEXPに チェックを入れておくとちょうど良い具合です。
機体によっては、"I"キーでスタートしたときに少しだけ スロットルを開けておかないと、動き出さないものがあるようです... どうしてかは調べていません。




HOME