<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于NRF9E5射頻無線遙控系統(tǒng)的設(shè)計

          基于NRF9E5射頻無線遙控系統(tǒng)的設(shè)計

          作者: 時間:2008-05-12 來源:網(wǎng)絡(luò) 收藏
          摘 要介紹了一種8051內(nèi)核的傳輸芯片nRF9E5,采用該芯片制作了撲翼微型飛行器的,對的收發(fā)裝置進(jìn)行了硬件,并對出的硬件進(jìn)行了軟件編程和系統(tǒng)的調(diào)試,實驗表明,該系統(tǒng)具有成本少、功耗低、尺寸小的特點,能以較高質(zhì)量在100~150米范圍內(nèi)進(jìn)行信號的傳輸。
          關(guān)鍵詞撲翼微型飛行器系統(tǒng)nRF9E5

          1 [1]

          現(xiàn)在和未來的飛行機(jī)器人[1-3]方向是期望機(jī)器人是小巧的、手提的、隨身攜帶,可以像昆蟲一樣超低空飛行,能夠靈活地完成偵察和搜索任務(wù)。多年來以軍事用途為背景的無人飛行器(UAV­―Unmanned Aerial Vehicle)研究一直十分活躍,這些無人飛行器通過地面基站遙控導(dǎo)航,或者通過自身的智能控制算法,來實現(xiàn)其自身的任務(wù)規(guī)劃與航跡生成,完成預(yù)定的飛行任務(wù)。仿生MAV是整個飛行任務(wù)的載體,仿生MAV性能的優(yōu)劣影響整個飛行系統(tǒng)的性能,目前仿生微飛行器有采用壓電驅(qū)動、人造肌肉驅(qū)動、形狀記憶合金(SMA)驅(qū)動以及電磁微馬達(dá)驅(qū)動,但目前能夠?qū)崿F(xiàn)撲翼飛行的是采用微馬達(dá)的驅(qū)動方式,其他的驅(qū)動形式僅僅屬于概念性的設(shè)計,從實用的角度來講,采用電磁微馬達(dá)的驅(qū)動方式更為成熟。仿生微型飛行器采用高能電池供電,通過電磁微馬達(dá)驅(qū)動撲翼,通過形狀記憶合金(SMA)來控制仿生微飛行器的運動模態(tài),通過微型傳感器來檢測仿生微飛行器的位置和姿態(tài),通過微處理芯片對輸入信號進(jìn)行檢測,并通過輸出去控制相應(yīng)的執(zhí)行機(jī)構(gòu),仿生微飛行器通過傳輸模塊建立和地面控制基站的數(shù)據(jù)鏈路。

          2遙控系統(tǒng)的結(jié)構(gòu)設(shè)計

          撲翼微型飛行器的遙控系統(tǒng)主要是為了調(diào)節(jié)飛行器的撲動頻率以及飛行器尾翼的升降、左右擺動;至于飛行器的視頻采集、姿態(tài)控制及位移控制,目前對其設(shè)計還不太現(xiàn)實,因為撲翼微型飛行器還不能實現(xiàn)自主飛行,如果控制系統(tǒng)過于復(fù)雜,則不可避免地增大飛行器重量,這些因素不利于飛行器的飛行。整個遙控系統(tǒng)包括兩個部分,一部分為系統(tǒng)的發(fā)射部分,其主要任務(wù)是發(fā)送控制命令,通過計算機(jī)把控制命令經(jīng)計算機(jī)的串口和射頻模塊發(fā)送出去,完成命令的生成和傳輸,即通過計算機(jī)發(fā)送控制命令,傳遞給nRF9E5芯片,芯片通過射頻端發(fā)射出去;另一部分為撲翼微型飛行器自身的控制器,這部分的作用是接收地面的控制指令,經(jīng)控制器來調(diào)整微馬達(dá)的轉(zhuǎn)速,進(jìn)而來控制撲翼的拍打頻率,即把接受到的控制命令傳遞給nRF9E5芯片,然后由nRF9E5芯片輸出PWM脈寬,進(jìn)而來調(diào)整電壓輸出,從而來控制直流微馬達(dá)的轉(zhuǎn)速。

          nRF9E5[4]采用QFN封裝,其尺寸大小為55mm,圖1所示為nRF9E5的引腳分配與封裝。其中P0口和P1口與8051的對應(yīng)端口相同,這兩個端口是采用CMOS驅(qū)動的雙向IO口,其方向可通過_DIR和_ALT寄存器的設(shè)置來選擇端口的功能和數(shù)據(jù)傳輸?shù)姆较颉0口通過P0_ALT和P0_DIR進(jìn)行設(shè)置,當(dāng)P0_ALT的對應(yīng)位為1時,則P0.n具有UART、外部中斷、定時器輸入或脈寬調(diào)制輸出功能,其方向由P0_DIR的對應(yīng)位來確定;P1口的4個引腳MISO、MOSI、EECSN、SCK作為系統(tǒng)上電后EEPROM和系統(tǒng)進(jìn)行通訊的接口,EECSN為片選信號,SCK為存儲器的時鐘信號,MOSI、MISO分別為串行數(shù)據(jù)的輸入和輸出信號。P1口的控制寄存器分別為SPI_CTRL、P1_ALT、P1_DIR,當(dāng)SPI_CTRL=1時,P1口作SPI口使用,當(dāng)SPI_CTRL=0時,P1作通用IO口,XC1和XC2分別為系統(tǒng)時鐘的輸入和輸出,ANT1和ANI2為系統(tǒng)射頻信號的接口,AIN0~AIN3為模擬信號的輸入端口。遙控系統(tǒng)的結(jié)構(gòu)布局如圖2所示。


          地面射頻遙控裝置的命令發(fā)射端的電路原理圖如圖3所示,J1為9針的D型插座,連接計算機(jī)的串口,控制命令由串口傳出,串口連接MAX3232芯片,該芯片為電平轉(zhuǎn)換電路,其主要目的是把計算機(jī)15V的高電平轉(zhuǎn)換為MCU可以接受的0~3V的CMOS電平,J1


          圖3 地面射頻遙控裝置的命令發(fā)射端的電路原理圖


          插座中引出的引腳為2、3、5分別對應(yīng)與TXD、RXD、GND,經(jīng)MAX3232轉(zhuǎn)換后連接nRF9E5的P01、P02,P01和P02分別設(shè)置為第二功能的RXD、TXD;25AA320為Microchip公司的串行程序存儲器,MCU的運行指令先燒寫到此芯片中,當(dāng)系統(tǒng)上電復(fù)位后,程序代碼被下載到nRF9E5的內(nèi)存中;ANT1、ANT2為nRF9E5的射頻輸出端,射頻傳輸協(xié)議集成在射頻模塊內(nèi)。


          圖4 撲翼驅(qū)動裝置接收端的電路原理圖


          圖4為撲翼驅(qū)動裝置接收端的電路原理圖,該電路圖中與nRF9E5相連的串行程序存儲器、晶振電路、射頻傳輸電路部分與圖3的電路相同,不同的是P0口的P02、P03連接在三極管的基極上(其中一個作備用),P04、P06連接兩個發(fā)光二極管;三極管采用BE431,三極管的主要作用是為了把MCU輸出的PWM放大,增大其輸出功率,微馬達(dá)連接在JP1的5、6引腳或者7、8引腳;LED1、LED2為狀態(tài)指示燈,用來模擬尾舵的擺動和升降;LM1117為電源管理模塊,其作用是為了把4~6V的不穩(wěn)定電壓轉(zhuǎn)換為3.3V的穩(wěn)定電壓,為nRF9E5和其它用電模塊提供穩(wěn)定的供電電源。



          圖5 命令發(fā)射端程序流程

          圖6 數(shù)據(jù)接收端程序流程


          3系統(tǒng)的程序設(shè)計

          當(dāng)遙控系統(tǒng)的硬件設(shè)計完成之后,軟件成為溝通各個硬件部分的靈魂和血脈,遙控系統(tǒng)的軟件程序設(shè)計主要涉及PC與nRF9E5的串行通訊,nRF9E5芯片的射頻傳輸與接收,PWM的脈寬輸出等內(nèi)容,圖5所示為遙控系統(tǒng)命令發(fā)射端程序流程,首先系統(tǒng)初始化,定義P0口功能、定時器初值(串行通訊的波特率)、SPI控制寄存器的初始化、RF控制寄存器初始化等,nRF9E5的串口能接收來自PC的命令,使接收的命令能順利傳出。nRF9E5的射頻傳輸模塊的功能和nRF905芯片的功能完全相同,將所有高速射頻協(xié)議集成在芯片內(nèi)部,和微控制器相連的部分只是采用簡單的SPI接口,使得在編程時對數(shù)據(jù)的接收和發(fā)送變得異常簡單,在ShockburstTM RX模式下,當(dāng)?shù)刂方邮照_,有效信號接收完畢后由AM和DR通知MCU,在ShockburstTM TX模式下,nRF905自動生成CRC校驗,當(dāng)數(shù)據(jù)發(fā)送完后由DR通知MCU。

          當(dāng)有數(shù)據(jù)要發(fā)送時,MCU通過SPI接口將接收階段的地址和有效數(shù)據(jù)寫入nRF905,MCU通過設(shè)置TRX_CE、TX_EN為高來激活nRF905 Shockburst進(jìn)行傳輸,nRF905在進(jìn)行數(shù)據(jù)傳輸時,首先完成射頻傳輸系統(tǒng)的自動上電,然后對數(shù)據(jù)包加前綴和進(jìn)行CRC校驗,進(jìn)而來完成數(shù)據(jù)包的發(fā)送,當(dāng)發(fā)送完畢后,設(shè)置數(shù)據(jù)就緒(DR)信號為高,可以繼續(xù)進(jìn)行數(shù)據(jù)的發(fā)送;如若AUTO_RETRAN設(shè)置為高,則nRF905不斷的進(jìn)行數(shù)據(jù)發(fā)送直至TRX_CE為低。

          當(dāng)有數(shù)據(jù)需要接收時,nRF9E5的射頻模塊進(jìn)入數(shù)據(jù)接收狀態(tài),當(dāng)nRF905檢測到頻率相同的載波時,寄存器中的載波檢測(CD)信號變高,當(dāng)nRF905檢測到的有效地址與自動地址匹配時,寄存器中的地址匹配(AM)信號變高,當(dāng)nRF905接收到的數(shù)據(jù)包(通過CRC校驗)正確時,射頻模塊去掉數(shù)據(jù)包的前導(dǎo)碼地址和CRC位,數(shù)據(jù)準(zhǔn)備就緒(DR)被置高,此時MCU可通過SPI接口將接收的數(shù)據(jù)讀出;當(dāng)接收完數(shù)據(jù)后,nRF905將AM和DR置低,此時nRF905將進(jìn)入發(fā)射、接收或者掉電模式;接收到的數(shù)據(jù)命令通過計算機(jī)指令來調(diào)整MCU的延時時間,從而產(chǎn)生不同占空比的PWM脈寬,經(jīng)三極管進(jìn)行放大從而來驅(qū)動微馬達(dá),通過指令來調(diào)整MCU輸出脈寬的占空比來達(dá)到調(diào)整電機(jī)轉(zhuǎn)速的目的。

          4 結(jié)束語

          本文采用Nordic公司的nRF9E5芯片對撲翼微型飛行器的遙控裝置進(jìn)行了相應(yīng)的硬件設(shè)計和軟件編程,通過PC發(fā)送控制命令,經(jīng)計算機(jī)串口傳輸至nRF9E5,再由nRF9E5內(nèi)部的數(shù)據(jù)傳送,經(jīng)射頻(RF)模塊發(fā)送出去,另一端的接收裝置也采用相同的nRF9E5,空中傳輸?shù)目刂泼罱?jīng)射頻模塊接收到,然后由MCU讀出,進(jìn)而來控制PWM脈寬的調(diào)制,從而實現(xiàn)了對微型直流電機(jī)的調(diào)速;實驗表明,該系統(tǒng)具有成本少、功耗低、尺寸小的特點,能以較高質(zhì)量在100~150米范圍內(nèi)進(jìn)行信號的無線傳輸。

          本文作者創(chuàng)新點:微型飛行器是當(dāng)前研究的熱點,其控制系統(tǒng)是該課題研究的重要內(nèi)容,本文采用nRF9E5射頻芯片進(jìn)行了仿生微型飛行器無線遙控系統(tǒng)的軟硬件設(shè)計與系統(tǒng)調(diào)試,具有電路體積小,傳輸距離遠(yuǎn),功耗低等特性。


          參考文獻(xiàn):

          [1] J. M. Grasmeyer and M. T. Keennon, “Development of the black widowmicro air vehicle,” in Proc. AIAA, Jan. 2001, Paper AIAA-2001-0127.

          [2] 李娜英,李惠峰.SINS/GPS/CNS組合導(dǎo)航在高超聲速巡航飛行器上的應(yīng)用[J].微計算機(jī)信息,2005,Vol.21. 9-1:P6-8.

          [3] J. Yan, R.J. Wood, S. Avadhanula, R.S. Fearing, and M. Sitti. Towards flapping wing control for a micromechanical flying insect. In Proc of the IEEE International Conference on Robotics and Automation, pages 3901C3908, Seoul, South Korea, May 2001

          [4] Product specification:433/868/915RF transceiver with embedded 8051 compatible Microcontroller and 4 input, 10bit ADC, Nordic



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();