Sudo는 Yildiz Rocket 팀으로 설계된 모델 위성 시스템의 STM32 기반 메인 비행 제어 컴퓨터입니다. Sudoos 프로젝트가 다루는 몇 가지 주제는 다음과 같습니다.
STM32의 CMSIS V2 인터페이스를 사용한 Freertos 사용
깨끗한 아키텍처의 C 구조, 열거 등 사용
우리가 준비한 BNO055 IMU 튜닝 및 데이터 읽기 (Poll Method) 라이브러리가 사용됩니다. 이 프로젝트에서 라이브러리는 축제 축제 및 원하는 센서 모드를 설정하는 것과 같은 작업에 사용됩니다. BNO055는 스마트 센서 이며이 모드에서 최대 4G 가속도를 지원하는 퓨전 모드가 있습니다. 이 모드를 사용하면 건강한 오일러 각도 데이터는 센서에서 내부적으로 수신 할 수 있습니다. 이 프로젝트에서는이 모드가 사용되었고 데이터를 최대한 빨리 얻기 위해 인터럽트 방법으로 데이터를 가져 왔습니다. 이런 식으로 데이터는 초당 수백 번 캡처되고 기본 코드를 차단하지 않고 데이터를 수신하자마자 처리됩니다.
인터럽트 모드가있는 BME280 압력 센서에서도 데이터 판독 값이 이루어졌습니다. 압력 및 온도 데이터는 인터럽트 방법으로 초당 수백 번 수신되며 고도, 이동 방향, 최대 고도 및 수직 속도 계산과 같은 작업은이 기능에서 매번 수행됩니다.
위치 감지는 인터럽트 방법과 함께 Quectel L86 GPS 모듈을 사용하여 UART를 통해 전송 된 NMEA 문장을 캡처하고 SSCANF 함수의 도움으로 구문 분석하여 수행됩니다. 따라서 LAT, Long, UTC_Time, GPS 속도 및 위성 수와 같은 데이터는 차단 방식으로 읽습니다.
지상국과의 효율적인 통신을 위해, 데이터는 C Union을 사용하여 포장하고 SPI RFM98W-433S2 (LORA) 모듈을 사용하여 지상국으로 전송됩니다. 동일한 모듈에서 나오는 데이터를 듣고 명령을받습니다 (양방향 사용법).
모델 위성 시스템과 ESC 연결을 갖춘 쿼드 브러시리스 모터에서 분리를 제공하는 서보를 제어합니다. PWM을 사용하는 것 외에도 모터 제어에는 PID 제어 알고리즘 아키텍처가 있습니다. 사용 된 알고리즘은 각도 데이터에 따라 위성을 안정화시키는 데 사용됩니다. PID 알고리즘의 게인 값을 원격으로 변경할 수 있습니다.
STM32에서 SD 카드를 사용한 데이터 로깅. 파일 전송과 같은 SD 카드를보다 자세히 사용하려면 파일 전송 프로젝트를 참조하십시오.