Sudoは、Yildiz Rocketチームとして設計したモデル衛星システムのSTM32ベースのメインフライトコントロールコンピューターです。 Sudoosプロジェクトの対象となるトピックをいくつか紹介します。
STM32のCMSIS V2インターフェイスを使用したFreertosの使用
クリーンアーキテクチャのためのC構造体、列挙などの使用
私たちが準備したBNO055 IMUチューニングとデータリーディング(Poll Method)ライブラリが使用されています。このプロジェクトでは、ライブラリは軸の再マッピングやセンサーの目的のモードの設定などの操作に使用されます。 BNO055はスマートセンサーであり、このモードで最大4G加速度をサポートする融合モードを備えています。このモードを使用すると、健康なオイラー角度データはセンサーから内部的に受信できます。このプロジェクトでは、このモードが使用され、データをできるだけ速く取得するために、割り込み方法でデータが取得されました。これにより、データは1秒あたり数百回キャプチャされ、メインコードをブロックすることなくデータが受信されるとすぐに処理されます。
データリーディングは、割り込みモードを備えたBME280圧力センサーからも作成されました。圧力と温度のデータは、割り込み方法で毎秒数百回受信され、高度、動きの方向、最大高度、垂直速度計算などの操作がこの関数で毎回実行されます。
位置検出は、UARTを介して送信されたNMEA文をキャプチャし、SSCANF関数の助けを借りて解析することにより、割り込み方法を使用して、Quectel L86 GPSモジュールを使用して行われます。したがって、LAT、LONG、UTC_TIME、GPS速度、衛星の数などのデータは、非ブロッキング方法で読み取られます。
地上局との効率的な通信のために、データはCユニオンを使用してパッケージ化され、SPI RFM98W-433S2(LORA)モジュールとともに地上局に転送されます。同じモジュールから来るデータを聞くことでコマンドを受信します(双方向の使用)。
モデル衛星システムと、より高いサンプリングを備えたタイマーPWMを備えた制御された降下を提供するESC接続を備えたクアッドブラシレスモーターで分離を提供するサーボを制御します。 PWMを使用することに加えて、Motor ControlにはPID制御アルゴリズムアーキテクチャがあります。使用済みアルゴリズムは、角度データに従って衛星を安定させるために使用されます。 PIDアルゴリズムのゲイン値はリモートで変更できます。
STM32のSDカードを使用したデータロギング。ファイル転送などのSDカードのより詳細な使用法については、ファイル転送プロジェクトを参照できます。