下載時(shí)選擇內(nèi)部時(shí)鐘24MHZ, 設(shè)置用戶EEPROM大小為2K或以上. MC6B六通道2.4G 100mW.
四軸上電待機(jī):上電后,航燈不亮,接收機(jī)LED閃爍,此時(shí)打開(kāi)遙控器,將左右油門(mén)下拉到最小,接收機(jī)收到信號(hào)LED常亮. 表示RF通訊已連接。此時(shí)蜂鳴器"嗶"一聲,航燈閃爍,表示待機(jī)模式。
四軸啟動(dòng):將遙控器左右操縱桿掰成下內(nèi)八,啟動(dòng)四軸,四軸"嗶"一聲,4個(gè)螺旋槳開(kāi)始低速旋轉(zhuǎn),航燈常亮。 此后提升油門(mén),就可以加速螺旋槳,直到起飛。
四軸飛行:起飛后,可以操縱右手的俯仰、橫滾操縱桿,實(shí)現(xiàn)前后左右或任意方向的飛行。左手油門(mén)桿左掰是航向逆時(shí)針轉(zhuǎn),右掰是航向順時(shí)鐘轉(zhuǎn)。
四軸下降停止:收油門(mén),四軸逐漸下降到地面,然后兩操縱桿掰成下外八,停止四軸,重新處于待機(jī)模式。
四軸水平校準(zhǔn):將四軸放置于水平地面,處于待機(jī)模式,然后兩操縱桿掰成上內(nèi)八,四軸"嗶"一聲進(jìn)入校準(zhǔn),完成后"嗶嗶"兩聲完成校準(zhǔn)。
四軸取消水平校準(zhǔn):將四軸放置于水平地面,處于待機(jī)模式,然后兩操縱桿掰成上外八,四軸"嗶"一聲取消校準(zhǔn)。取消水平校準(zhǔn)或未進(jìn)行水平校準(zhǔn)過(guò)的四軸,起飛時(shí)即使無(wú)風(fēng)也可能會(huì)有明顯漂移。
電池低壓報(bào)警:當(dāng)電池低壓時(shí),蜂鳴器"嗶嗶"報(bào)警,同時(shí)航燈閃爍,此時(shí)請(qǐng)盡快回航降落。
無(wú)遙控信號(hào)異常:當(dāng)四軸在空中突然收不到遙控信號(hào)時(shí),四軸蜂鳴器發(fā)出"嗶嗶嗶"報(bào)警,同時(shí)航燈閃爍,四軸保持水平,逐漸自動(dòng)減小油門(mén)降落。
以上這些是要實(shí)現(xiàn)的功能:
定義串口的波特率,串口的數(shù)據(jù)包長(zhǎng)度,下面昨天看的驅(qū)動(dòng),最后是IO的定義。
矯正參數(shù)就是置0,還有就是一些姿態(tài)角的初始定義,歐拉角,角度和加速度。
歐拉角是由三個(gè)角組成,這三個(gè)角分別是Yaw,Pitch,Roll。
Yaw 表示繞y軸旋轉(zhuǎn)的角度,Pitch表示繞x軸旋轉(zhuǎn)的角度,Roll表示繞z軸旋轉(zhuǎn)的角度。
也就是說(shuō),任意的旋轉(zhuǎn)角度都可以通過(guò)這三次按照先后順序旋轉(zhuǎn)得到。
歐拉角的定義
tmp是中間變量,下面是中位的遙控變量
IMU的緩存數(shù)組
一個(gè)定時(shí)器就可以生成 PPM簡(jiǎn)單的將多個(gè)通道的數(shù)值一個(gè)接一個(gè)合并進(jìn)一個(gè)通道,用2個(gè)高電平之間的寬度來(lái)表示一個(gè)通道的值。
PPM協(xié)議最多傳輸10個(gè)通道,使用一個(gè)定時(shí)器就可以輕松解決了。因?yàn)槊恳粠盘?hào)的尾部必須加入一個(gè)足夠長(zhǎng)的空白(顯著超過(guò)一個(gè)正常PWM信號(hào)的寬度)來(lái)分隔前后兩個(gè)信號(hào),每一幀能傳輸?shù)男盘?hào)通道最多只能到10個(gè)。
串口的一些配置
校準(zhǔn)里面的一些變量
PPM定時(shí)器的一個(gè)計(jì)算
串口1的配置
這個(gè)是中斷的配置
打印字符串
串口的信息寫(xiě)到緩存區(qū)
數(shù)字和字符的轉(zhuǎn)換
返回的參數(shù)信息
設(shè)置Timer2作為波特率生成器
只有在規(guī)定的桿位下才可以進(jìn)入校準(zhǔn)序列
校準(zhǔn)3個(gè)組件
這個(gè)是具體的細(xì)節(jié),也沒(méi)有什么好說(shuō)的
可以復(fù)用的代碼,最后輸出的是角度信息
代碼的端口先重置一下
后面設(shè)置PWM的引腳
初始化ADC功能
捕獲中斷
這個(gè)讀取陀螺儀的靜止誤差是寫(xiě)到EEPROM里面的
四軸上電待機(jī):上電后,航燈不亮,接收機(jī)LED閃爍,此時(shí)打開(kāi)遙控器,將左右油門(mén)下拉到最小,接收機(jī)收到信號(hào)LED常亮。
在一個(gè)大循環(huán)里面跑倆個(gè)任務(wù),一個(gè)是解碼PPM的具體數(shù)字信號(hào),二是在中斷里面檢測(cè)一些特殊的打桿指令進(jìn)入一些功能,還會(huì)有電壓,蜂鳴器這些功能。
這個(gè)PPM的解碼,很簡(jiǎn)單
通過(guò)算里面的脈寬來(lái)決定桿量
這個(gè)就是具體拿到以后校驗(yàn)和裝載的過(guò)程
算好的值加到這里,給PWM輸出去
8ms???是個(gè)8ms的中斷嗎?
定義在這里
開(kāi)始進(jìn)入校準(zhǔn)的步驟
這個(gè)是電壓的測(cè)量和蜂鳴器的控制
另一段測(cè)量
最后是上次講的一個(gè)定義
這個(gè)是串口的處理
這個(gè)就是串口的發(fā)送功能。
審核編輯:劉清
-
led
+關(guān)注
關(guān)注
240文章
22907瀏覽量
650144 -
接收機(jī)
+關(guān)注
關(guān)注
8文章
1158瀏覽量
53172 -
EEPROM
+關(guān)注
關(guān)注
9文章
1002瀏覽量
81061 -
蜂鳴器
+關(guān)注
關(guān)注
12文章
887瀏覽量
45691
原文標(biāo)題:?STC8A無(wú)人機(jī)(實(shí)現(xiàn)篇)
文章出處:【微信號(hào):TT1827652464,微信公眾號(hào):云深之無(wú)跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論