|
時(shí)至今日,四軸的硬件調(diào)試工作已經(jīng)基本完成。主機(jī)與飛控板的程序構(gòu)架已基本完成(AD調(diào)速還有待測試),經(jīng)過多次測試程序運(yùn)行達(dá)到預(yù)期效果。用超聲波模塊定高,遙控器程序設(shè)計(jì)了兩種工作模式:1,通過觸摸屏按鈕控制電機(jī)逐級(jí)加減速;2,通過電位器實(shí)現(xiàn)AD無極調(diào)速;為此,花了38元買了一個(gè)美國進(jìn)口20K的電位器;老貴了!
在組織,編寫主機(jī)與飛控板的程序構(gòu)架和硬件測試時(shí)主要遇到了兩個(gè)問題:1,電調(diào)的設(shè)置問題;2,NRF模塊無線調(diào)速,電機(jī)抖動(dòng)的問題 。這個(gè)問題經(jīng)過分析測試,問題就出軟件方面,應(yīng)該是個(gè)程序bug。為解決這個(gè)問題,本人設(shè)計(jì)了一個(gè)簡單實(shí)用的通信協(xié)議,姑且叫協(xié)議吧;個(gè)人認(rèn)為比圓點(diǎn)博士的小四軸通信協(xié)議簡單實(shí)用。思路:定義一個(gè)4個(gè)元素?cái)?shù)組,第一個(gè)元素存儲(chǔ)命令,第二三個(gè)元素存儲(chǔ)調(diào)速數(shù)據(jù),第四個(gè)元素存儲(chǔ)校驗(yàn)值。
txbuf[0]=0xee;//4臺(tái)電機(jī)逐級(jí)加速命令
txbuf[1]=(tempsz/0xff); // tempsz是u16類型所以用兩個(gè)字節(jié)txbuf[1]和txbuf[2]存儲(chǔ),控制電機(jī)轉(zhuǎn)速
txbuf[2]=(tempsz%0xff);
txbuf[3]=(((txbuf[1]*255)+txbuf[2])%255);//校驗(yàn)值
NRF_Tx_Dat(txbuf);//搞定!
話外: 最近使用的華為手機(jī)老是出問題,通話過程中老是黑屏導(dǎo)致通話過程中無法操作手機(jī)。這個(gè)問題應(yīng)該是個(gè)硬傷!同時(shí)更應(yīng)該是軟件問題!對(duì)華為比較失望,國貨當(dāng)自強(qiáng)!
下一步就是核心問題了,要解決姿態(tài)控制問題了。PID數(shù)據(jù)要經(jīng)過大量測試,是個(gè)細(xì)活也是個(gè)技術(shù)活。四軸飛行器的核心技術(shù)就在于此!肯定還需要學(xué)習(xí)很多別人的經(jīng)驗(yàn),理論知識(shí)方面還需要做很多功課。
---- 王衍
|
|