[其他]

【21ic分享赛】微型四旋翼航拍器

[复制链接]
3909|22
手机看帖
扫描二维码
随时随地手机跟帖
会飞的小土豆|  楼主 | 2016-7-26 10:56 | 显示全部楼层 |阅读模式
微型四旋翼航拍器,飞行器稳定,算法成熟,
本四旋翼航拍器采用OV7725C彩色摄像头,飞控板主控芯片为STM32,遥控器主控芯片为STM32。本系统在正常飞行过程中,通过按下遥控器右键即可拍下此刻的照片,并实时存储到SD卡中。四轴和遥控器均已集成锂电池智能充电功能,通过USB数据线直接插入电脑即可充电,充电时间在40min左右,具体时间需要看剩余电量,。
四旋翼.jpg

相关帖子

会飞的小土豆|  楼主 | 2016-7-26 10:57 | 显示全部楼层
遥控器原理图
01.png

使用特权

评论回复
会飞的小土豆|  楼主 | 2016-7-26 10:58 | 显示全部楼层
四轴原理图
02.png

使用特权

评论回复
会飞的小土豆|  楼主 | 2016-7-26 11:03 | 显示全部楼层
部分程序源代码
#include "include.h"


int main(void)
{
          SystemInit();  //配置系统时钟
          IAC_Init();         //系统初始化
          Param_Load();  //加载参数
          EN_TIM3();     //开定时中断
          while(1)
          {     
                        //delay_ms(10);
                        RC_Analy();             //提取遥控器数据
          }
}
#include "include.h"

extern const uint8 gImage_**[];
extern MY_MENU  MAIN_MENU[5];

