Sudo是我們在模型衛星系統中基於STM32的主飛行控制計算機,我們設計為Yildiz Rocket團隊。這是Sudoos項目涵蓋的一些主題。
使用CMSIS V2接口的頻率使用STM32
使用C結構,枚舉等用於乾淨的體系結構
使用了我們準備的BNO055 IMU調整和數據閱讀(民意調查方法)庫。在此項目中,該庫用於操作,例如重新映射軸並設置傳感器所需的模式。 BNO055是一個智能傳感器,具有融合模式,在此模式下支持最大4G加速度。通過這種模式,可以從傳感器內部收到健康的歐拉角數據。在此項目中,使用了此模式並使用中斷方法獲取數據,以便盡可能快地獲取數據。這樣,數據將每秒捕獲數百次,並在收到數據後立即處理,而不會阻止主代碼。
數據讀數還通過中斷模式的BME280壓力傳感器進行。使用中斷方法收到每秒數百次的壓力和溫度數據,並且在此功能中每次進行諸如高度,運動方向,最大高度和垂直速度計算之類的操作。
位置檢測是通過使用Quectel L86 GPS模塊和中斷方法來完成位置檢測,通過捕獲通過SSCANF函數捕獲UART發送的NMEA句子並解析。因此,諸如LAT,LONG,UTC_TIME,GPS速度和衛星數量之類的數據以非阻滯方式讀取。
為了有效地與地面站進行通信,使用C聯合包裝數據,並使用SPI RFM98W-433S2(LORA)模塊轉移到地面站。通過聆聽來自同一模塊(雙向用法)的數據來接收命令。
控制在模型衛星系統中提供分離的伺服器和具有ESC連接的四輪無刷電動機,該電動機提供了受控下降,並具有高采樣的計時器PWM。除了使用PWM,電機控制還具有PID控制算法架構。使用的算法用於根據角度數據穩定衛星。 PID算法的增益值可以遠程更改。
使用STM32中的SD卡數據記錄。有關SD卡(例如文件傳輸)的更詳細使用,您可以參考我們的文件傳輸項目。