四轴飞行器、无人机(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;

}

相关推荐
励志的小陈7 小时前
贪吃蛇(C语言实现,API)
c语言·开发语言
FreakStudio8 小时前
做了个Claude Code CLI 电子宠物:程序员的实体监工代码搭子
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
芯岭技术10 小时前
PY32L020系列32位MCU,超低功耗、高性价比,支持三种低功耗模式
单片机·嵌入式硬件
爱编码的小八嘎11 小时前
C语言完美演绎8-15
c语言
YSF2017_311 小时前
C语言16-makefile(3)——makefile的模式规则
linux·c语言·开发语言
dgaf13 小时前
谢谢 AI (打靶测试用文)
c语言·gpt·ai编程·d3d12
危桥带雨14 小时前
RTC理论知识
stm32·单片机·嵌入式硬件·实时音视频
一行代码一行诗++15 小时前
C语言中scanf详解
c语言·开发语言
ZenosDoron15 小时前
keil软件修改字体,Asm editor,和C/C++ editor的区别
c语言·开发语言·c++
yuan1999715 小时前
C&CG(列与约束生成)算法,来解决“风光随机性”下的微网鲁棒配置问题
c语言·开发语言·算法