int main(void)
{
    SystemInit();   
        IAC_Init();   
        GUI_SetColor(1,0);       
        GUI_LoadPic(0,0,( uint8*)gImage_**,128,64);  //OLED加载**
        OLED_Refresh_Gram();  
    EnTIM3();     //开定时中断
          while(1)
        {                   
                        GUI_ICOMenuClass3(MAIN_MENU);
        }
}
void TIM3_IRQHandler(void)                    //2.5ms中断一次
{       
        if(TIM3->SR & TIM_IT_Update)       
        {   
        TIM3->SR = ~TIM_FLAG_Update;//清除中断标志       
               
                if(rcsentFlag)  //进入飞行界面 才可以发送数据
        RC_Sent();       

                LED_Sailing(35);
        }
}
void SystemCoreClockUpdate (void)
{
  uint32_t tmp = 0, pllmull = 0, pllsource = 0;

#ifdef  STM32F10X_CL
  uint32_t prediv1source = 0, prediv1factor = 0, prediv2factor = 0, pll2mull = 0;
#endif /* STM32F10X_CL */

#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
  uint32_t prediv1factor = 0;
#endif /* STM32F10X_LD_VL or STM32F10X_MD_VL or STM32F10X_HD_VL */
   
  /* Get SYSCLK source -------------------------------------------------------*/
  tmp = RCC->CFGR & RCC_CFGR_SWS;
  
  switch (tmp)
  {
    case 0x00:  /* HSI used as system clock */
      SystemCoreClock = HSI_VALUE;
      break;
    case 0x04:  /* HSE used as system clock */
      SystemCoreClock = HSE_VALUE;
      break;
    case 0x08:  /* PLL used as system clock */

      /* Get PLL clock source and multiplication factor ----------------------*/
      pllmull = RCC->CFGR & RCC_CFGR_PLLMULL;
      pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
      
#ifndef STM32F10X_CL      
      pllmull = ( pllmull >> 18) + 2;
      
      if (pllsource == 0x00)
      {
        /* HSI oscillator clock divided by 2 selected as PLL clock entry */
        SystemCoreClock = (HSI_VALUE >> 1) * pllmull;
      }
      else
      {
#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
       prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1;
       /* HSE oscillator clock selected as PREDIV1 clock entry */
       SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull;
#else
        /* HSE selected as PLL clock entry */
        if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET)
        {/* HSE oscillator clock divided by 2 */
          SystemCoreClock = (HSE_VALUE >> 1) * pllmull;
        }
        else
        {
          SystemCoreClock = HSE_VALUE * pllmull;
        }
#endif
      }
#else
      pllmull = pllmull >> 18;
      
      if (pllmull != 0x0D)
      {
         pllmull += 2;
      }
      else
      { /* PLL multiplication factor = PLL input clock * 6.5 */
        pllmull = 13 / 2;
      }
            
      if (pllsource == 0x00)
      {
        /* HSI oscillator clock divided by 2 selected as PLL clock entry */
        SystemCoreClock = (HSI_VALUE >> 1) * pllmull;
      }
      else
      {/* PREDIV1 selected as PLL clock entry */
        
        /* Get PREDIV1 clock source and division factor */
        prediv1source = RCC->CFGR2 & RCC_CFGR2_PREDIV1SRC;
        prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1;
        
        if (prediv1source == 0)
        {
          /* HSE oscillator clock selected as PREDIV1 clock entry */
          SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull;         
        }
        else
        {/* PLL2 clock selected as PREDIV1 clock entry */
         
          /* Get PREDIV2 division factor and PLL2 multiplication factor */
          prediv2factor = ((RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> 4) + 1;
          pll2mull = ((RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> 8 ) + 2;
          SystemCoreClock = (((HSE_VALUE / prediv2factor) * pll2mull) / prediv1factor) * pllmull;                        
        }
      }
#endif /* STM32F10X_CL */
      break;

    default:
      SystemCoreClock = HSI_VALUE;
      break;
  }
  
  /* Compute HCLK clock frequency ----------------*/
  /* Get HCLK prescaler */
  tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
  /* HCLK clock frequency */
  SystemCoreClock >>= tmp;  
}

使用特权

评论回复
会飞的小土豆|  楼主 | 2016-7-26 11:06 | 显示全部楼层

使用特权

评论回复
会飞的小土豆|  楼主 | 2016-7-26 11:06 | 显示全部楼层
貌似参加活动太少了
,不能发视频

使用特权

评论回复
会飞的小土豆|  楼主 | 2016-7-26 11:12 | 显示全部楼层
我的微四轴有几个突出特点:
下面一一给大家介绍

使用特权

评论回复
会飞的小土豆|  楼主 | 2016-7-26 11:15 | 显示全部楼层
源代码说明:

1、工程基于MDK4.2版本;
2、采用模拟IIC读取MPU6050;
3、主频72MHZ,2.5ms姿态解算周期;
4、卡尔曼加速度计滤波,四元数算法姿态解算;
5、串级PID电机控制,抗干扰能力比单级PID更强;

使用特权

评论回复
会飞的小土豆|  楼主 | 2016-7-26 11:29 | 显示全部楼层
@21ic小喇叭,没权限发视频链接,肿么破

使用特权

评论回复
springvirus| | 2016-7-26 12:36 | 显示全部楼层
会飞的小土豆 发表于 2016-7-26 11:29
@21ic小喇叭,没权限发视频链接,肿么破

楼主能否上传完整程序,谢谢

使用特权

评论回复
justtest111| | 2016-7-26 13:28 | 显示全部楼层
楼主打算开源吗?

使用特权

评论回复
木子不二| | 2016-7-26 14:10 | 显示全部楼层
希望楼主开源  

使用特权

评论回复
21ic小喇叭| | 2016-7-26 14:57 | 显示全部楼层
会飞的小土豆 发表于 2016-7-26 11:06
貌似参加活动太少了
,不能发视频

不行么?你可以把视频发给我  我帮你发

使用特权

评论回复
showmcu| | 2016-7-26 17:46 | 显示全部楼层
nrf24l01的硬件是自己设计的吗?天线部分怎么设计?

使用特权

评论回复
人民币的幻想| | 2016-7-26 19:23 | 显示全部楼层
遥控外形不错

使用特权

评论回复
会飞的小土豆|  楼主 | 2016-7-27 14:21 | 显示全部楼层
21ic小喇叭 发表于 2016-7-26 14:57
不行么?你可以把视频发给我  我帮你发

已经私信给你了

使用特权

评论回复
lzgq| | 2016-7-29 21:31 | 显示全部楼层
希望楼主开源

使用特权

评论回复
xxxvxiang| | 2016-7-30 10:33 | 显示全部楼层
希望楼主开源

使用特权

评论回复
zcdd| | 2016-8-4 13:49 | 显示全部楼层
坐等开源

使用特权

评论回复
nxparm_ad| | 2016-8-5 10:06 | 显示全部楼层
楼主好强大

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

118

帖子

3

粉丝