标题: 领航者飞控STM32F407源码,已经全部注释,适合学习 [打印本页]

作者: Sunki    时间: 2018-10-1 14:20
标题: 领航者飞控STM32F407源码,已经全部注释,适合学习
飞控源代码,已经全部注释,适合学习


STM32F407单片机工程包:



APB1   42m
APB2   84m

TIMx clk = APBx *2

中断优先级:

第0组:所有4位用于指定响应优先级;
第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级;
第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级;
第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级;
第4组:所有4位用于指定抢占式优先级。
|先抢占,再响应|
1)如果指定的抢占式优先级别或响应优先级别超出了选定的优先级分组所限定的范围,将可能得到意想不到的结果;
2)抢占式优先级别相同的中断源之间没有嵌套关系;
3)如果某个中断源被指定为某个抢占式优先级别,又没有其它中断源处于同一个抢占式优先级别,则可以为这个中断源指定任意有效的响应优先级别。




wz_acc_mms2 = (wz_acc/4096.0f) *10000 + hc_acc_i;

hc_acc_i += 0.4f *T *( (wz_speed - wz_speed_old)/T - wz_acc_mms2 );


wz_acc_mms2 = (wz_acc/4096.0f) *10000 + (hc_acc_lpf - wz_acc_mms2);

hc_acc_lpf += 0.4f *T *( (wz_speed - wz_speed_old)/T - hc_acc_lpf );

把hc_acc_i代成(hc_acc_lpf - wz_acc_mms2),然后后边等效,就有了。
注意wz_speed里边包含hc_acc_i的积分,两次wz_speed做差后,又得到hc_acc_i单次的值。



事件记录,beta0.4开始。


2015.5.18
beta 0.4  修复各种bug。



2015.5.19
beta 0.5  完善摇杆识别。


beta 0.6  pwm_in优化


beta 0.7  修复bug,优化rc,添加mapping


beta 0.9  起飞成功
beta 1.0  修复控制周期bug


beta 1.1  添加部分注释

beta 1.2  优化整定参数,修改bug

beta 1.3  完成flash存储,上位机HID通信

beta 1.35 增加磁力计纠正航向

beta 1.36 增加磁力计校准时灯管提示

beta 1.37 增加mpu6050,ak8975,ms5611自检,未通过的LED状态分别是:间隔连续闪烁1次;间隔连续闪烁2次;间隔连续闪烁3次

beta 1.37.1 增加滑动窗口平均滤波函数,增加ks103超声波读取,该版备份。

beta 1.37.2 添加user数据,上位机显示波形,串口超声波改发送中断。

beta 1.37.3 添加部分注释,修改部分变量名,增加ano_private.lib。

beta 1.38 添加超声波控制代码(注意!暂未测试),修改磁力计纠正算法(重要更新),消除磁力计纠正YAW时对姿态的干扰。删除ano_pribate.lib

beta 1.39 修复上一版数据传输一个小bug,添加环形缓存。

beta 1.39.1 超声波直接控制高度,还有问题。

beta 1.40 超声波定高ok,暂没优化参数,没加上位机调参。可改惯导竖直方向速率控制。

beta 1.40.1
#define CTRL_HEIGHT 1       //0失能,1使能
#define HEIGHT_MODE 1       //0,无,1惯性控制高度,2气压计控制(空),3超声波控制高度

beta 1.41 修复磁力计纠正的一个bug。

beta 1.42 us100超声波定高稳定

beta 1.43
1.模式0(呼吸白,解锁绿长),普通,油门直接输出。模式1(呼吸浅绿,解锁浅绿长),垂直速率控制(下一步改为气压定高)。模式2(呼吸紫,解锁紫长),超声波定高。
2.飞行时,只能向模式0切换,其他切换无效。
3.只有插上超声波,模式3才有效。(这个未优化,比如临时拔下超声波,也能进入该模式。)


beta 1.44
修复定高控制中积分的bug,优化超声波定高,优化高度设定值调节速度。增加超声波最大高度,可达到到1.5米比较稳定(高度越低越稳定)。

beta 1.46
气压计定高,测试版(无高度静差修正)。

beta 1.47
气压计定高,测试版(无高度静差修正)。改进磁力计纠正算法,解决磁力计纠正时对姿态的干扰,修正磁力计纠正中180度的一个错误。

beta 1.48
修复气压计速率的一个bug,并调整可控制的速率。

beta 1.48.1
注释掉while(1);

beta 1.49 电赛版本,完善通信协议中串口接收通道数据部分。

beta 1.49.2 修改气压计定高速率环积分部分,优化定高效果。

beta 1.49.3 滤波算法测试。

beta 1.50 修改磁力计纠正方法

beta 1.50.2 增加罗盘倾斜纠正,修复数据传输一个bug。

beta 1.51 修改气压计融合,定高控制等几处小bug

beta 1.52 修改超声波定高一个小bug

beta 1.6 细节优化&新参数

beta 1.6.2 修正罗盘原始数据的一个错误。

beta 1.6.2_fix 上版漏掉一句代码,导致解锁后yaw混乱,I'm sorry。。。

beta 1.6.3 新融合策略,解决加速度零点漂移(水平姿态)。

beta 1.6.4 修复连接usb后,复位单片机偶尔卡死的问题;修复上版气压速度融合的小错误;修复LED的GPID初始化结构体未给初值造成可能出错的问题。

beta 1.6.5 小更新,增加加速度计判断,解决6050不同批次量程问题。


全部资料51hei下载地址:
领航者飞控源码.7z (1.19 MB, 下载次数: 208)



作者: INSPIRER    时间: 2018-11-14 13:48
牛逼啊
作者: xx14615    时间: 2018-11-20 18:09
感谢,我要学习学习
作者: superzns    时间: 2019-3-20 15:04
牛逼牛逼
作者: 610629422    时间: 2019-3-21 18:11
学习一下

作者: suhao666    时间: 2019-6-17 19:13
支持一下顶一下
作者: 暗香盛秀    时间: 2019-6-18 14:54
楼主好样的,向楼主学习
作者: 辰宿列张    时间: 2019-7-6 10:53
感谢分享
作者: 0xAct7and0    时间: 2019-9-19 09:21
lib是封装的吗
作者: earvin_rain    时间: 2019-9-19 10:17
很好的资料,谢谢楼主,学习一下。。。。
作者: 结合国    时间: 2019-9-19 14:23
感谢分享,支持一下
作者: prettytank    时间: 2019-9-19 16:01
很好,收藏下
作者: gmail2009@qq.co    时间: 2019-11-12 11:35
牛逼,下载学习学习!!!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1