你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
a316363723 发表于 2020-4-29 14:18 2 l7 y' M) i: e7 X' g大佬,你这个可以飞多久呢?
æ´æºç §ç
饿§PCB
串å£å±ä¸ä½æº
侯元祥 发表于 2020-4-28 08:584 q+ E4 }1 x5 d. j4 t& t 自己回复自己的贴子还需要审核
无人机组开发平台视频讲解
无人机组开发平台介绍
基于 STM32F4 构建的Stinger X210赛车无人机
【外网项目分享】无人机Firefly Pro制作指导
用于避障和区域测绘的无人机
DIY高大上四旋翼无人机飞控
几个基于STM32的开源无人机飞控
CREELINKS开源无人机--资料大全免费!
基于无人机的图像和GPS数据采集系统的研究与实现
目前是3S 2200 电池 测了一下13分钟左右
void STEP1( int PWM)
{
8 t5 Y- J- N5 e( I/ Y6 J; N
TIM1->CCR1=PWM;
TIM1->CCR2=PWM;: m. D* t8 [6 F( t
TIM1->CCR3=PWM; //给占空比6 I, J s! T( t+ P% \: C6 Q
//关T5
GPIOA->MODER=(GPIOA->MODER&0XffDFFFFF)|0X00100000; //PA10输出
GPIOA->BRR=0X00000400;//PA10置0 ( ~2 o" D0 Z4 w8 l# o$ h% Y
//关T6- L) g! R( J2 K3 \: A4 s
GPIOB->MODER=(GPIOB->MODER&0XFFFFFFF7)|0X00000004; //PB1输出
GPIOB->BRR =0X00000002;//PB1置0
//常开T4
GPIOB->MODER=(GPIOB->MODER&0XFFFFFFFD)|0X00000001; //PB0输出
GPIOB->BSRR =0X00000001;//PB0置1
//关T3
GPIOA->MODER=(GPIOA->MODER&0XFFF7FFFF)|0X00040000; //PA9输出, T I8 g2 ^3 y% o5 _, e
GPIOA->BRR=0X00000200;//PA9置0
//开T1PWM
GPIOA->MODER=(GPIOA->MODER&0XFFFEFFFF)|0X00020000; //PA8 PWM
//关T2
GPIOA->MODER=(GPIOA->MODER&0XFFFF7FFF)|0X00004000; //PA7输出" z) U S# U) e
GPIOA->BRR =0X00000080;//PA7置0 9 w' T$ W. ?, o1 j$ d6 E
}9 w& q( Y! A' e7 c# m
7 U8 N% F2 v' x9 {
void STEP2( int PWM)6 T- J5 |1 N; ~ p$ N
{
TIM1->CCR1=PWM;$ x" U6 x% D+ q1 ]
TIM1->CCR2=PWM;
TIM1->CCR3=PWM; //给占空比
//关T4
GPIOB->MODER=(GPIOB->MODER&0XFFFFFFFD)|0X00000001; //PB0输出 & z* C3 Y; p! i: o6 q
GPIOB->BRR =0X00000001;//PB0置0# b5 U7 M9 d) V E& R
//关T38 @% u: L5 I) ~0 A
GPIOA->MODER=(GPIOA->MODER&0XFFF7FFFF)|0X00040000; //PA9输出2 [* @, M( |9 ?. \# y: S- s/ n
GPIOA->BRR=0X00000200;//PA9置0 , B; _$ h7 {+ s! H3 f0 i
//T1常开3 j& [4 s" c, t6 Y( j! v
GPIOA->MODER=(GPIOA->MODER&0XFFFDFFFF)|0X00010000; //PA8输出
GPIOA->BSRR=0X00000100;//PA8置1 / ~, {- ^1 r# [( H7 v
//关T2
GPIOA->MODER=(GPIOA->MODER&0XFFFF7FFF)|0X00004000; //PA7输出6 Q+ N, D" }& d5 A9 o3 c
GPIOA->BRR =0X00000080;//PA7置0
//开T6PWM/ r' r; I/ \, y1 S1 M) F
GPIOB->MODER=(GPIOB->MODER&0XFFFFFFFB)|0X00000008; //PB1 PWM, ]* h7 e, H3 L1 O1 P" t# E8 T
//关T5
GPIOA->MODER=(GPIOA->MODER&0XffDFFFFF)|0X00100000; //PA10输出
GPIOA->BRR=0X00000400;//PA10置0
}" @* S' B6 Q* H" E, j" s6 T
float Butterworth_Low_Pass(float Data_IN) //2阶巴特沃斯低通滤波器截止频率30HZ FS=1000
{
float Gain=0.0078202080334971915 ;4 [6 o( c0 G2 B# h
4 S& |4 ` v; A% f! G
float b[]={1,2,1};
float a[]={1, -1.7347257688092752 , 0.76600660094326389 };9 P6 n0 {, F+ ]5 u) H
2 \: M+ w, A" F. r" ^4 ~
static float Last_Data_IN=0;7 H+ i/ E1 u3 C5 H3 D
static float Last_Last_Data_IN=0;" I5 n2 V! ?- l/ W6 q% U
float Data_OUT;
static float Last_Data_OUT=0;
static float Last_Last_Data_OUT=0; 3 ~7 N; L" X( ]0 l8 U9 E
Data_OUT=(Gain*(b[0]*Data_IN + b[1]*Last_Data_IN + b[2]*Last_Last_Data_IN) - a[1]*Last_Data_OUT - a[2]*Last_Last_Data_OUT)/a[0];
Last_Last_Data_IN=Last_Data_IN;- j7 a* ?/ V3 ?, U
Last_Data_IN=Data_IN;
Last_Last_Data_OUT=Last_Data_OUT;
Last_Data_OUT=Data_OUT;; W9 j1 d6 d# `
return Data_OUT;7 r4 v) c8 v2 z" s& C% U
}: ] F$ n9 t/ M; i7 U; K
上面代码Gain即为matlab生成的Gain参数,b和a分别对应matlab中的Num参数与Dem参数,函数输入为带滤波的数据,返回为滤波后的数据,需要注意的是,我是按采样频率为1000HZ设计的,就必须要求该函数的执行周期为1ms,不然滤波效果就与期望的不符了。
æ´æºç §ç
饿§PCB
串å£å±ä¸ä½æº
发的多了就不用了
不错,支持
+ |0 i& L+ e- x: c1 f0 C
视频9 @0 V; S+ W9 @ l* K