失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【毕业设计】基于单片机无线充电的4轴飞行器 -物联网 嵌入式 stm32

【毕业设计】基于单片机无线充电的4轴飞行器 -物联网 嵌入式 stm32

时间:2024-05-13 15:02:37

相关推荐

【毕业设计】基于单片机无线充电的4轴飞行器 -物联网 嵌入式 stm32

文章目录

0 前言1 简介2 主要器件3 实现效果4 设计原理4.1 硬件说明5 部分核心代码5 最后

0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩基于单片机无线充电的4轴飞行器

🥇学长这里给一个题目综合评分(每项满分5分)

难度系数:4分工作量:4分创新点:3分

🧿选题指导, 项目分享:

/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md

1 简介

目前无人机的发展前景一片大好,大部分的应用例如航拍、电力巡线、森林防火训检、军事侦察。在人无法进入的区域难以更换电池是长期困扰无人机应用的一个问题。

本项目对无线充电技术的发展和推广可降低无人机对备用电池或充电线缆的依赖,平台多样化可适应多种场合下给无人机充电,延长无人机的续航时间,为无人机顺利完成任务提供保障。外部充电口也不再是必要的结构设计,可推动未来的小型无人机设计完全密封系统,这更有助于其在恶劣环境中作业。

2 主要器件

IDT15W无线充电开发套件

L298电机驱动芯片

HC-05蓝牙模块

RGB指示灯

3 实现效果

4 设计原理

4.1 硬件说明

平台部分硬件电路说明

在测量地面与飞机的高度是起作用,配合飞控的气压计和GPS定高,增加稳定性

HC-05蓝牙模块主要是与移动平台进行数据传输,控制平台动作

运用L298电机驱动芯片,在大载重的情况下有能力输出。

平台的电子开关。控制平台动力电源,控制无线充电供电开关。

RGB指示灯。可指示不同颜色代表不同信号。第二个功能指示给无人机做围栏信号灯

平台的框架

5 部分核心代码

#define sampleFreq 512.0f // sample frequency in Hz#define betaDef 0.1f // 2 * proportional gainvolatile float beta = betaDef;volatile float q0 = 1.0f, q1 = 0.0f, q2 = 0.0f, q3 = 0.0f;float invSqrt(float x);void MadgwickAHRSupdateIMU(float gx, float gy, float gz, float ax, float ay, float az) {float recipNorm;float s0, s1, s2, s3;float qDot1, qDot2, qDot3, qDot4;float _2q0, _2q1, _2q2, _2q3, _4q0, _4q1, _4q2 ,_8q1, _8q2, q0q0, q1q1, q2q2, q3q3;// Rate of change of quaternion from gyroscopeqDot1 = 0.5f * (-q1 * gx - q2 * gy - q3 * gz);qDot2 = 0.5f * (q0 * gx + q2 * gz - q3 * gy);qDot3 = 0.5f * (q0 * gy - q1 * gz + q3 * gx);qDot4 = 0.5f * (q0 * gz + q1 * gy - q2 * gx);// Compute feedback only if accelerometer measurement valid (avoids NaN in accelerometer normalisation)if(!((ax == 0.0f) && (ay == 0.0f) && (az == 0.0f))) {// Normalise accelerometer measurementrecipNorm = invSqrt(ax * ax + ay * ay + az * az);ax *= recipNorm;ay *= recipNorm;az *= recipNorm;// Auxiliary variables to avoid repeated arithmetic_2q0 = 2.0f * q0;_2q1 = 2.0f * q1;_2q2 = 2.0f * q2;_2q3 = 2.0f * q3;_4q0 = 4.0f * q0;_4q1 = 4.0f * q1;_4q2 = 4.0f * q2;_8q1 = 8.0f * q1;_8q2 = 8.0f * q2;q0q0 = q0 * q0;q1q1 = q1 * q1;q2q2 = q2 * q2;q3q3 = q3 * q3;// Gradient decent algorithm corrective steps0 = _4q0 * q2q2 + _2q2 * ax + _4q0 * q1q1 - _2q1 * ay;s1 = _4q1 * q3q3 - _2q3 * ax + 4.0f * q0q0 * q1 - _2q0 * ay - _4q1 + _8q1 * q1q1 + _8q1 * q2q2 + _4q1 * az;s2 = 4.0f * q0q0 * q2 + _2q0 * ax + _4q2 * q3q3 - _2q3 * ay - _4q2 + _8q2 * q1q1 + _8q2 * q2q2 + _4q2 * az;s3 = 4.0f * q1q1 * q3 - _2q1 * ax + 4.0f * q2q2 * q3 - _2q2 * ay;recipNorm = invSqrt(s0 * s0 + s1 * s1 + s2 * s2 + s3 * s3); // normalise step magnitudes0 *= recipNorm;s1 *= recipNorm;s2 *= recipNorm;s3 *= recipNorm;// Apply feedback stepqDot1 -= beta * s0;qDot2 -= beta * s1;qDot3 -= beta * s2;qDot4 -= beta * s3;}// Integrate rate of change of quaternion to yield quaternionq0 += qDot1 * (1.0f / sampleFreq);q1 += qDot2 * (1.0f / sampleFreq);q2 += qDot3 * (1.0f / sampleFreq);q3 += qDot4 * (1.0f / sampleFreq);// Normalise quaternionrecipNorm = invSqrt(q0 * q0 + q1 * q1 + q2 * q2 + q3 * q3);q0 *= recipNorm;q1 *= recipNorm;q2 *= recipNorm;q3 *= recipNorm;}float invSqrt(float x) {float halfx = 0.5f * x;float y = x;long i = *(long*)&y;i = 0x5f3759df - (i>>1);y = *(float*)&i;y = y * (1.5f - (halfx * y * y));return y;}

5 最后

如果觉得《【毕业设计】基于单片机无线充电的4轴飞行器 -物联网 嵌入式 stm32》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。