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

一、简介

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

二、实物图

3ad7a194d6924304a0c353b502e0d7bd.jpg

9ceb7f86525f4e3195d35ea343c386b5.jpg

三、部分代码

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; 

}

相关推荐

  1. 基于STM32飞行器方案设计 1

    2024-06-18 15:32:09       40 阅读
  2. 基于STM32F103C8T6的小无人机悬停代码

    2024-06-18 15:32:09       42 阅读
  3. <span style='color:red;'>STM</span><span style='color:red;'>32</span><span style='color:red;'>L</span>4

    STM32L4

    2024-06-18 15:32:09      59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-18 15:32:09       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-18 15:32:09       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-18 15:32:09       82 阅读
  4. Python语言-面向对象

    2024-06-18 15:32:09       91 阅读

热门阅读

  1. Android的布局有哪些?

    2024-06-18 15:32:09       34 阅读
  2. MySQL触发器基本结构

    2024-06-18 15:32:09       28 阅读
  3. 大文件上传实现

    2024-06-18 15:32:09       28 阅读
  4. 前端BUG记录-a-spin和a-pagination

    2024-06-18 15:32:09       33 阅读
  5. 探索 HNSW:分层导航小世界算法的深度解析

    2024-06-18 15:32:09       32 阅读
  6. 正则表达式 - 在线工具

    2024-06-18 15:32:09       31 阅读
  7. 从史上最惨618看经济趋势

    2024-06-18 15:32:09       27 阅读
  8. 【HarmonyOS NEXT】鸿蒙customScan (自定义界面扫码)

    2024-06-18 15:32:09       30 阅读
  9. mysql中社区版如何查看进程中sql

    2024-06-18 15:32:09       30 阅读