news 2026/9/3 2:00:38

Day41:四轴飞行器控制系统 (基础)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day41:四轴飞行器控制系统 (基础)

项目功能:
姿态检测 (MPU6050 陀螺仪 + 加速度计)
电机控制 (4 个电调 + PWM)
遥控器信号接收 (PWM 输入捕获)
平衡控制 (PD 控制算法)
硬件连接:
MPU6050:I2C(PB6-SCL, PB7-SDA)
电调:4 个 PWM 输出 (PA0-PA3)
遥控器:PWM 信号输入 (PA4-PA7)
软件架构:
姿态解算:读取 MPU6050 数据→计算欧拉角
控制算法:PD 控制器调节 PWM 占空比
输入处理:捕获遥控器 PWM 信号→解析控制指令
核心代码:(MPU6050 读取 + 姿态计算)

// 读取MPU6050加速度和陀螺仪数据
void MPU6050_Read_Data(mpu6050_data_t *data){
uint8_t buf[14];

// 读取加速度、陀螺仪、温度数据
HAL_I2C_Master_Transmit(&hi2c1, MPU6050_ADDR, &reg_addr, 1, 1000);
HAL_I2C_Master_Receive(&hi2c1, MPU6050_ADDR, buf, 14, 1000);

// 转换为实际值(注意小端模式)
data->ax = (int16_t)(buf[0] | (buf[1] << 8));
data->ay = (int16_t)(buf[2] | (buf[3] << 8));
data->az = (int16_t)(buf[4] | (buf[5] << 8));
data->gx = (int16_t)(buf[8] | (buf[9] << 8));
data->gy = (int16_t)(buf[10] | (buf[11] << 8));
data->gz = (int16_t)(buf[12] | (buf[13] << 8));

// 转换为g和°/s单位
data->ax *= 0.000061; // LSB/(g) = 16384
data->ay *= 0.000061;
data->az *= 0.000061;
data->gx *= 0.061; // LSB/(°/s) = 131
data->gy *= 0.061;
data->gz *= 0.061;
}

// 姿态计算(简化版)
void Attitude_Calculate(mpu6050_data_t *data, float *roll, float *pitch){
// 使用加速度计计算倾角(简化,忽略陀螺仪积分)
*roll = atan2(data->ay, data->az) * 57.3; // 横滚角(°)
*pitch = atan2(-data->ax, sqrt(data->ay*data->ay + data->az*data->az)) * 57.3; // 俯仰角(°)
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 21:49:28

NumPy 字符串函数

NumPy 字符串函数 引言 NumPy 是 Python 中一个强大的科学计算库,它提供了大量的函数和方法来处理数值数据。除了数值计算外,NumPy 也支持字符串操作。本文将详细介绍 NumPy 中的字符串函数,帮助您更好地理解和应用这些函数。 NumPy 字符串函数概述 NumPy 提供了一系列用…

作者头像 李华
网站建设 2026/9/3 0:25:54

光影向善,大爱无界!第44届华鼎奖好莱坞揭晓 安吉丽娜·朱莉榜上有名

时值世界电影诞辰130周年的重要节点&#xff0c;一场汇聚星光与大爱的公益盛会于好莱坞璀璨启幕——第44届全球公益和慈善华鼎奖以发布会形式隆重揭晓获奖名单。作为华鼎奖品牌升级后首次推出的公益专项评选&#xff0c;本届盛典以“影视赋能公益”为核心&#xff0c;打破传统奖…

作者头像 李华
网站建设 2026/9/2 23:28:11

滚珠丝杆直线导轨厂家哪家适配自动化设备高精度传动需求?

自动化设备的精度越来越卷——从3C产品的微小元件装配到半导体的晶圆传输&#xff0c;都需要微米级的定位精度。很多用户问我&#xff1a;“哪些滚珠丝杆直线导轨厂家能适配这种高精度需求&#xff1f;”今天就来聊聊这个话题&#xff0c;结合实际场景&#xff0c;看看什么样的…

作者头像 李华
网站建设 2026/9/2 12:25:55

Spring AI Alibaba — ChatModel与ChatClient的联系与区别

下面是针对 Spring AI Alibaba&#xff08;基于 Spring AI&#xff09;中 ChatModel 和 ChatClient 的联系与区别&#xff0c;以及 链式代码&#xff08;Fluent API&#xff09;与样板代码&#xff08;Boilerplate Code&#xff09;区别的说明&#xff0c;并附带 Java 示例与完…

作者头像 李华
网站建设 2026/9/2 11:54:41

cesium 根据经纬度高度进行额度补偿

const offsetvalue 90; /***度数补偿值*/ const setCameraPosition async (lat: number, lon: number, du: number) > {var point turf.point([lat, lon]);var distance 600 * 1.732;var bearing du - 180 offsetvalue;var options: any { units: "kilometers&q…

作者头像 李华