本项目面向四轴无人机飞行控制与嵌入式控制系统开发场景,主要解决遥控指令无线传输、惯性传感器数据采集、飞控板任务调度以及四路无刷电机输出控制等问题。项目以STM32为主控,完成遥控端与飞控端之间的数据通信,并在实机平台上进行上电、通信和电机输出联调。
点击空白处退出提示
语言技术
C、EmbeddedSystem系统类型
嵌入式硬件行业分类
智能硬件、物联网
本项目面向四轴无人机飞行控制与嵌入式控制系统开发场景,主要解决遥控指令无线传输、惯性传感器数据采集、飞控板任务调度以及四路无刷电机输出控制等问题。项目以STM32为主控,完成遥控端与飞控端之间的数据通信,并在实机平台上进行上电、通信和电机输出联调。
项目由无线遥控端和无人机飞控端组成。遥控端通过ADC采集摇杆数据,使用SI24R1无线模块向无人机发送油门及方向控制指令。飞控端接收遥控数据,通过I2C读取MPU6050加速度计和陀螺仪数据,并根据接收到的控制量完成四路PWM信号输出,用于控制无刷电机电调。系统基于FreeRTOS划分传感器采集、无线通信、电机输出和系统状态管理等功能模块,实现四轴无人机的基础控制及实机联调。
项目采用STM32F103C8T6作为飞控主控,使用FreeRTOS管理不同功能任务。遥控端通过ADC采集双摇杆电压值,对数据进行范围映射和打包,再通过SPI驱动SI24R1完成无线发送。飞控端使用SI24R1接收控制数据,通过I2C读取MPU6050原始传感器数据,并输出四路PWM控制电调和无刷电机。
我主要负责MPU6050数据读取、SI24R1无线收发、四路PWM输出、系统初始化及软硬件联调。针对飞控板使用电池直接上电时部分模块偶发初始化失败的问题,对PWM、无线模块和传感器进行分阶段启动,增加启动延时、状态检测和失败重试机制,提高了系统上电和无线通信的稳定性。姿态解算部分不是我主要负责的模块。



评论