基于NRF9E5射頻無線遙控系統(tǒng)的設(shè)計
關(guān)鍵詞 撲翼微型飛行器 遙控系統(tǒng) 射頻 nRF9E5
1引 言[1]
現(xiàn)在和未來的飛行機器人[1-3]設(shè)計方向是期望機器人是小巧的、手提的、隨身攜帶,可以像昆蟲一樣超低空飛行,能夠靈活地完成偵察和搜索任務(wù)。多年來以軍事用途為背景的無人飛行器(UAV—Unmanned Aerial Vehicle)研究一直十分活躍,這些無人飛行器通過地面基站遙控導(dǎo)航,或者通過自身的智能控制算法,來實現(xiàn)其自身的任務(wù)規(guī)劃與航跡生成,完成預(yù)定的飛行任務(wù)。仿生MAV是整個飛行任務(wù)的載體,仿生MAV性能的優(yōu)劣影響整個飛行系統(tǒng)的性能,目前仿生微飛行器有采用壓電驅(qū)動、人造肌肉驅(qū)動、形狀記憶合金(SMA)驅(qū)動以及電磁微馬達驅(qū)動,但目前能夠?qū)崿F(xiàn)撲翼飛行的是采用微馬達的驅(qū)動方式,其他的驅(qū)動形式僅僅屬于概念性的設(shè)計,從實用的角度來講,采用電磁微馬達的驅(qū)動方式更為成熟。仿生微型飛行器采用高能電池供電,通過電磁微馬達驅(qū)動撲翼,通過形狀記憶合金(SMA)來控制仿生微飛行器的運動模態(tài),通過微型傳感器來檢測仿生微飛行器的位置和姿態(tài),通過微處理芯片對輸入信號進行檢測,并通過輸出去控制相應(yīng)的執(zhí)行機構(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īng)計算機的串口和射頻模塊發(fā)送出去,完成命令的生成和傳輸,即通過計算機發(fā)送控制命令,傳遞給nRF9E5芯片,芯片通過射頻端發(fā)射出去;另一部分為撲翼微型飛行器自身的控制器,這部分的作用是接收地面的控制指令,經(jīng)控制器來調(diào)整微馬達的轉(zhuǎn)速,進而來控制撲翼的拍打頻率,即把接受到的控制命令傳遞給nRF9E5芯片,然后由nRF9E5芯片輸出PWM脈寬,進而來調(diào)整電壓輸出,從而來控制直流微馬達的轉(zhuǎn)速。
nRF9E5[4]采用QFN封裝,其尺寸大小為5×5mm,圖1所示為nRF9E5的引腳分配與封裝。其中P0口和P1口與8051的對應(yīng)端口相同,這兩個端口是采用CMOS驅(qū)動的雙向IO口,其方向可通過_DIR和_ALT寄存器的設(shè)置來選擇端口的功能和數(shù)據(jù)傳輸?shù)姆较?。P0口通過P0_ALT和P0_DIR進行設(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)進行通訊的接口,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型插座,連接計算機的串口,控制命令由串口傳出,串口連接MAX3232芯片,該芯片為電平轉(zhuǎn)換電路,其主要目的是把計算機±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放大,增大其輸出功率,微馬達連接在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進行傳輸,nRF905在進行數(shù)據(jù)傳輸時,首先完成射頻無線傳輸系統(tǒng)的自動上電,然后對數(shù)據(jù)包加前綴和進行CRC校驗,進而來完成數(shù)據(jù)包的發(fā)送,當(dāng)發(fā)送完畢后,設(shè)置數(shù)據(jù)就緒(DR)信號為高,可以繼續(xù)進行數(shù)據(jù)的發(fā)送;如若AUTO_RETRAN設(shè)置為高,則nRF905不斷的進行數(shù)據(jù)發(fā)送直至TRX_CE為低。
當(dāng)有數(shù)據(jù)需要接收時,nRF9E5的射頻模塊進入數(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ù)準備就緒(DR)被置高,此時MCU可通過SPI接口將接收的數(shù)據(jù)讀出;當(dāng)接收完數(shù)據(jù)后,nRF905將AM和DR置低,此時nRF905將進入發(fā)射、接收或者掉電模式;接收到的數(shù)據(jù)命令通過計算機指令來調(diào)整MCU的延時時間,從而產(chǎn)生不同占空比的PWM脈寬,經(jīng)三極管進行放大從而來驅(qū)動微馬達,通過指令來調(diào)整MCU輸出脈寬的占空比來達到調(diào)整電機轉(zhuǎn)速的目的。
4 結(jié)束語
本文采用Nordic公司的nRF9E5芯片對撲翼微型飛行器的遙控裝置進行了相應(yīng)的硬件設(shè)計和軟件編程,通過PC發(fā)送控制命令,經(jīng)計算機串口傳輸至nRF9E5,再由nRF9E5內(nèi)部的數(shù)據(jù)傳送,經(jīng)射頻(RF)模塊發(fā)送出去,另一端的接收裝置也采用相同的nRF9E5,空中傳輸?shù)目刂泼罱?jīng)射頻模塊接收到,然后由MCU讀出,進而來控制PWM脈寬的調(diào)制,從而實現(xiàn)了對微型直流電機的調(diào)速;實驗表明,該系統(tǒng)具有成本少、功耗低、尺寸小的特點,能以較高質(zhì)量在100~150米范圍內(nèi)進行信號的無線傳輸。
本文作者創(chuàng)新點:微型飛行器是當(dāng)前研究的熱點,其控制系統(tǒng)是該課題研究的重要內(nèi)容,本文采用nRF9E5射頻芯片進行了仿生微型飛行器無線遙控系統(tǒng)的軟硬件設(shè)計與系統(tǒng)調(diào)試,具有電路體積小,傳輸距離遠,功耗低等特性。
參考文獻:
[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].微計算機信息,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 3901–3908, Seoul, South Korea, May 2001
[4] Product specification:433/868/915RF transceiver with embedded 8051 compatible Microcontroller and 4 input, 10bit ADC, Nordic