O sudo é o nosso principal computador de controle de vôo baseado em STM32 no sistema de satélite modelo que projetamos como a equipe de foguetes Yildiz. Aqui estão alguns tópicos cobertos pelo projeto Sudoos.
Uso Freertos com interface CMSIS V2 para STM32
Uso de s struct, enumeração etc. para uma arquitetura limpa
A biblioteca BNO055 IMU Tuning and Data Method) é usada. Neste projeto, a biblioteca é usada para operações como o eixo de remapeamento e a configuração do modo desejado do sensor. O BNO055 é um sensor inteligente e possui modo de fusão que suporta a aceleração máxima de 4G nesse modo. Com esse modo, os dados saudáveis do ângulo Euler podem ser recebidos internamente do sensor. Neste projeto, esse modo foi usado e os dados foram obtidos com o método de interrupção para obter os dados o mais rápido possível. Dessa forma, os dados são capturados centenas de vezes por segundo e processados assim que os dados forem recebidos, sem bloquear o código principal.
A leitura de dados também foi feita a partir do sensor de pressão BME280 com o modo de interrupção. Os dados de pressão e temperatura são recebidos centenas de vezes por segundo com o método de interrupção, e operações como altitude, direção do movimento, altitude máxima e cálculo da velocidade vertical são realizadas a cada vez nesta função.
A detecção de localização é feita usando o módulo GPS da Quectel L86, com o método de interrupção, capturando as frases NMEA enviadas pelo UART e analisando com a ajuda da função SSCANF. Assim, dados como Lat, Long, UTC_Time, velocidade do GPS e o número de satélites são lidos de maneira não bloqueadora.
Para uma comunicação eficiente com a estação fundamental, os dados são embalados usando a união C e transferidos para a estação fundamental com o módulo SPI RFM98W-433S2 (LORA). Receba comandos ouvindo dados provenientes do mesmo módulo (uso bidirecional).
Controlar o servo que fornece separação no sistema de satélite do modelo e o motor sem pincel quad com conexão ESC, que fornece descida controlada, com PWM de timer com amostragem alta. Além de usar o PWM, o controle do motor possui uma arquitetura do algoritmo de controle PID. O algoritmo usado é usado para estabilizar o satélite de acordo com os dados do ângulo. Os valores de ganho do algoritmo PID podem ser alterados remotamente.
Registro de dados usando o cartão SD no STM32. Para um uso mais detalhado do cartão SD, como a transferência de arquivos, você pode consultar nosso projeto de transferência de arquivos.