Advertisement

基于STC15W4K61S4的开源微型四旋翼电路设计

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本项目基于STC15W4K61S4单片机,设计了一款开源微型四旋翼飞行器电路。此电路集成了控制核心、电源管理及信号处理模块,为无人机爱好者提供了便捷的开发平台。 记得在大二下学期参加了2015全国电子设计大赛,并选择了C题“多旋翼的自主飞行器”。拿到瑞萨最小系统后,我开始编写各个模块的驱动代码,在开发环境Cube的帮助下,前期的工作进展顺利。 接下来是组装飞行器和制作电路板。两天时间里完成了这些工作,剩下的两天用于调试。电池供应不足是最让人头疼的问题之一,只能调停结合地进行调试。初次尝试算法不够成熟,直接借用之前做平衡车的经验。最终虽然飞得还算平稳,但题目要求自主飞行,在这方面遇到了难题。 我通过记录四旋翼起飞时的油门数据,并在起飞后手动调整(存在风险),实现了初步效果。比赛前一天晚上测试过程中发生事故:一块充满电的电池导致飞机飞得太快撞到天花板,损坏了一个电机和桨叶。幸运的是没有人受伤,队友们也很焦急。 经过一夜的努力,在早上六点前修复了飞机,尽管性能有所下降但基本任务仍可完成。第二天下午开始正式比赛,试飞时发现超声波线松动并迅速排除故障后进入比赛环节。(此处省略具体比赛结果) 赛后我有了制作小四轴的想法,并在网上查找相关资料,在STC的开源项目启发下动手实现了一个基于STM15W4K61S4的小型四旋翼飞行器。控制代码也进行了重写,现分享给大家,希望与大家交流。 该设计硬件包括:MPU6050传感器、电源模块、NRF24L01无线通信模块和720空心杯电机等,并采用串级PID控制策略实现姿态稳定。通过调整相邻电机的旋转方向以平衡飞行器的姿态角度,结合加速度计与陀螺仪数据进行融合处理。 系统硬件部分包括:主控芯片STC15W4K61S4、传感器MPU6050(三轴加速度和三轴角速度)、720空心杯电机以及AO3400A MOS管等。通过串级PID控制策略,内环使用PD控制器来处理角速度误差,外环则采用PI控制器以姿态角度为输入进行调节。 经过调试能够实现基本飞行功能,但参数仍需进一步优化,并且PCB设计过大导致重量过重等问题需要改进。整个项目从原理图到代码全部由我独自完成,在遇到问题时积极寻求解决方案的过程非常有意义和挑战性,也让我学到了很多知识并变得更加细心严谨。 最后附上一些测试视频供参考(效果欠佳,请勿苛责)。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • STC15W4K61S4
    优质
    本项目基于STC15W4K61S4单片机,设计了一款开源微型四旋翼飞行器电路。此电路集成了控制核心、电源管理及信号处理模块,为无人机爱好者提供了便捷的开发平台。 记得在大二下学期参加了2015全国电子设计大赛,并选择了C题“多旋翼的自主飞行器”。拿到瑞萨最小系统后,我开始编写各个模块的驱动代码,在开发环境Cube的帮助下,前期的工作进展顺利。 接下来是组装飞行器和制作电路板。两天时间里完成了这些工作,剩下的两天用于调试。电池供应不足是最让人头疼的问题之一,只能调停结合地进行调试。初次尝试算法不够成熟,直接借用之前做平衡车的经验。最终虽然飞得还算平稳,但题目要求自主飞行,在这方面遇到了难题。 我通过记录四旋翼起飞时的油门数据,并在起飞后手动调整(存在风险),实现了初步效果。比赛前一天晚上测试过程中发生事故:一块充满电的电池导致飞机飞得太快撞到天花板,损坏了一个电机和桨叶。幸运的是没有人受伤,队友们也很焦急。 经过一夜的努力,在早上六点前修复了飞机,尽管性能有所下降但基本任务仍可完成。第二天下午开始正式比赛,试飞时发现超声波线松动并迅速排除故障后进入比赛环节。(此处省略具体比赛结果) 赛后我有了制作小四轴的想法,并在网上查找相关资料,在STC的开源项目启发下动手实现了一个基于STM15W4K61S4的小型四旋翼飞行器。控制代码也进行了重写,现分享给大家,希望与大家交流。 该设计硬件包括:MPU6050传感器、电源模块、NRF24L01无线通信模块和720空心杯电机等,并采用串级PID控制策略实现姿态稳定。通过调整相邻电机的旋转方向以平衡飞行器的姿态角度,结合加速度计与陀螺仪数据进行融合处理。 系统硬件部分包括:主控芯片STC15W4K61S4、传感器MPU6050(三轴加速度和三轴角速度)、720空心杯电机以及AO3400A MOS管等。通过串级PID控制策略,内环使用PD控制器来处理角速度误差,外环则采用PI控制器以姿态角度为输入进行调节。 经过调试能够实现基本飞行功能,但参数仍需进一步优化,并且PCB设计过大导致重量过重等问题需要改进。整个项目从原理图到代码全部由我独自完成,在遇到问题时积极寻求解决方案的过程非常有意义和挑战性,也让我学到了很多知识并变得更加细心严谨。 最后附上一些测试视频供参考(效果欠佳,请勿苛责)。
  • codeandPCB.zip_STM32_PCB_STM32
    优质
    这是一个关于使用STM32微控制器进行四旋翼飞行器PCB设计的资源包。包含了硬件电路图和元件清单,适用于嵌入式系统开发爱好者与工程师。 基于STM32的四旋翼直升机代码及PCB打包
  • UAV.rar_simulink径_飞行规划与控制_
    优质
    本资源包提供四旋翼无人机在Simulink环境下的飞行路径规划与控制系统设计,包括详细代码和模型文件,适用于研究与教学。 使用Simulink搭建四旋翼模型,并进行PID控制以及路径规划。
  • STM32F411CCU6最小系统板
    优质
    本项目介绍了一种以STM32F411CCU6微控制器为核心,专为四旋翼飞行器打造的最小系统板设计方案。该设计旨在提供高效、稳定的控制平台,适用于无人机爱好者及开发者进行各种飞行实验和应用开发。 四旋翼STM32F411CCU6的最小系统板设计采用的是STM32F411CCU6作为主控芯片,该芯片内核为ARM 32-bit Cortex-M4,引脚数为48脚,闪存容量为256K字节,SRAM容量为128K字节。
  • MATLAB_Lab-Files.rar_Quanser_LQR_直升机控制
    优质
    本资源包包含使用MATLAB进行Quanser四旋翼直升机控制系统设计的文件,重点介绍LQR(线性二次型调节器)控制方法。适合学习与研究四旋翼飞行器动态控制技术。 Quanser公司四旋翼直升机控制系统的LQR控制程序涉及利用线性二次型调节器(Linear Quadratic Regulator, LQR)来优化飞行器的动态性能。该方法通过建立数学模型并求解最优控制问题,实现对四旋翼直升机姿态和位置的有效控制。
  • SW模,含参数,适用和六无人机仿真模
    优质
    本作品提供了一种包含可调参数的SW模型,专为三旋翼、四旋翼及六旋翼无人机的精确仿真设计,适用于各类飞行模拟与研究。 提供完整的带参数的SolidWorks模型,涵盖各种无人机仿真模型,包括双旋翼、三旋翼、四旋翼和六旋翼无人机模型。这些模型可以用于进行多种仿真实验或3D打印制作展示用模型。
  • MATLAB无人机PID控制模综述-PID-无人机-MATLAB
    优质
    本文章综述了利用MATLAB对四旋翼无人机进行PID控制建模的研究进展。通过分析和优化PID参数,提升了飞行器的稳定性和响应速度,为无人系统技术提供理论支持和技术参考。 本段落详细介绍了PID控制在四旋翼无人机姿态稳定与轨迹跟踪中的应用及其MATLAB仿真实现方法。主要内容包括:四旋翼无人机的基本构造、动力学建模,以及如何设计PID控制器;讨论了输入输出、误差计算及反馈调节等关键步骤,并提供了用于演示姿态控制的MATLAB代码示例。此外还介绍了传感器在实时获取和调整无人机状态中的作用。 本段落适合具备自动控制理论基础并对多旋翼飞行器感兴趣的研究人员与工程师阅读。 使用场景及目标: 1. 理解PID控制器的工作原理及其对四旋翼无人机性能的影响。 2. 掌握利用MATLAB建立无人机控制系统的方法,支持相关研究和技术进步。 建议读者在理解并实践给出的MATLAB示例的基础上,进一步探索不同环境条件下优化PID参数的选择方法,并尝试提高控制系统的整体效能。
  • EEDrone首代DIY教程(含飞控主板、IMU及固件)-
    优质
    本教程详细介绍了如何制作EEDrone开源四旋翼无人机的第一代版本,包括飞控主板和IMU的设计与组装以及相关固件的配置。 声明:该设计资料来源于网友eeworld-lb8820265的开源分享,仅供学习参考,不可用于商业用途。 你是否也像我一样有这样的疑问:论文中提到的各种四旋翼控制算法和姿态解算算法为何在实际的开源四旋翼平台中很少见到?大多数情况下,控制算法都使用PID方法,而姿态解算则依赖于Mahony滤波器或扩展卡尔曼滤波(EKF)。 目前四旋翼控制系统仍存在许多问题:抗干扰能力和鲁棒性有待进一步提高;在重心和质量变化的情况下表现不佳;起飞时不够稳定,在室内自主悬停控制效果也不理想,惯性和室内的导航精度较低等。因此,研究领域还有很大的发展空间,任重道远。 当仿真通过后,往往难以找到合适的四旋翼平台进行验证。目前适合用于研究的四旋翼平台包括: - Pixhawk:功能强大且可扩展性好。但也有以下问题: - 编译复杂,并非使用IDE开发环境,在线调试困难。 - 使用Nuttx操作系统,实时性能有待提高;传感器数据读取到控制输出的时间较长。 - 大量代码由MATLAB生成,不利于阅读和二次开发;未充分利用F4的DSP核,效率较低且结构复杂。 - 数据传输速率低(仅1Hz),不支持实时分析。 - IMU缺乏减震措施,需整个飞控系统增加减震装置。 - 修改程序到成功烧录的过程繁琐,并且不具备无线更新功能。 - 大疆M100和Guidance:虽然开发视觉算法方面表现不错,但控制与姿态解算已封装好,不适合深入研究这些领域的内容。 此外,在网络购物平台上可以找到一些四旋翼飞行控制器及相关元器件。然而它们大多性能较低、没有操作系统支持以及缺乏高效的控制及姿态计算方法;接口数量有限,并不适合作为科研工具使用。Ascending Technologies公司的产品虽然被广泛应用于各种赛事和学术项目中,但其高昂的价格让人望而却步。 由此可以看出拥有一个适合研究的四旋翼平台的重要性日益凸显出来。鉴于个人精力与技术能力所限,特此发帖希望能吸引志同道合的朋友共同学习探讨;唯有开源才能推动技术创新进步。 初步设想中的理想化四旋翼应具备以下特点: - 先进控制和姿态解算算法 - 程序模块化设计便于各种算法实现 - 提供MATLAB仿真及理论支持 - 高速数据传输,实时查看与分析波形图 - 采用高性能MCU与IMU传感器 - 优化代码充分利用DSP核心单元性能 - 支持无线更新功能 - 使用IDE环境编写、编译和调试程序 - 简单高效的操作系统减少控制延迟时间 - IMU置于减震盒内,接口形式可更换不同方案 - 提供多种常用硬件接口包括以太网端口 根据个人优势和技术特点初步确定四旋翼软硬件如下: MCU+GPS+IMU盒子方案一: 元器件型号:STM32F746ZGT6、3DR GPS + LSM303AGR、L3GD20H、LSM6DSM及LPS22HB。全部采用ST最新高性能元件,与Pixhawk一样使用双陀螺仪加速度计冗余设计;MCU则选用性能强大的F746可运行复杂算法。 IMU盒子方案二:元器件型号包括ADXL354、ADXRS642 × 3及MS5803。采用ADI高性能惯性传感器和气压计,满足更高性能需求。 飞控软件相关: 操作系统:FreeRTOS 文件系统:FatFs 通信协议:Mavlink 开发环境:Keil+QT 协同工作平台: Github 开源许可方式: BSD 3-clause 四旋翼飞行控制器主板、IMU及元器件第一代实物图。 经过一番讨论决定,首版硬件将由三部分组成;核心板采用Nucleo F767, 主板固定于机架上而IMU做成减震盒子。主板接口配置包括:PWM遥控接口、PPM遥控接口、8个电机控制端口、1个PWM用户接口、3DR GPS 接口及SD卡插槽等;电源管理模块与Flash存储器,三色LED指示灯以及F450机架连接器。 IMU硬件及其接线包括:LSM6DSM、LPS22HB、LSM303AGR和ICM20608传感器外加两瓦加热电阻及3.3V电源供应,并配备14pin排针接口。这里采用了大量冗余组件,例如LSM6DSM