四旋翼飛行器遙控發(fā)射接收系統(tǒng)設(shè)計(jì)
《四旋翼飛行器遙控發(fā)射接收系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《四旋翼飛行器遙控發(fā)射接收系統(tǒng)設(shè)計(jì)(37頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、溫網(wǎng)大學(xué)成布學(xué)優(yōu) CITY COLLEGE Wenzhou University J 本科畢業(yè)設(shè)計(jì)(論文) (2012 屆) 題目:四旋翼飛行器遙控發(fā)射接收系統(tǒng)設(shè)計(jì) 分 院: 信息工程分院 專 業(yè): 電氣工程及其自動(dòng)化 班 級: 12電氣本1 姓 名: 趙浩鋒 學(xué) 號(hào): 12303653144 指導(dǎo)老師: 孫躍 完成時(shí)間: 2016年3月 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 溫州大學(xué)城市學(xué)院 學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所提交的學(xué)位論文是本人在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作 所取得的研究成果。除文中已經(jīng)加以標(biāo)注引用的內(nèi)容外,本論文不包含其他
2、個(gè)人或 集體已經(jīng)發(fā)表或撰寫過的研究成果,也不含為獲得溫州大學(xué)城市學(xué)院或其它教育機(jī) 構(gòu)的學(xué)位證書而使用過的材料。對本文的研究作出重要貢獻(xiàn)的個(gè)人和集體,均已在 文中以明確方式標(biāo)明。本人承擔(dān)本聲明的法律責(zé)任。 作者簽名: 日期:年 月 日 學(xué)位論文版權(quán)使用授權(quán)書 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留 并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本 人授權(quán)溫州大學(xué)城市學(xué)院可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn) 行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。 本學(xué)位論文屬于 1、保密口,在 年解密后適用本授權(quán)
3、書。 2、不保密口。 (請?jiān)谝陨舷鄳?yīng)方框內(nèi)打 作者簽名: 日期: 年 月 日 導(dǎo)師簽名: 日期: 年 月 日 i 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 摘要:四旋翼飛行器以其結(jié)構(gòu)新穎、機(jī)動(dòng)性強(qiáng)、性能卓越等特點(diǎn),使其在軍事、民用及科技領(lǐng)域都 有很強(qiáng)的研究和應(yīng)用價(jià)值。由于它用四個(gè)螺旋槳進(jìn)行飛行, 因此它的飛行姿態(tài)保持能力比單旋翼飛行器 更強(qiáng),升降所需要的空間也較小, 且其在障礙物較多的情況下仍具有很強(qiáng)的操縱性。 根據(jù)這些特點(diǎn)四旋 翼飛行器比單旋翼飛行器更適合在室內(nèi)、街道、森林等復(fù)雜環(huán)境下的進(jìn)行拍攝和救災(zāi)工作。 本文以STM32處理器為核心;無線數(shù)據(jù)通訊模塊采用的是 N
4、RF21L01模塊實(shí)現(xiàn)。 經(jīng)過試驗(yàn),飛行器能夠準(zhǔn)確接收到來自地面的控制指令并完成相應(yīng)的飛行任務(wù), 實(shí)現(xiàn)垂直起降、懸 停等飛行姿態(tài)。 關(guān)鍵詞:四旋翼飛行器;無線通信;微控制器 4 Abstract: Four-rotor aircraft for its novel structure, high mobility, high performance features, making the military, civilian and scientific and technological fields have a strong research and applicatio
5、n. Because it uses four propellers flight, flight attitude so that the ability to maintain greater than single-rotor, the space required for the lift is small, and it still has a strong maneuverability in case more obstacle. According to these characteristics four-rotor aircraft more suitable than s
6、ingle-rotor aircraft shooting and relief work in the interior, streets, forests and other complex environments. In this paper, core processor is used STM32; wireless data communication module is used NRF21L01 modules. After testing, the aircraft can accurately control commands received from the gr
7、ound and complete the mission, achieve vertical takeoff and landing, hovering and other flying attitude. Key Words : Four-rotor aircraft; Wireless communication; Microcontroller 目錄 摘要 II Abstract III 一、緒論 1 (一)課題研究的目的和意義 1 (二)國內(nèi)外發(fā)展及研究現(xiàn)狀 1 1 .國內(nèi)四旋翼飛行器的研究 1 2 .國外四旋翼飛行器的研究 1 二、總體方案設(shè)計(jì) 3 (
8、一)總體設(shè)計(jì)原理 3 (二)總體設(shè)計(jì)方案 3 1 .系統(tǒng)硬件電路設(shè)計(jì)方案 3 2 .各部分功能作用 3 3 .系統(tǒng)軟件設(shè)計(jì)方案 4 三、硬件電路設(shè)計(jì) 5 4 .無線通信模塊電路設(shè)計(jì) 6 5 .實(shí)物介紹 9 四、系統(tǒng)軟件設(shè)計(jì) 10 (一)Keil MDK5.12 簡介 10 1 . Keil MDK 概述 10 2 . Keil MDK 功能特點(diǎn) 10 (二)軟件設(shè)計(jì)框圖 10 結(jié)論 12 致說甘 13 參考文獻(xiàn) 14 附錄 15 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 一、緒論 本章主要介紹了關(guān)于四旋翼飛行器研究的背景和意義, 和國內(nèi)外
9、高校以及研究機(jī)構(gòu)對四旋翼飛行器 研究的現(xiàn)狀。本章主要由課題研究的目的和意義, 國內(nèi)外四旋翼飛行器的研究和論文的主要研究內(nèi)容等 幾個(gè)部分組成。 (一)課題研究的目的和意義 隨著微電子、微導(dǎo)航、微機(jī)電技術(shù)的廣泛運(yùn)用, 無人機(jī)技術(shù)很快就在全世界范圍內(nèi)掀起了研究熱潮, 并得到了快速且長足的發(fā)展。相對于其他無人機(jī)而言,四旋翼飛行器的結(jié)構(gòu)較為簡單,成本也相對較低, 方便維修和護(hù)理。除此之外,四旋翼飛行器還具有體積小、重量輕、控制靈活方便、可垂直起降、懸停 等特點(diǎn),不論是在軍事領(lǐng)域或是民用領(lǐng)域都得到了非常廣泛的運(yùn)用。 (二)國內(nèi)外發(fā)展及研究現(xiàn)狀 1 .國內(nèi)四旋翼飛行器的研究 目前,我國的一些高
10、校和科研機(jī)構(gòu)在四旋翼飛行器的研究上也取得了長足的發(fā)展。 比如國防科技大 學(xué),哈爾濱工業(yè)大學(xué)和南京航空航天大學(xué)等。國防科技大學(xué)早就在 2004年開始研究微小型飛行器的相 關(guān)技術(shù),是我國最早一批開展對四旋翼飛行器研究的高校之一,他們使用了自抗擾控制器( ADRC)算 法以及反步法這兩種方法來對四旋翼飛行器的控制系統(tǒng)進(jìn)行設(shè)計(jì)。 在接下來的幾年里,南京航空航天大 學(xué)、南京理工大學(xué)等等高校也進(jìn)行了對四旋翼飛行器的理論分析和計(jì)算機(jī)仿真, 并都制作了屬于自己的 四旋翼飛行器。 同時(shí),四旋翼飛行器在商業(yè)上的應(yīng)用也越來越廣泛,在 2013年9月3日,順豐就在廣東東莞松山 湖區(qū)域進(jìn)行了無人機(jī)送貨內(nèi)測。
11、順豐自主研發(fā)了該無人機(jī)的內(nèi)置導(dǎo)航系統(tǒng),該飛行器飛行高度約為 100 米,落點(diǎn)誤差基本上能夠控制在方圓兩米以內(nèi), 同時(shí)可以對路線和目的地來進(jìn)行預(yù)先設(shè)定。 如果測試可 行,就可以大量減少人力成本。 除此以外,越來越多的四旋翼飛行器以一種娛樂設(shè)備的形式出現(xiàn)在大眾的視線里。 通常這種四旋翼 飛行器都攜帶著攝像頭,用戶可以通過手持設(shè)備來對飛行器進(jìn)行控制,以此來給用戶帶來樂趣。 2 .國外四旋翼飛行器的研究 國外四旋翼飛行器的發(fā)展非常迅速, 因?yàn)樗麄冊谶@一領(lǐng)域已經(jīng)擁有了非常悠久的歷史, 同時(shí)還有著 深厚底蘊(yùn)的研發(fā)團(tuán)隊(duì)。四旋翼飛行器在多旋翼無人飛行器中是較為常見的一種類型 ,其對硬件平臺(tái)的要
12、 求較高,相應(yīng)的難度也較大。國外有很多高校和科研機(jī)構(gòu)都做出了一定的成果,有進(jìn)行室外研究和室內(nèi) 研究的,其中進(jìn)行室外研究的有美國斯坦福大學(xué), 日本千葉大學(xué)以及美國奧克蘭大學(xué)和法國貢比涅技術(shù) 大學(xué)等。進(jìn)行室內(nèi)的有美國麻省理工大學(xué), 美國賓夕法尼亞大學(xué)和瑞士聯(lián)邦技術(shù)機(jī)構(gòu)等。 除了高校和科 研單位,國外的一些商業(yè)公司也加入到對四旋翼飛行器的研究行列,如美國的 Draganfly公司和德國的 Microdrone GbmH 公司等。 近年來,國外研發(fā)了很多高性能的飛行器。 在歐美發(fā)達(dá)國家四旋翼飛行器已經(jīng)在軍事和商業(yè)領(lǐng)域都 取得了非常顯著的成就。其中比較具有代表性的就是 Draganflyer
13、X4、Parrot AR.Drone Quadricopter。 Draganflyer X4是美國Draganfly Innovations Inc研發(fā)的遙控飛機(jī)。如圖 1.1所示。該飛行器具有良 好的可靠性和穩(wěn)定性,并且它還具有懸浮功能,對于拍攝有很大的幫助。當(dāng)控制器失控時(shí), 它甚至可以 實(shí)現(xiàn)自動(dòng)著陸,從而保證飛行器和攝像設(shè)備的安全。 圖1.1 3 二、總體方案設(shè)計(jì) (一)總體設(shè)計(jì)原理 本次設(shè)計(jì)硬件主要為遙控器部分,處理器采用 32位基于Cortex- M3內(nèi)核的STM32F103芯片,遙 控器和飛行器之間的數(shù)據(jù)通信采用的是 2.4G民用無線通信頻段的 NRF2
14、4L01模塊。遙控器外型類似與 游戲手柄。遙控器通過采集蘑菇頭搖桿電位器 ADC電壓值以及按鍵狀態(tài)發(fā)送給飛行器。 (二)總體設(shè)計(jì)方案 1 .系統(tǒng)硬件電路設(shè)計(jì)方案 本次設(shè)計(jì)采用IAP15W4K58S4微控制器作為 MCU ,并且均采用3.7V充電電池作為電源為系統(tǒng)供 電,電池通過 CAT2829芯片穩(wěn)壓到3.3V為MCU以及外設(shè)供電。遙控器端的主要硬件部分包括最小系 統(tǒng)、無線NRF24L01模塊、程序下載、ADC采集、蜂鳴器、LED指示燈以及串口調(diào)試,飛行器端硬件 主要部分有最小系統(tǒng)、程序下載,無線 NRF24L01模塊、電機(jī)驅(qū)動(dòng)、慣性測量單元 MPU6050以及LED 驅(qū)動(dòng)電路,其系統(tǒng)
15、總體框圖如下所示。 2 .各部分功能作用 (1) MCU控制中心 MCU是飛行器以及遙控器的控制中心,是它們的大腦,主要功能是采集數(shù)據(jù)和處理數(shù)據(jù)并做出指 示。本次設(shè)計(jì)采用的是 32位的基于ARM Cortex-3為內(nèi)核的STM32F103作為中央處理器。 (2)通信模塊 通信模塊在整個(gè)系統(tǒng)中起著信號(hào)交流的作用, 遙控器通過MCU讀取的按鍵信息以及油門方向值發(fā) 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 送到飛行器端,飛行器端接收到之后做出相應(yīng)的動(dòng)作。本次設(shè)計(jì)主要采用 NRF24L01無線通信模塊, 選擇該模塊的原因是因其通信協(xié)議簡單、傳輸距離相對較遠(yuǎn)、價(jià)格低廉等優(yōu)點(diǎn)。
16、(3) LED狀態(tài)指示 在硬件電路設(shè)計(jì)中,LED首先必須要有電源指示燈,從而判斷系統(tǒng)是否上電。同時(shí)還需要有信號(hào) 指示燈,指示遙控器和飛行器是否通信,最后就是狀態(tài)顯示 LED燈顯示飛行器狀態(tài)等等。 3.系統(tǒng)軟件設(shè)計(jì)方案 本次設(shè)計(jì)軟件部分包括遙控器程序以及飛行器的接收程序設(shè)計(jì)。遙控器程序設(shè)計(jì)主要包括有無線 NRF24L01發(fā)送、ADC電壓采集之后的處理、讀取按鍵狀態(tài)和 LED燈指示等,涉及的軟件包括 SPI通 信協(xié)議、ADC數(shù)模轉(zhuǎn)換、I/O 口驅(qū)動(dòng)等。飛行器端程序涉及部分主要包括 NRF24L01接收、LED狀態(tài) 燈等。 6 三、硬件電路設(shè)計(jì) (一)遙控器的硬件設(shè)計(jì) 如圖3.
17、1所示,遙控器主要由處理器、無線收發(fā)模塊和 4路搖桿器三部分組成。 主處理器及其最小系統(tǒng)的電路和飛行器的電路相同。 主要利用處理器片內(nèi)的 AD轉(zhuǎn)換器采集搖桿的 信息,然后將四路電位器的輸出引腳接到處理器的 AD轉(zhuǎn)換口,免去了外接AD轉(zhuǎn)換芯片以及配置電路 的麻煩,大大節(jié)省了硬件空間。無線收發(fā)模塊選用 E01-ML01DP3無線通信模塊模塊,傳輸距離大概在 1100m左右。 圖3. 1 遙控硬件配置: MCU : STM32F103 72Mhz 傳感器:MPU6050 3軸加速度、三軸陀螺儀 通信方式:NRF24L01、串口藍(lán)牙、串口 WIFI、串口 433等 通信芯片
18、:FT232串口芯片,串口波特率可以上 M ,輕松穩(wěn)定高速通信 1 .處理器 (1) 針對各公司單片機(jī)的優(yōu)缺點(diǎn)比較 從總體上來講,ARM的控制能力較強(qiáng),速度快功耗也低,價(jià)格也適中,同時(shí)還可以加操作系統(tǒng); DSP的速度最快,但同時(shí)價(jià)格更高, 更適用于高速信號(hào)處理系統(tǒng); C51更適用于簡單的控制,編程也簡 單方便,同時(shí)價(jià)格也更加實(shí)惠。 從運(yùn)算能力上看, 因?yàn)镃51是8位的;ARM是32位;DSP有16位,以及更高的。所以C51最弱, DSP最強(qiáng),ARM 比較中庸。 從結(jié)構(gòu)上看,C51是一般的馮諾依曼結(jié)構(gòu), ARM和DSP一般采用哈佛結(jié)構(gòu)。 從頻率上看,C51工作頻率最低,一般為 1
19、0~24MHz,因此功耗也低。ARM的功率一般在幾十到 200MHz之間。而DSP的頻率高達(dá)300MHz以上,同時(shí)功耗也大。 雖然C51的性能遠(yuǎn)不如其他兩種,但它的性價(jià)比很高,面積也非常小,還能配比非常豐富的外圍 電路,同時(shí),這些也限制了它的使用,因此 C51主要應(yīng)用于不需要太多計(jì)算量的系統(tǒng)。 ARM 相對于其他兩種的優(yōu)點(diǎn)在于其內(nèi)部的模塊或者總線接口功能十分豐富。同時(shí), ROM , RAM 較大,管腳也多。 (2) 芯片簡介 ARM Cortex-M3 采用哈佛結(jié)構(gòu),采用的是分離的指令以及數(shù)據(jù)總線,相比于馮諾依曼結(jié)構(gòu)而言處 理速度更快。 ARM Cortex-M3 在成本以及功
20、耗方面具有非常優(yōu)秀的性能,并且非常適用于汽車以及無線通信領(lǐng) 域。 STM32系列處理器是由 ST公司按照ARM Cortex-M3內(nèi)核標(biāo)準(zhǔn)打造的,其追求的是高性能、低成 本、低功耗。按照其性能可以分為增強(qiáng)型 STM32F103系列以及基本型 STM32F101系列兩種。 本設(shè)計(jì)中使用的是增強(qiáng)型 STM32F103。 概述:閃存 FLASH: 512K 字節(jié)、SRAM:64K、3 x USART、2 x SPI、2 x I2C、3 x 16 位定時(shí)器、 4-16 MHz主振蕩器、實(shí)時(shí)鐘、2 x看門狗、復(fù)位電路、上電/斷電復(fù)位、電壓檢測、7通道DMA、80%通 用I/O管腳、內(nèi)嵌8 MHz的
21、RC振蕩器、和32 kHz的RC振蕩器、72MHz CPU、2 x 12位ADC(1ms)溫 度傳感器、USB 2.0全速、CAN 2.0B、PWM定時(shí)器。 2 .無線通信模塊電路設(shè)計(jì) 本次設(shè)計(jì)無線通信模塊采用的是 NRF24L01模塊。NRF24L01模塊。NRF24L01具有以下特性: 真正的GFSK單收發(fā)芯片 內(nèi)置鏈路層 增強(qiáng)型 ShockBurstTM 自動(dòng)應(yīng)答及自動(dòng)重發(fā)功能 地址及CRC檢驗(yàn)功能 數(shù)據(jù)傳輸率1或2Mbps SPI接口數(shù)據(jù)速率 0~8Mbps 125個(gè)可選工作頻道 很短的頻道切換時(shí)間可用于調(diào)頻 與NRF24XX系列完全兼容 可接受5V電平的輸入
22、 極低的晶振要求 60Ppm 工作電壓1.9~3.6V 四旋翼無人機(jī)要將數(shù)據(jù)傳輸?shù)降孛?,操作者將操作指令發(fā)送給無人機(jī),這些都需要通過無線數(shù)據(jù)通 信來實(shí)現(xiàn),本設(shè)計(jì)選用了 E01-ML01DP3無線通信模塊,這是一款 2.4G無線通信模塊,采用原裝進(jìn)口 的nRF24L01P芯片,配備20dBm功率放大芯片,使模塊最大發(fā)射功率達(dá)到了 100mW (20dBm),并 同時(shí)將接收靈敏度提升到 10dBm,使得模塊超過 nRF24L01P本身10倍以上的發(fā)射距離,傳輸距離 可以達(dá)到1100m。E01-ML01DP3 模塊實(shí)物如圖 3.2所示。E01-ML01DP3模塊引腳及尺寸下圖 3.3所
23、 示。模塊與模塊之間采用 2.4G無線網(wǎng)絡(luò)頻段通信,其電路原理圖如圖 3.4所示。無線NRF24L01模塊 與MCU之間連接口如表 3-1所示。 圖3.2 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) CE rsN SCK 1 CiND 3. CE 5. SCK 7. M1SO 2 VCC 4. CSN 6 MOSI 比IRQ ①③©© J 丁 I 三三sz 2.54mm 圖3.3 MDS1 MISO c a.iur 11 1|卜1 W VC匚 JJV L- |mxb_jjv CE 口 lh 0 vss St K
24、 ANT2 Nimi ANTI VTJD FA NRFMUH MiSG IRQ .11 mm SMA AVTENXA ▽ 工7nH Jr"Y"Y"Y"Y MH* W L T□聲 =5=C】1 ItAtJb =!=< 13 uau * wrjjxj 圖3.4 表3-1 MCU引腳 NRF24L01 引腳 功能 PA3 CE 使能發(fā)送或接收 PA4 CSN SPI片選信號(hào) PA5 SCK SPI時(shí)鐘隹T號(hào) PA6 MOSI SPI數(shù)據(jù)輸入腳 PA7 MISO SPI數(shù)
25、據(jù)輸出腳 (1)模塊簡介 E01-ML01DP3 模塊弓I腳描述 引腳序號(hào) 名稱 力向 描述 1 GND / 地線,連接到電源參考地 2 VCC / 供電電源,必須 2.0-3.6V 之間 3 CE 輸入 模塊控制引腳 4 CSN 輸入 模塊片選引腳,用于開好L個(gè) SPI通信 5 SCK 輸入 模塊SPI總線時(shí)鐘 6 MOSI 輸入 模塊SPI數(shù)據(jù)輸入引腳 7 MISO 輸出 模塊SPI數(shù)據(jù)輸出引腳 8 IRQ 輸出 模塊中斷信號(hào)輸出,低電平有效 E01-ML01DP3 模塊的參數(shù) 序號(hào) 參數(shù)名稱
26、參數(shù)數(shù)值 備注 1 模塊尺寸 15*27mm 不含SMA天線座 2 接口方式 2.54*2*4 可使用2.54標(biāo)準(zhǔn)杜邦線,可口于萬能板 3 供電電壓 2.0-3.6V 注意:高于3.6V電壓,將導(dǎo)致模塊永久損毀 4 通信電平 0.7VDD-5V VDD指模塊供電電壓 5 實(shí)測距離 1157m 條件:市區(qū),空曠,30 C,可視,陰天,250K 6 取大功率 20dBm 約合100mW 7 空中速率 250K, 1M, 2M ;二種速率可以軟件倜節(jié) 8 關(guān)斷電流 1uA :nRF24L01P設(shè)置為掉電,CE低電平 9 功率等級
27、 4級可調(diào) PA芯片功率不可調(diào) 10 發(fā)射電流 95mA 峰值 11 接受電流 20mA CE=1 12 天線接口 SMA 外螺內(nèi)孔型 13 天線要求 SMA 內(nèi)螺內(nèi)針,2.4G頻段,50歐姆阻抗 14 通信接口 SPI 最高速率10Mbps 15 發(fā)射長度 32字節(jié) 單個(gè)數(shù)據(jù)包32字節(jié)最大,3級FIFO 16 接收長度 32字節(jié) 單個(gè)數(shù)據(jù)包32字節(jié)最大,3級FIFO 17 RSSI支持 不支持 [僅支持簡單的丟包統(tǒng)計(jì) 18 工作溫度 -30~85 C 無 19 工作濕度 <90%相對濕度 無 20 儲(chǔ)
28、存溫度 -40~+120 C 無 21 工作頻段 2.4G 2.400~2.525 可調(diào),1MHz 步進(jìn) SPI是一種串行同步通訊協(xié)議,由一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備組成,主設(shè)備啟動(dòng)一個(gè)與從設(shè)備 的同步通訊,從而實(shí)現(xiàn)數(shù)據(jù)的交換。SPI接口由MOSI (串行數(shù)據(jù)輸入),MISO (串行數(shù)據(jù)輸出),SCK(串 行移位時(shí)鐘),CS (從使能信號(hào))四種信號(hào)構(gòu)成, CS決定了唯一的與主設(shè)備通信的從設(shè)備,如果沒有 CS信號(hào),則只能存在一個(gè)從設(shè)備,主設(shè)備通過產(chǎn)生移位時(shí)鐘來發(fā)起通訊。通訊時(shí),數(shù)據(jù)由 MISO輸出, MOSI輸入,數(shù)據(jù)在時(shí)鐘的上升或下降沿由 MISO輸出,在緊接著的下降或
29、上升沿由 MOSI讀入,這樣 經(jīng)過8/16次時(shí)鐘改變,完成 8/16位數(shù)據(jù)的傳輸。 3 .實(shí)物介紹 實(shí)物操作細(xì)節(jié)如下所示: 第一步: 上電:首先給遙控器上電,等待遙控器 LED信號(hào)燈閃爍之后再給飛行器上電。第一步必須這樣做, 這樣做是為防止飛行器先上電之后接收到無線信號(hào)不準(zhǔn)確從而導(dǎo)致飛行器出現(xiàn)不確定的飛行情況。 解鎖:遙控器的左手油門拉到最低,就解鎖了,解鎖成功后,飛機(jī)上的電源指示燈旁邊的一個(gè)黃色 指示燈,遙控接收配對燈,會(huì)亮,表示遙控器解鎖成功。否側(cè),解鎖失敗!拔掉遙控器電源,黃色無線 指示燈會(huì)熄滅。 第二步: 打開飛機(jī)電源后,要等待 20秒,才開始推動(dòng)飛機(jī)的油門,先是慢慢推
30、動(dòng)飛機(jī)的油門,等待飛機(jī)的 葉子轉(zhuǎn)速都均勻,快要離開地面的時(shí)候,才突然加大油門。 注意:上電順序不能弄反,操作需緩慢進(jìn)行,飛行器別在狹小的空間飛行。 實(shí)物圖如圖3.5所示 圖3.5 9 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 四、系統(tǒng)軟件設(shè)計(jì) (一)Keil MDK5.12 簡介 1. Keil MDK 概述 Keil MDK ,也稱 MDK-ARM , Realview MDK、I-MDK、uVision4 等。目前 Keil MDK 由三家 國內(nèi)代理商提供技術(shù)支持和相關(guān)服務(wù)。 MDK-ARM 軟件為基于 Cortex-M、Cortex-R4、ARM7、ARM9處
31、理器設(shè)備提供了一個(gè)完整的開發(fā) 環(huán)境。MDK-ARM 專為微控制器應(yīng)用而設(shè)計(jì),不僅易學(xué)易用,而且功能強(qiáng)大,能夠滿足大多數(shù)苛刻的 嵌入式應(yīng)用。 MDK-ARM 有四個(gè)可用版本, 分別是 MDK-Lite、MDK-Basic、MDK-Standard、MDK-Professional。 所有版本均提供一個(gè)完善的 C / C++開發(fā)環(huán)境,其中 MDK-Professional還包含大量的中間庫。 2. Keil MDK 功能特點(diǎn) 完美支持 Cortex-M、Cortex-R4、ARM7 和 ARM9 系列器件。 行業(yè)領(lǐng)先的ARM C/C++編譯工具鏈 確定的Keil RTX ,小封裝實(shí)時(shí)操作
32、系統(tǒng)(帶源碼) 科Vision4 IDE集成開發(fā)環(huán)境,調(diào)試器和仿真環(huán)境 TCP/IP網(wǎng)絡(luò)套件提供多種的協(xié)議和各種應(yīng)用 提供帶標(biāo)準(zhǔn)驅(qū)動(dòng)類的 USB設(shè)備和USB主機(jī)棧 為帶圖形用戶接口的嵌入式系統(tǒng)提供了完善的 GUI庫支持 ULINKpro可實(shí)時(shí)分析運(yùn)行中的應(yīng)用程序,且能記錄 Cortex-M指令的每一次執(zhí)行 關(guān)于程序運(yùn)行的完整代碼覆蓋率信息 執(zhí)行分析工具和性能分析器可使程序得到最優(yōu)化 大量的項(xiàng)目例程幫助你快速熟悉 MDK-ARM 強(qiáng)大的內(nèi)置特征 符合CMSIS (Cortex微控制器軟件接口標(biāo)準(zhǔn)) (二)軟件設(shè)計(jì)框圖 系統(tǒng)軟件設(shè)計(jì)包括遙控器程序設(shè)計(jì)以及飛行器程序設(shè)計(jì)。 遙控器的主要作用
33、就是采集操控信息發(fā)送 給飛行器,飛行器部分主要是接收無線數(shù)據(jù)以及數(shù)據(jù)處理。遙控器的主要設(shè)計(jì)流程圖如圖 4.1所示。 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 圖4.1 在遙控器程序設(shè)計(jì)中,采取循環(huán)采集 ADC電壓并無線發(fā)送數(shù)據(jù)。 ADC電壓取值范圍為0~2.5V,分 辨率是100,采集到的數(shù)據(jù)即為0~250,并把采集到的電壓值存入無線傳輸緩存 Buf數(shù)組里面。Buf數(shù)組定 義為8位數(shù)據(jù)類型,設(shè)置了 8位長度,Buf[0]里面存入幀頭,Buf[1]里面存放油門,Buf[2]存放左邊搖桿數(shù) 據(jù),Buf[3]里存放前后方向數(shù)據(jù), Buf[4]存入左右方向數(shù)據(jù),剩余部分存入
34、按鍵狀態(tài)信息。 NRF24L01 直接將讀取到的8位數(shù)據(jù)發(fā)送到飛行器端,進(jìn)行實(shí)時(shí)控制。 13 結(jié)論 畢業(yè)設(shè)計(jì)期間,最辛苦也是最有意義的地方就是找出問題的所在, 并通過查閱相關(guān)資料,尋找解決 方案并最終解決問題,這個(gè)過程雖然比較繁瑣,但是對于我們的學(xué)習(xí)卻極有意義。四年的大學(xué)課程學(xué)習(xí), 以及兩年的實(shí)驗(yàn)室學(xué)習(xí)經(jīng)驗(yàn), 學(xué)到了很多關(guān)于單片機(jī)以及嵌入式方面的知識(shí), 這也是我們電氣工程專業(yè) 所學(xué)的比較重要的內(nèi)容,通過這次畢業(yè)設(shè)計(jì),使得我對這方面的知識(shí)得到了提高。 想要很好的完成本次畢業(yè)設(shè)計(jì),總體的設(shè)計(jì)思路一定要清晰。從主控芯片的選擇到模塊的選擇方案, 都需要經(jīng)過深思熟慮。我的思路還算比較清
35、晰,首先要有遙控器作為控制端,采集控制信息通過無線模 塊傳輸?shù)斤w行器端,飛行器端通過無線接收模塊接收到的信息從而做出相應(yīng)的反應(yīng)。 經(jīng)過查閱相關(guān)資料,本次設(shè)計(jì)選用基于 ARM Cortex-3為內(nèi)核的STM32F103作為控制芯片,采用 NRF24L01作為通信模塊,電源部分采用 3.7V充電鋰電池作為系統(tǒng)提供電源。 這段時(shí)間里,在老是以及同學(xué)的幫助下, 還有自己的不斷學(xué)習(xí)和探索下, 一步一步的完成了設(shè)計(jì)的 要求,這個(gè)過程非常的有意義以及值得回味。 通過和老師同學(xué)的交流, 不僅豐富了自己的知識(shí)面, 開拓 了自己的思路,同時(shí)還可以拉近與老師同學(xué)之間的關(guān)系。 通過這段時(shí)間的學(xué)習(xí), 我掌握了
36、很多書本上沒 有的指示,但同時(shí)又可以把書上的內(nèi)容運(yùn)用到實(shí)踐中來,學(xué)以致用。 總之,通過本次設(shè)計(jì),我了解了關(guān)于我所設(shè)計(jì)課題的相關(guān)內(nèi)容,加深了對本專業(yè)的理解,鞏固了大 學(xué)四年所學(xué)到的知識(shí), 畢業(yè)設(shè)計(jì)是理論與實(shí)踐相結(jié)合的一個(gè)過程, 同時(shí)也是對我們大學(xué)四年鎖學(xué)知識(shí)的 一次總體考核。 歷時(shí)兩個(gè)月的時(shí)間完成了本次畢業(yè)設(shè)計(jì), 從開題報(bào)告到硬件電路的設(shè)計(jì)再到程序設(shè)計(jì)最后撰寫這篇 論文,在這么長的畢業(yè)設(shè)計(jì)過程中,我遇到了很多困難,為此我的指導(dǎo)老師孫躍老師始終給予了我細(xì)心 的知道和不懈的支持。孫老師為人隨和、治學(xué)嚴(yán)謹(jǐn)細(xì)心,即使不是上班時(shí)間也不厭其煩的幫助我進(jìn)行論 文的修改,為我指點(diǎn)迷津,幫助我開拓思路,
37、 從開始的方案選擇到最后的調(diào)試都是如此的幫助我。 孫老 是深厚的理論功底、豐富的實(shí)踐經(jīng)驗(yàn)以及誨人不倦的高尚師德對我能夠完成本次畢業(yè)設(shè)計(jì)起到了至關(guān)重 要的作用,在此,向?qū)O躍老師致以崇高的敬意以及由衷的感謝。 同時(shí)還要感謝我的同學(xué), 在實(shí)物制作以及論文撰寫過程中給予了我很多有價(jià)值的意見, 同學(xué)之間的 互相討論,解決了很多個(gè)人難以解決的問題。 本論文的完成對我而言并不是重點(diǎn), 文中的不足和淺顯之處則是我新的征程上的新的起點(diǎn)。 同時(shí)我 在本論文的寫作過程中引用了很多學(xué)者的文獻(xiàn), 如果沒有這些前輩的研究成果, 我將很難完成這篇論文 的撰寫,在此由衷的感謝這些文獻(xiàn)的作者。 學(xué)業(yè)即將完成,我將
38、帶著家人、老師、同學(xué)以及朋友的鼓勵(lì)和期望,邁向人生嶄新的臺(tái)階。 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 參考文獻(xiàn) [1]馮旭光 四旋翼無人機(jī)自主控制系統(tǒng)設(shè)計(jì) [學(xué)位論文]碩士 2014 [2]陳海濱,殳國華.四旋翼飛行器的設(shè)計(jì)[J].實(shí)驗(yàn)室研完與探索.2013,32(3):41-44. [3]楊云高,鮮斌,殷強(qiáng),等.四旋翼無人飛行器架構(gòu)及飛行控制的研完現(xiàn)狀 [J].2011,22-24(7):448-453. [4]段國強(qiáng).四旋翼無人直升機(jī)仿真及控制方法比較研究 [D] .哈爾濱:哈爾濱工業(yè)大 學(xué),2013 [5]尹志林,張偉.超小型紅外遙控裝置設(shè)計(jì).南京航空航天大學(xué)航空宇航學(xué)
39、院 ,南京,210016 [6]彭貞慧.小型四旋翼無人直升機(jī)控制系統(tǒng)設(shè)計(jì) [D].南京:南京理工大學(xué), 2010 [7]張春,鮮斌,殷強(qiáng)等.基于 ARM處理器的四旋翼無人機(jī)自主控制系統(tǒng) 研究[J].中國科學(xué)技術(shù)大 學(xué)學(xué)報(bào),2012, 09: 753-760 [8]高同躍.超小型無人直升機(jī)飛控系統(tǒng)及自主滯空飛行的研究 ,[博士學(xué)位論文].上海:上海大 學(xué),2008. [9]朱海榮,張鶴鳴,郭浩波.基于無線遙控技術(shù)的四旋翼飛行器控制系統(tǒng)設(shè)計(jì) .南通大學(xué) 電氣工程 學(xué)院, 江蘇 南通226019 [10]鐘佳朋.四旋翼無人機(jī)的導(dǎo)航與控制 [D].哈爾濱:哈爾濱工業(yè)大學(xué), 2010
40、[11]劉煥曄.小型四旋翼飛行器飛行控制系統(tǒng)研究與設(shè)計(jì) [D].上海交通大學(xué),2009. [12]龐慶需.四旋翼飛行器設(shè)計(jì)與穩(wěn)定控制研究 [D]. 中國科學(xué)技術(shù)大學(xué),2011. [13]喬維維.四旋翼飛行器飛行控制系統(tǒng)研究與仿真 [D].太原:中北大學(xué),2012 [14]吳中華,賈秋玲.四旋翼幾種控制方法研究 [J].現(xiàn)代電子技術(shù),2013, 15: 88- 90+94. [15]國倩倩,微型四旋翼飛行器控制系統(tǒng)設(shè)計(jì)及控制方法研究吉林大學(xué), 2013 [16]陳新泉.四旋翼無人機(jī)飛控系統(tǒng)設(shè)計(jì)與研究【碩 士學(xué)位論文】,南昌航空大學(xué),2014 [17]李堯.四旋翼飛行器控制系統(tǒng)設(shè)計(jì)【大
41、連理工大學(xué)碩士論文】 ,大連理工大學(xué),2013 14 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 19 附錄 遙控器端代碼 //左手上下為油門,左右為旋轉(zhuǎn) //右手上下為俯仰,左右為橫滾 // MCU 工作頻率28MHZ!! #include <rtx51tny.h> #include <STC15F2K60S2.H> #include <NRF24L01.H> #include <AD.H> #include <intrins.h> sbit RLED=P0A5; // p0?為 p0 □的
42、第六位 sbit GLED=P0A6; sbit LKEY=P4A7; sbit RKEY=P3A4; float temp1=0; volatile int idata ay,ax,by,bx; volatile int idata cy,cx,dy,dx; volatile float idata battery; unsigned char idata TxBuf[20]={0}; unsigned char idata RxBuf[20]={0}; void IO_and_Init(); #if 1 為類型定義 typedef unsigned char ui
43、nt8_t;〃typedef typedef unsigned short int uint16_t; typedef unsigned int uint32_t; //typedef unsigned __int64 uint64_t; 油門門 橫滾角 仰俯角 自旋角 int Throttle;// int Roll; // int Pitch; // int Yaw; // int Throttle_Calibra=1500;// 風(fēng)門校準(zhǔn) int Pitch_Calibra =1500;// 反轉(zhuǎn)校準(zhǔn) int Roll_Calibra =1500;// 橫滾校
44、準(zhǔn) int Yaw_Calibra =1500;// 偏航校準(zhǔn) typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8; #define AmericaMode 1 // 左手油門。 u32 Mytest=0; //獲取AD專換平均值。 u16 Get_Adc_Average(u8 ch,u8 times) { u32 temp_val=0; u8 t; for(t=0;t<times;t++) { temp_val+=getADCResult(ch);〃Get_Adc(ch); } M
45、ytest=temp_val/times; _nop_(); return Mytest;//temp_val/times; } /* 獲取搖桿數(shù)據(jù)的AD專換平均值。 */ void LoadRCdata(void) { /* 左手油門*/ #ifdef AmericaMode Throttle=1000+1000*((float)(Get_Adc_Average(1,15))/256); Throttle=(Throttle<=1000)?1000:Throttle; Throttle=(Throttle>=2000)?2000:Throttle; P
46、itch= 1000+((1000*(float)(Get_Adc_Average(3,15))/256)-Pitch_Calibra); Pitch=(Pitch<=1000)?1000:Pitch; Pitch=(Pitch>=2000)?2000:Pitch; Roll= 1000+((1000*(float)(Get_Adc_Average(2,15))/256)-Roll_Calibra); Roll=(Roll<=1000)?1000:Roll; Roll=(Roll>=2000)?2000:Roll; Yaw= 1000+((1000*(flo
47、at)(Get_Adc_Average(0,15))/256)-Yaw_Calibra); Yaw=(Yaw<=1000)?1000:Yaw; Yaw=(Yaw>=2000)?2000:Yaw; #else /* 右手油門*/ Throttle=1500 - (Throttle_Calibra - (1000 + (1000*Get_Adc_Average(1,15))/4096)); Throttle=(Throttle<=1000)?1000:Throttle; Throttle=(Throttle>=2000)?2000:Throttle; Pit
48、ch= 1500 - (Pitch_Calibra-(1000 + (1000 - (1000*Get_Adc_Average(3,15))/4096))); Pitch=(Pitch<=1000)?1000:Pitch; Pitch=(Pitch>=2000)?2000:Pitch; Roll= 1500 - (Roll_Calibra - (1000 + (1000*Get_Adc_Average(0,15))/4096)); Roll=(Roll<=1000)?1000:Roll; Roll=(Roll>=2000)?2000:Roll; Yaw= 1
49、500 - (Yaw_Calibra - (1000 + (1000*Get_Adc_Average(2,15))/4096)); Yaw=(Yaw<=1000)?1000:Yaw; Yaw=(Yaw>=2000)?2000:Yaw; #endif } //校準(zhǔn)搖桿。 void controlClibra(void) { static u8 i; uint16_t sum[4]={0,0,0,0}; // static unsigned char lednum=1; static unsigned char clibrasumNum = 20; for(i=
50、0;i<clibrasumNum;i++) { #ifdef AmericaMode // 美國模式。 油門,左手油門。 sum[0] += 1000 + (1000 - (1000*Get_Adc_Average(1,15))/256);〃 sum[1] += 1000 + (1000*Get_Adc_Average(3,15))/256; #else sum[0] += 1000 + (1000*Get_Adc_Average(1,15))/256; sum[1] += 1000 + (1000 - (1000*Get_Adc_Average(3,15))/256);
51、 #endif sum[2] += 1000 + (1000*Get_Adc_Average(0,15))/256; sum[3] += 1000 + (1000*Get_Adc_Average(2,15))/256; Delay(1000); } Throttle_Calibra = sum[0]/i; Pitch_Calibra = sum[1]/i; Roll_Calibra = sum[2]/i; Yaw_Calibra = sum[3]/i; } #define MSP_ARM_IT 5 #define MSP_DISARM_IT 6 #define MSP
52、_SET_4CON 7 #define MSP_HOLD_ALT 10 #define MSP_STOP_HOLD_ALT 11 #define MSP_HEAD_FREE 12 #define MSP_STOP_HEAD_FREE 13 #define MSP_AUTO_LAND_DISARM 9 #define MSP_ACC_CALI 205 typedef signed short int int16_t; uint8_t sendBuf[32]; uint8_t sendCnt=0; uint8_t checksum=0; // static void uart
53、8chk(uint8_t _x) { sendBuf[sendCnt++]=_x; checksum A= _x; } // static void uart16chk(int16_t a) { uart8chk((uint8_t)(a&0xff)); uart8chk((uint8_t)(a>>8)); } //發(fā)送遙控器數(shù)據(jù)。 void CommUAVUpload(uint8_t cmd) { sendCnt=0; uart8chk('$'); uart8chk('M'); uart8chk('&
54、lt;'); checksum = 0; switch(cmd) { case MSP_SET_4CON: uart8chk(8); //data payload len uart8chk(cmd); uart16chk(Throttle); uart16chk(Yaw); uart16chk(Pitch); uart16chk(Roll); break; case MSP_ARM_IT: 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) uart8chk(0); uart8chk(cmd); break; case MSP_DISARM_IT: uart8c
55、hk(0); uart8chk(cmd); break; case MSP_HOLD_ALT: uart8chk(0); uart8chk(cmd); break; case MSP_STOP_HOLD_ALT: uart8chk(0); uart8chk(cmd); break; case MSP_HEAD_FREE: uart8chk(0); uart8chk(cmd); break; case MSP_STOP_HEAD_FREE: uart8chk(0); uart8chk(cmd); break; case MSP_AUTO_LAND_DISAR
56、M: uart8chk(0); uart8chk(cmd); break; case MSP_ACC_CALI: uart8chk(0); uart8chk(cmd); break; } uart8chk(checksum); nRF24L01_TxPacket(sendBuf); 〃NRF24L01_TxPacket2(sendBuf); #endif //獲取ADfl樣數(shù)據(jù) void AD() _task_ 0 { IO_and_Init(); // 初始化 I/O 口 os_create_task (1); 〃 啟動(dòng)進(jìn)程 1 while(1) { c
57、y=getADCResult(1); 〃 油門//讀取4個(gè)搖桿通道每個(gè)通道的 8位數(shù)據(jù),取值范圍0-255 Delay(10); cx=getADCResult(0); //YAW Delay(10); dy=getADCResult(3); //Pitch Delay(10); dx=getADCResult(2); //Roll Delay(10); battery=(getADCResult(4)*5.05*100)/256; // 電池電壓檢測通道 低于 3.7V 亮紅燈 Delay(10); if(battery<=370) { RLED=1; GLE
58、D=0; } else { RLED=0; GLED=1; } os_wait(K_IVL,3,0);〃 延時(shí) 3 個(gè)節(jié)拍 } } // void NRF24L01() _task_ 1 { while(1) { TxBuf[0]++; TxBuf[1]=128; TxBuf[2]=128; TxBuf[3]=128; if(cy<20) goto EXIT; } // 當(dāng)油門拉至最低時(shí)遙控器解鎖 if(RKEY==0) { TxBuf[5]=1; else TxBuf[5]=0; if(LKEY==0) TxBuf[6]=1; e
59、lse TxBuf[6]=0; } 〃nRF24L01_TxPacket(TxBuf);〃 發(fā)送 TxBuf 數(shù)組的數(shù)據(jù) os_wait(K_IVL,2,0); 〃 給一定延時(shí)讓數(shù)據(jù)發(fā)送完成 EXIT: //遙控器解鎖。 while(1) { if((dy-by)>=255) 22 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) { TxBuf[1]=255; 128 } // 用上電記錄的數(shù)據(jù)對采樣數(shù)據(jù)進(jìn)行修正,保證搖桿中位時(shí)數(shù)據(jù)為 else if((dy-by)<=0) { TxBuf[1]=0; } else { TxBuf[1]=dy
60、-by;〃getADCResult(0)-128 } if((dx-bx)>=255) { TxBuf[2]=255; } else if((dx-bx)<=0) { TxBuf[2]=0; } else { TxBuf[2]=dx-bx; } if((cx-ax)>=255) { TxBuf[3]=255; } else if((cx-ax)<=0) { TxBuf[3]=0; } else { TxBuf[3]=cx-ax; // 油門:TxBuf[4] //Yaw : TxBuf[3] // 俯仰:TxBuf[
61、1] // 橫滾:TxBuf[2] TxBuf[4]=cy; // 油門通道不需處理,直接發(fā)送 AD僉測的8位數(shù)據(jù)即可,根據(jù) ADW羊原理 易知讀取的A陳樣數(shù)據(jù)不可能為負(fù)也不可能大于 255 if(RKEY==0) { TxBuf[5]=1; } else { TxBuf[5]=0; } if(LKEY==0) { TxBuf[6]=1; } else { TxBuf[6]=0; } TxBuf[0]++; LoadRCdata();// 獲取搖桿數(shù)據(jù)。 CommUAVUpload(MSP_SET_4CON); 〃nRF24L01_TxPacket(TxBuf);〃 發(fā)射
62、數(shù)據(jù) os_wait(K_IVL,2,0); // 給一定延時(shí)讓數(shù)據(jù)發(fā)送完成 } } //IO初始化。 void IO_and_Init() { P1M0=0x00; //P1 設(shè)為高阻模式 P1M1=0xFF; 24 溫州大學(xué)城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文) P0M0=0XFF; //其他I/O 口設(shè)置為準(zhǔn)雙向,弱上拉模式 P0M1=0X00; P2M0=0X00; P2M1=0X00; P3M0=0X00; P3M1=0X00; P4M0=0X00; P4M1=0X00; P5M0=0Xff; P5M1=0X00; LKEY=1; // 拉高按鍵
63、檢測I/O 口電平,按鍵為低電平觸發(fā) RKEY=1; init_NRF24L01(); 〃 初始化無線模塊 adc_init(); // 初始化AD僉測模塊 ax=(getADCResult(0)); temp1=((float)ax/256)*1000-500; Roll_Calibra=temp1;//ax*1000-500; 〃 記錄上電時(shí)搖桿的數(shù)據(jù)作為中位修正,因?yàn)閾u桿中位要 為 128 即 256/2 Delay(10); by=getADCResult(3); temp1=((float)by/256)*1000-500; // 通道 1,是油門值。 Pitc
64、h_Calibra=temp1; Delay(10); bx=getADCResult(2); Yaw_Calibra=((float)bx/256)*1000-500;; // 校準(zhǔn)。 Delay(10); } 由于本次畢業(yè)設(shè)計(jì)關(guān)于姿態(tài)控制部分沒有完善,采取用四個(gè) LED燈來模擬上下左右。 發(fā)射端代碼 #include "led.h" #include "delay.h" #include "key.h" #include "sys.h" #include "lcd.h"
65、; #include "usart.h 27 #include "24l01.h" int main(void) { u8 key,mode; u16 t=0; u8 tmp_buf[2]; delay_init(); NVIC_Configuration(); uart_init(9600); LED_Init(); LCD_Init(); KEY_Init(); //延時(shí)函數(shù)初始化 //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級 //串口初始化為9600 //LED端口初始化 //初始化LCD
66、//按鍵初始化 NRF24L01_Init(); // 初始化 NRF24L01 POINT_COLOR=RED; / LCD_ShowString(60,50,200,16,16,"VeryAI STM32"); LCD_ShowString(60,70,200,16,16,"NRF24L01 TEST"); LCD_ShowString(60,90,200,16,16,"VeryAI@COM"); LCD_ShowString(60,110,200,16,16,"2013/9/23"); whi
67、le(NRF24L01_Check()) // 檢查 NRF24L0他否在位. { LCD_ShowString(60,130,200,16,16,"NRF24L01 Error"); delay_ms(200); LCD_Fill(60,130,239,130+16,WHITE); delay_ms(200); } LCD_ShowString(60,130,200,16,16,"NRF24L01 OK"); LCD_Fill(10,150,240,166,WHITE);〃 清空上面的顯示 POINT_COLOR=BLUE;// LCD_ShowString(60,150,200,16,16,"NRF24L01 TX_Mode"); NRF24L01_TX_Mode(); 從空格鍵開始 //mode=' ';// while(1)
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 指向核心素養(yǎng)發(fā)展的高中生物學(xué)1輪復(fù)習(xí)備考建議
- 新課程新評價(jià)新高考導(dǎo)向下高三化學(xué)備考的新思考
- 新時(shí)代背景下化學(xué)高考備考策略及新課程標(biāo)準(zhǔn)的高中化學(xué)教學(xué)思考
- 2025屆江西省高考政治二輪復(fù)習(xí)備考建議
- 新教材新高考背景下的化學(xué)科學(xué)備考策略
- 新高考背景下的2024年高考化學(xué)二輪復(fù)習(xí)備考策略
- 2025屆高三數(shù)學(xué)二輪復(fù)習(xí)備考交流會(huì)課件
- 2025年高考化學(xué)復(fù)習(xí)研究與展望
- 2024年高考化學(xué)復(fù)習(xí)備考講座
- 2025屆高考數(shù)學(xué)二輪復(fù)習(xí)備考策略和方向
- 2024年感動(dòng)中國十大人物事跡及頒獎(jiǎng)詞
- XX教育系統(tǒng)單位述職報(bào)告教育工作概述教育成果展示面臨的挑戰(zhàn)未來規(guī)劃
- 2025《增值稅法》全文解讀學(xué)習(xí)高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 初中資料:400個(gè)語文優(yōu)秀作文標(biāo)題
- 初中語文考試專項(xiàng)練習(xí)題(含答案)