|
注釋不錯(cuò)的源碼,分享給愛(ài)學(xué)習(xí)的
0.png (43.69 KB, 下載次數(shù): 78)
下載附件
2019-2-17 03:43 上傳
全部資料51hei下載地址:
領(lǐng)航者飛控源碼.zip
(11.35 MB, 下載次數(shù): 156)
2019-2-16 22:30 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
APB1 42m
APB2 84m
TIMx clk = APBx *2
中斷優(yōu)先級(jí):
第0組:所有4位用于指定響應(yīng)優(yōu)先級(jí);
第1組:最高1位用于指定搶占式優(yōu)先級(jí),最低3位用于指定響應(yīng)優(yōu)先級(jí);
第2組:最高2位用于指定搶占式優(yōu)先級(jí),最低2位用于指定響應(yīng)優(yōu)先級(jí);
第3組:最高3位用于指定搶占式優(yōu)先級(jí),最低1位用于指定響應(yīng)優(yōu)先級(jí);
第4組:所有4位用于指定搶占式優(yōu)先級(jí)。
|先搶占,再響應(yīng)|
1)如果指定的搶占式優(yōu)先級(jí)別或響應(yīng)優(yōu)先級(jí)別超出了選定的優(yōu)先級(jí)分組所限定的范圍,將可能得到意想不到的結(jié)果;
2)搶占式優(yōu)先級(jí)別相同的中斷源之間沒(méi)有嵌套關(guān)系;
3)如果某個(gè)中斷源被指定為某個(gè)搶占式優(yōu)先級(jí)別,又沒(méi)有其它中斷源處于同一個(gè)搶占式優(yōu)先級(jí)別,則可以為這個(gè)中斷源指定任意有效的響應(yīng)優(yōu)先級(jí)別。
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開(kāi)始。
2015.5.18
beta 0.4 修復(fù)各種bug。
2015.5.19
beta 0.5 完善搖桿識(shí)別。
beta 0.6 pwm_in優(yōu)化
beta 0.7 修復(fù)bug,優(yōu)化rc,添加mapping
beta 0.9 起飛成功
beta 1.0 修復(fù)控制周期bug
beta 1.1 添加部分注釋
beta 1.2 優(yōu)化整定參數(shù),修改bug
beta 1.3 完成flash存儲(chǔ),上位機(jī)HID通信
beta 1.35 增加磁力計(jì)糾正航向
beta 1.36 增加磁力計(jì)校準(zhǔn)時(shí)燈管提示
beta 1.37 增加mpu6050,ak8975,ms5611自檢,未通過(guò)的LED狀態(tài)分別是:間隔連續(xù)閃爍1次;間隔連續(xù)閃爍2次;間隔連續(xù)閃爍3次
beta 1.37.1 增加滑動(dòng)窗口平均濾波函數(shù),增加ks103超聲波讀取,該版?zhèn)浞荨?br />
beta 1.37.2 添加user數(shù)據(jù),上位機(jī)顯示波形,串口超聲波改發(fā)送中斷。
beta 1.37.3 添加部分注釋,修改部分變量名,增加ano_private.lib。
beta 1.38 添加超聲波控制代碼(注意!暫未測(cè)試),修改磁力計(jì)糾正算法(重要更新),消除磁力計(jì)糾正YAW時(shí)對(duì)姿態(tài)的干擾。刪除ano_pribate.lib
beta 1.39 修復(fù)上一版數(shù)據(jù)傳輸一個(gè)小bug,添加環(huán)形緩存。
beta 1.39.1 超聲波直接控制高度,還有問(wèn)題。
beta 1.40 超聲波定高ok,暫沒(méi)優(yōu)化參數(shù),沒(méi)加上位機(jī)調(diào)參。可改慣導(dǎo)豎直方向速率控制。
beta 1.40.1
#define CTRL_HEIGHT 1 //0失能,1使能
#define HEIGHT_MODE 1 //0,無(wú),1慣性控制高度,2氣壓計(jì)控制(空),3超聲波控制高度
beta 1.41 修復(fù)磁力計(jì)糾正的一個(gè)bug。
beta 1.42 us100超聲波定高穩(wěn)定
beta 1.43
1.模式0(呼吸白,解鎖綠長(zhǎng)),普通,油門(mén)直接輸出。模式1(呼吸淺綠,解鎖淺綠長(zhǎng)),垂直速率控制(下一步改為氣壓定高)。模式2(呼吸紫,解鎖紫長(zhǎng)),超聲波定高。
2.飛行時(shí),只能向模式0切換,其他切換無(wú)效。
3.只有插上超聲波,模式3才有效。(這個(gè)未優(yōu)化,比如臨時(shí)拔下超聲波,也能進(jìn)入該模式。)
beta 1.44
修復(fù)定高控制中積分的bug,優(yōu)化超聲波定高,優(yōu)化高度設(shè)定值調(diào)節(jié)速度。增加超聲波最大高度,可達(dá)到到1.5米比較穩(wěn)定(高度越低越穩(wěn)定)。
beta 1.46
氣壓計(jì)定高,測(cè)試版(無(wú)高度靜差修正)。
beta 1.47
氣壓計(jì)定高,測(cè)試版(無(wú)高度靜差修正)。改進(jìn)磁力計(jì)糾正算法,解決磁力計(jì)糾正時(shí)對(duì)姿態(tài)的干擾,修正磁力計(jì)糾正中180度的一個(gè)錯(cuò)誤。
beta 1.48
修復(fù)氣壓計(jì)速率的一個(gè)bug,并調(diào)整可控制的速率。
beta 1.48.1
注釋掉while(1);
beta 1.49 電賽版本,完善通信協(xié)議中串口接收通道數(shù)據(jù)部分。
beta 1.49.2 修改氣壓計(jì)定高速率環(huán)積分部分,優(yōu)化定高效果。
beta 1.49.3 濾波算法測(cè)試。
beta 1.50 修改磁力計(jì)糾正方法
beta 1.50.2 增加羅盤(pán)傾斜糾正,修復(fù)數(shù)據(jù)傳輸一個(gè)bug。
beta 1.51 修改氣壓計(jì)融合,定高控制等幾處小bug
beta 1.52 修改超聲波定高一個(gè)小bug
beta 1.6 細(xì)節(jié)優(yōu)化&新參數(shù)
beta 1.6.2 修正羅盤(pán)原始數(shù)據(jù)的一個(gè)錯(cuò)誤。
beta 1.6.2_fix 上版漏掉一句代碼,導(dǎo)致解鎖后yaw混亂,I'm sorry。。。
beta 1.6.3 新融合策略,解決加速度零點(diǎn)漂移(水平姿態(tài))。
beta 1.6.4 修復(fù)連接usb后,復(fù)位單片機(jī)偶爾卡死的問(wèn)題;修復(fù)上版氣壓速度融合的小錯(cuò)誤;修復(fù)LED的GPID初始化結(jié)構(gòu)體未給初值造成可能出錯(cuò)的問(wèn)題。
beta 1.6.5 小更新,增加加速度計(jì)判斷,解決6050不同批次量程問(wèn)題。
|
評(píng)分
-
查看全部評(píng)分
|