基于stm32f407飞控+stm32f103遥控sxy飞行器加权串级PID控制代码代码+算法
本资源是本人在大学四年里设计和研究的成果,主要研究sxy飞行控制的控制方法,方案采用的是9轴mpu9150,包含3轴陀螺仪+3轴加速计+3轴地磁计,陀螺仪采用四元数+欧拉角算法解算出xyz姿态角度,采用了加权系数串级pid控制算法(内环+外环鲁棒控制)使系统更加稳定、安全、和更具鲁棒性,采用卡尔曼滤波算法滤掉和平滑滤波算法滤除高频成分和突变情况,使角度更加平滑,输出更稳定,采用数字补偿控制飞行器漂移,采用24l01无线模块远程控制飞行姿态,采用超声波和z轴加速度控制高度和定高,实践飞行的效果比较好,飞行器飞行很稳定,抗干扰强、鲁棒性强,向下或向上拉扯抗拉力强,最大角度恢复速度快,稳定时间短,最大仰角下1-2次反馈就恢复水平,本代码和控制算法仅供大家学习和参考,请勿上传到其他网站赚取积分,否则将追究责任!
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-04 22:54 基于stm32f407四旋翼飞行器PID控制代码
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RX
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验CORE
文件 17273 2010-06-07 10:25 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验COREcore_cm3.c
文件 85714 2011-02-09 14:59 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验COREcore_cm3.h
文件 15503 2011-03-10 10:52 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验COREstartup_stm32f10x_hd.s
文件 12765 2011-03-10 10:52 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验COREstartup_stm32f10x_md.s
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARE
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWAREKEY
文件 1977 2014-03-20 20:32 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWAREKEYkey.c
文件 1013 2014-03-20 20:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWAREKEYkey.h
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELCD
文件 35016 2014-01-02 17:22 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELCDFONT.H
文件 85631 2015-08-12 18:19 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELCDlcd.c
文件 8193 2015-08-12 18:19 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELCDlcd.h
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELED
文件 1301 2014-03-20 20:13 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELEDled.c
文件 640 2014-03-20 19:03 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELEDled.h
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARENRF24L01
文件 8509 2017-03-22 15:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARENRF24L0124l01.c
文件 4830 2017-03-22 15:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARENRF24L0124l01.h
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARESPI
文件 3318 2014-03-22 14:03 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARESPIspi.c
文件 685 2014-03-22 14:03 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARESPIspi.h
文件 399 2011-04-23 10:24 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验keilkilll.bat
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ
文件 323848 2017-03-22 15:31 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ24L01.axf
文件 1451 2017-03-22 15:31 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ24L01.build_log.htm
文件 354668 2017-03-22 15:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ24l01.crf
文件 1759 2017-03-22 15:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ24l01.d
............此处省略1377个文件信息
/**************************************************************************//**
* @file core_cm3.c
* @brief CMSIS Cortex-M3 Core Peripheral Access layer Source File
* @version V1.30
* @date 30. October 2009
*
* @note
* Copyright (C) 2009 ARM Limited. All rights reserved.
*
* @par
* ARM Limited (ARM) is supplying this software for use with Cortex-M
* processor based microcontrollers. This file can be freely distributed
* within development tools that are supporting such ARM based processors.
*
* @par
* THIS SOFTWARE IS PROVIDED “AS IS“. NO WARRANTIES WHETHER EXPRESS IMPLIED
* OR STATUTORY INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
* ARM SHALL NOT IN ANY CIRCUMSTANCES BE LIABLE FOR SPECIAL INCIDENTAL OR
* CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER.
*
******************************************************************************/
#include
/* define compiler specific symbols */
#if defined ( __CC_ARM )
#define __ASM __asm /*!< asm keyword for ARM Compiler */
#define __INLINE __inline /*!< inline keyword for ARM Compiler */
#elif defined ( __ICCARM__ )
#define __ASM __asm /*!< asm keyword for IAR Compiler */
#define __INLINE inline /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */
#elif defined ( __GNUC__ )
#define __ASM __asm /*!< asm keyword for GNU Compiler */
#define __INLINE inline /*!< inline keyword for GNU Compiler */
#elif defined ( __TASKING__ )
#define __ASM __asm /*!< asm keyword for TASKING Compiler */
#define __INLINE inline /*!< inline keyword for TASKING Compiler */
#endif
/* ################### Compiler specific Intrinsics ########################### */
#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
/* ARM armcc specific functions */
/**
* @brief Return the Process Stack Pointer
*
* @return ProcessStackPointer
*
* Return the actual process stack pointer
*/
__ASM uint32_t __get_PSP(void)
{
mrs r0 psp
bx lr
}
/**
* @brief Set the Process Stack Pointer
*
* @param topOfProcStack Process Stack Pointer
*
* Assign the value ProcessStackPointer to the MSP
* (process stack pointer) Cortex processor register
*/
__ASM void __set_PSP(uint32_t topOfProcStack)
{
msr psp r0
bx lr
}
/**
* @brief Return the Main Stack Pointer
*
* @return Main Stack Pointer
*
* Return the curren
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-04 22:54 基于stm32f407四旋翼飞行器PID控制代码
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RX
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验CORE
文件 17273 2010-06-07 10:25 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验COREcore_cm3.c
文件 85714 2011-02-09 14:59 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验COREcore_cm3.h
文件 15503 2011-03-10 10:52 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验COREstartup_stm32f10x_hd.s
文件 12765 2011-03-10 10:52 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验COREstartup_stm32f10x_md.s
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARE
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWAREKEY
文件 1977 2014-03-20 20:32 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWAREKEYkey.c
文件 1013 2014-03-20 20:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWAREKEYkey.h
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELCD
文件 35016 2014-01-02 17:22 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELCDFONT.H
文件 85631 2015-08-12 18:19 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELCDlcd.c
文件 8193 2015-08-12 18:19 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELCDlcd.h
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELED
文件 1301 2014-03-20 20:13 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELEDled.c
文件 640 2014-03-20 19:03 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARELEDled.h
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARENRF24L01
文件 8509 2017-03-22 15:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARENRF24L0124l01.c
文件 4830 2017-03-22 15:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARENRF24L0124l01.h
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARESPI
文件 3318 2014-03-22 14:03 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARESPIspi.c
文件 685 2014-03-22 14:03 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验HARDWARESPIspi.h
文件 399 2011-04-23 10:24 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验keilkilll.bat
目录 0 2018-10-04 22:50 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ
文件 323848 2017-03-22 15:31 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ24L01.axf
文件 1451 2017-03-22 15:31 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ24L01.build_log.htm
文件 354668 2017-03-22 15:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ24l01.crf
文件 1759 2017-03-22 15:30 基于stm32f407四旋翼飞行器PID控制代码2401 - RXALIENTEK MINISTM32 实验24 24L01无线通信实验OBJ24l01.d
............此处省略1377个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)