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