当前位置: 首页 > news >正文

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

}

http://www.lryc.cn/news/372767.html

相关文章:

  • OpenAI Assistants API:如何使用代码或无需代码创建您自己的AI助手
  • CentOS7 配置Nginx域名HTTPS
  • C++入门8 构造函数析构函数顺序|拷贝构造
  • 【git使用四】git分支理解与操作(详解)
  • 【docker】如何解决artalk的跨域访问问题
  • MYSQL 索引下推 45讲
  • CentOS7服务器中安装openCV4.8的教程
  • Java课程设计:基于swing的贪吃蛇小游戏
  • 【HarmonyOS】HUAWEI DevEco Studio 下载地址汇总
  • 华为OD刷题C卷 - 每日刷题30(小明找位置,分隔均衡字符串)
  • SOFTS: 时间序列预测的最新模型以及Python使用示例
  • C++ 取近似值
  • 云原生系列之Docker常用命令
  • opencv_GUI
  • FlowUs轻量化AI:趁这波升级专业版,全年无限AI助力笔记产出与二次编写
  • Day 22:2786. 访问数组中的位置使分数最大
  • 理解Es的DSL语法(二):聚合
  • matlab-2-simulink-小白教程-如何绘制电路图进行电路仿真
  • CSS从入门到精通——背景样式
  • 网络编程---Java飞机大战联机
  • 一个简单的Oracle函数
  • word中根据上级设置下级编号
  • 【康复学习--LeetCode每日一题】2786. 访问数组中的位置使分数最大
  • bash和sh区别
  • Git 代码管理规范 !
  • MGRS坐标
  • FreeRTOS简单内核实现4 临界段
  • Scala的字符串插值
  • EasyGBS服务器和终端配置
  • git配置2-不同的代码托管平台配置不同的ssh key