四轴飞行器、无人机(STM32、NRF24L01)

一、简介

此电路由STM32为主控芯片,NRF24L01、MPU6050为辅,当接受到信号时,处理对应的指令。

二、实物图

三、部分代码

void FlightPidControl(float dt)

{

volatile static uint8_t status=WAITING_1;

switch(status)

{

case WAITING_1: //等待解锁

if(ALL_flag.unlock) {

status = READY_11;

}

break;

case READY_11: //准备进入控制

pidRest(pPidObject,6); //批量复位 PID 数据,防止上次遗留的数据影响本次控制

Angle.yaw = pidYaw.desired = pidYaw.measured = 0; //锁定偏航角

status = PROCESS_31;

break;

case PROCESS_31: //正式进入控制

//倾斜检测,大角度判定为意外情况,则紧急上锁

if(Angle.pitch<-50||Angle.pitch>50||Angle.roll<-50||Angle.roll>50)

if(Remote.thr>1200)//当油门的很低时不做倾斜检测

ALL_flag.unlock = EMERGENT;//打入紧急情况

pidRateX.measured = MPU6050.gyroX * Gyro_G; //内环测量值 角度/秒

pidRateY.measured = MPU6050.gyroY * Gyro_G;

pidRateZ.measured = MPU6050.gyroZ * Gyro_G;

//俯仰控制

pidPitch.measured = Angle.pitch;

}

相关推荐
BreezeJuvenile2 分钟前
SPI_STM32的SPI外设及常用寄存器介绍
stm32·单片机·嵌入式硬件·spi外设·spi常用寄存器介绍
2301_772204288 分钟前
51单片机——GPIO 中断 定时器 PWM
单片机·嵌入式硬件·51单片机
lingzhilab17 分钟前
零知IDE——零知ESP32 + INA219电流传感器实现18650锂电池智能充放电监测系统
ide·单片机·json
学嵌入式的小杨同学22 分钟前
循环队列(顺序存储)完整解析与实现(数据结构专栏版)
c语言·开发语言·数据结构·c++·算法
凌~风34 分钟前
014-计算机操作系统实验报告之C 程序的编写!
c语言·开发语言·实验报告
秋深枫叶红39 分钟前
嵌入式第四十六篇——51单片机基础——UART通信
嵌入式硬件·学习·51单片机
独处东汉40 分钟前
AI辅助Stm32l031项目开发调试板子printf
stm32·单片机·嵌入式硬件
2301_7722042842 分钟前
嵌入式——51单片机的基本知识
单片机·嵌入式硬件·51单片机
ytttr87311 小时前
基于STM32和W5500芯片的Modbus TCP协议栈实现
stm32·嵌入式硬件
上大科技蔡生11 小时前
CS5715:2.7V~26V宽输入,单节锂电池适用,最高36V输出,省掉电感电流检测电阻,软启动时间可调,异步升压DCDC控制器
单片机·嵌入式硬件·dcdc