基于stm32的四轴飞行器设计

我要开发同款
proginn08562247202022年11月20日
117阅读

作品详情

1、这个飞控是基于STM32,整合了MPU6050,即陀螺仪和重力加速计,但没有融合电子罗盘;
2、用写好的模拟i2c函数读取mpu6050,根据mpu6050手册的各寄存器地址,读取到了重力加速计和陀螺仪的各分量;传感器采样率设置为200Hz,这个值是因为我电调频率为200Hz,也就是说,我的程序循环一次0.005s,陀螺仪量程±2000°/s,加速计量程±2g, 量程越大,取值越不精确;
3、融合时,陀螺仪的积分运算很大程度上决定了飞行器的瞬时运动情况,而重力加速计通过长时间的累积不断矫正陀螺仪产生的误差,最终得到准确的机体姿态。这里我采用Madgwick提供的UpdateIMU算法来得到姿态角所对应的四元数,之后只需要经过简单运算便可转换为实时欧拉角。
4、由于简单的线性控制不可能满足四轴飞行器稳定系统,引入PID控制器来更好的纠正系统。
5、通过HC-06蓝牙模块接连到STM32串口1,再无线连接到控制端,获得控制端不断发送的数据包,并实时更新期望姿态角。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论