- Group電装班
- Date2025.12.24
S-310 あかつき 電装班 設計・活動報告
今年度の機体は、駆動方式をワイヤーリンゲージ方式に変更したため、操舵制御は操舵班が担当する形となりました。この変更により、電装班は計測システムの性能と情報伝達の信頼性向上にリソースを集中して取り組みました。具体的には、センサリング技術の全体的な見直し、計器のワイヤレス化、アプリ表示システム及びクラウド機能の大幅な改善を達成しました。
設計思想
【操舵系統の再設計とワイヤレス化】
S-310あかつきでは、操舵方式をワイヤーリンケージ方式に変更し、サーボモータによる操舵制御を廃止しました。これにより、従来機で規則上必須とされていたTB(テールビーム)配線が不要となり、機体から配線を完全排除する代わりに、BLE(Bluetooth Low Energy)通信を採用しました。
このワイヤレス化の最大の理由は、昨年度機体での経験に基づく課題解決です。昨年度の発進試験において、TB配線が試験中に断線する問題が発生し、その原因究明と対応に貴重な時間を費やしました。この反省を踏まえ、配線に起因するトラブルリスクそのものを根絶する方針で設計を行いました。
通信プロトコルには、Bluetooth ClassicではなくBLEを採用することで省電力化を実現しました。また、コネクション方式を採用し、通信断絶時の自動再接続など安全機構も導入しています。
【アプリUIの視覚的改善】
従来、数値と地図のみだった表示を大幅に改善しました(図1)。高度/姿勢角表示に値に応じて変化するバーグラフ/ミニモデルを追加しました。この変更により、パイロットが機体状態を瞬時に把握できるようになり、試験時の判断速度と安全性が向上しました。


【アプリアーキテクチャの刷新】
アプリアーキテクチャをMVVM(Model-View-ViewModel) + Jetpack
Composeに変更しました。従来のXML方式では今年度の複雑なUI配置の実現が困難であり、またクラウド機能の実装においてコード量が増加したためです。この変更によりコードの保守性と拡張性が向上しました。
【クラウド機能のリアルタイム化】
従来のアプリはGoogleスプレッドシートを使用しており、リアルタイムでの他アプリヘのデータ共有が困難でした。そこで、Firebase Realtime Databaseを採用し、複数デバイス間でのデータ同期をミリ秒単位で実現しました。これにより、全部員が同一の最新データを即座に参照できる環境を構築しました。
計測機器
S-310あかつきには、高度計、機速計、舵角計、姿勢角計の4種の計器を搭載し、コックピット内のメイン基板とER(エレベーター・ラダー)付近のTB基板で分担して測定しました(図2)。計器の選定にあたっては、基本的にI2C通信対応のものを選定し、測定範囲と測定精度を重視して決定しました。
高度計にはMB1242-000を採用し、超音波の地面反射を利用して測定範囲20-765cmで高度を測定しました。最小測定範囲が20cmであるため、機体静止時に高度0cmとなるよう補正を実装しました。 機速計には、ピトー管とSDP810-500Paを採用しました。昨年度使用したFS3000-1015は表面風速を測定するセンサーであり機体の対気速度測定には適していませんでした。そのため、ピトー管と差圧センサーを使用し、ベルヌーイの定理から算出する方式に変更し、理論的に正確な対気速度測定を実現しました。
姿勢角計には、BN0085を採用しました。9軸(加速度・角速度・地磁気)統合センサーであり、ピッチ、ロール、ヨーのすべてを測定可能です。初期状態では時間経過とともに測定誤差が蓄積する問題が確認されたため、ドリフト補正式を追加して使用しました。
舵角計には、CJMCU-103を採用しました。軸角度を電圧変換して出力する可変抵抗方式のセンサーで、ER動作部に設置することで、昇降舵および方向舵の実際の舵角をリアルタイムで測定しました。
データフロー
ファームウェアのデータフローとしては、ER付近に設置した機速計、舵角計、姿勢角計の情報をTB基板で取得しBLEでメイン基板へ送信します。メイン基板は高度情報を取得後、舵角·姿勢角データを LCD1602にパイロット確認用として有線出力するとともに、全データをまとめてBluetooth Classicで Androidアプリに送信する構成としました。Androidアプリとの通信でBluetooth Classicを採用した理由は、BLEに比べて実装情報が豊富であり、開発リソースを他の重要機能に集中させるためです。
Androidアプリは、前部パイロット用と後部パイロット用の2種を用意しました。別アプリとして用意した理由は、TF(テストフライト)時に複雑な操作なしでそれぞれに必要な画面を即座に開くためです。前部パイロット用アプリは、ESP32との通信とクラウドヘのデータ保存を担当しています。まず、ESP32からセンサー情報を取得し、通信効率化のため統合送信されたデータを分解します。アプリUI上にデータを描画後、タイムスタンプと位置情報を付加し、Firebase Realtime Databaseの一時保存用ディレクトリ(/sensorData)に保存します。Firebaseのブラウザ表示上限を回避するため、このディレクトリ内のデータは常に20個以下となるよう自動削除機構を実装しています。次に、フラグ保存用ディレクトリ(/Flag)と試験名・フライト数保存用ディレクトリ(/Flight)を監視します。後部パイロット用アプリの操作により/Flagに1が保存されると、最終保存用ディレクトリとGoogleスプレッドシートにすべてのデータを一括保存します。最終保存用ディレクトリには、/Flight内の試験名とフライト数を使用して「/試験名/フライト数」内にデータを保存します(例:/1stTF/1本目/配下に各データが格納)。Googleスプレッドシートへも並行保存している理由は、試験直後に全データを容易に参照・共有できる環境を整えるためです。
後部パイロット用アプリは、フラグと試験名・フライト数の保存を担当しています。初期状態で試験名(1stTF、2ndTFなど)の選択が必須となっており、この情報とフライト数データをまとめて/Flightに保存します。また、常に再生/停止ボタンの状態を監視しており、再生状態ならば1を、停止状態なら0を/Flagに保存します。/Flag及び/Flight内のデータは常に最新1つのみ保持する設計としています。安全機構として後部パイロット用アプリが停止した場合でも、前部パイロット用アプリが/Flagディレクトリを監視し、3秒以上更新がない場合は0を書き込むため、保存処理が自動停止します。後部パイロット用アプリの表示に関しては、/sensorDataから最新データを取得して描画します。
総括
S-310電装班は配線トラブル根絶とシステム利便性向上を目標に活動しました。配線問題は解決できましたが無線/クラウド機能に伴う新たな課題も発生しました。特に引継ぎ漏れによる通信断絶問題が2ndTF-3rdTF間の活動を圧迫したため引継ぎ資料作成を徹底します。システム面はMVVM導入により役割ごとのクラス分割が実現しコード保守性が向上しました。UI面は視覚的改善が好評で、後部パイロットのみのスマホ表示器を前部パイロットにも設置する設計変更に繋がりました。今年度は配線レス化とリアルタイムデータ共有という技術転換を実現し、電装の信頼性と利便性を向上させました。新技術導入に伴う課題も明確になりましたが、これらの知見を次年度へ継承することで、さらなるシステムの進化が期待できます。
より詳細な情報はhttps://github.com/tbt-densou/s310-app-openをご参照ください。