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卡(例如文件传输)的更详细使用,您可以参考我们的文件传输项目。