四軸飛行器運動控制系統(tǒng)設(shè)計_第1頁
四軸飛行器運動控制系統(tǒng)設(shè)計_第2頁
四軸飛行器運動控制系統(tǒng)設(shè)計_第3頁
四軸飛行器運動控制系統(tǒng)設(shè)計_第4頁
四軸飛行器運動控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

畢業(yè)設(shè)計(論文)學(xué)生姓名學(xué)號專業(yè)班級指導(dǎo)教師學(xué)院答辯日期②通用定時器(TIMx)STM32F103x內(nèi)置了多達3個可同步運行的標準定時器(TIM2、TIM3)。每個定時器都有一個16位的自動加載遞加/遞減計數(shù)器、一個16位的預(yù)分頻器和4個獨立的通道,每個通道都可用于輸入捕獲、輸出比較、PWM和單脈沖模式輸出,在最大的封裝配置中可提供最多12個輸入捕獲、輸出比較或PWM通道。它們還能通過定時器鏈接功能與高級控制定時器共同工作,提供同步或事件鏈接功能。在調(diào)試模式下,計數(shù)器可以被凍結(jié)。任一標準定時器都能用于產(chǎn)生PWM輸出。每個定時器都有獨立的DMA請求機制。這些定時器還能夠處理增量編碼器的信號,也能處理1至3個霍爾傳感器的數(shù)字輸出。P、I2C總線多達2個I2C總線接口,能夠工作于多主模式或從模式,支持標準和快速模式。I2C接口支持7位或10位尋址,7位從模式時支持雙從地址尋址。內(nèi)置了硬件CRC發(fā)生器/校驗器。它們可以使用DMA操作并支持SMBus總線2.0版/PMBus總線。Q、通用同步/異步收發(fā)器(USART)USART1接口通信速率可達4.5兆位/秒,其他接口的通信速率可達2.25兆位/秒。USART接口具有硬件的CTS和RTS信號管理、支持IrDASIRENDEC傳輸編解碼、兼容ISO7816的智能卡并提供LIN主/從功能。所有USART接口都可以使用DMA操作。R、串行外設(shè)接口(SPI)多達2個SPI接口,在從或主模式下,全雙工和半雙工的通信速率可達18兆位/秒。3位的預(yù)分頻器可產(chǎn)生8種主模式頻率,可配置成每幀8位或16位。硬件的CRC產(chǎn)生/校驗支持基本的SD卡和MMC模式。所有的SPI接口都可以使用DMA操作。S、控制器區(qū)域網(wǎng)絡(luò)(CAN)CAN接口兼容規(guī)范2.0A和2.0B(主動),位速率高達1兆位/秒。它可以接收和發(fā)送11位標識符的標準幀,也可以接收和發(fā)送29位標識符的擴展幀。具有3個發(fā)送郵箱和2個接收FIFO,3級14個可調(diào)節(jié)的濾波器。T、通用串行總線(USB)內(nèi)嵌一個兼容全速USB的設(shè)備控制器,遵循全速USB設(shè)備(12兆位/秒)標準,端點可由軟件配置,具有待機/喚醒功能。USB專用的48MHz時鐘由內(nèi)部主PLL直接產(chǎn)生(時鐘源必須是一個HSE晶體振蕩器)。U、通用輸入輸出接口(GPIO)每個GPIO引腳都可以由軟件配置成輸出(推挽或開漏)、輸入(帶或不帶上拉或下拉)或復(fù)用的外設(shè)功能端口。多數(shù)GPIO引腳都與數(shù)字或模擬的復(fù)用外設(shè)共用。除了具有模擬輸入功能的端口,所有的GPIO引腳都有大電流通過能力。在需要的情況下,I/O引腳的外設(shè)功能可以通過一個特定的操作鎖定,以避免意外的寫入I/O寄存器。在APB2上的I/O腳可達18MHz的翻轉(zhuǎn)速度。V、ADC(模擬/數(shù)字轉(zhuǎn)換器)STM32F103內(nèi)嵌2個12位的模擬/數(shù)字轉(zhuǎn)換器(ADC),每個ADC共用多達16個外部通道,可以實現(xiàn)單次或掃描轉(zhuǎn)換。在掃描模式下,自動進行在選定的一組模擬輸入上的轉(zhuǎn)換。ADC接口上的其它邏輯功能包括:1)同步的采樣和保持2)交叉的采樣和保持3)單次采樣由標準定時器(TIMx)和高級控制定時器(TIM1)產(chǎn)生的事件,可以分別內(nèi)部級聯(lián)到ADC的開始觸發(fā)和注入觸發(fā),應(yīng)用程序能使AD轉(zhuǎn)換與時鐘同步。3.3信息采集3.3.1加速度傳感器與陀螺儀姿態(tài)測量系統(tǒng)是感知四旋翼飛行器的飛行狀態(tài)的信息。姿態(tài)感測部件是整個硬件系統(tǒng)的核心。傳感器相當于人的眼睛和耳朵,用來感知外界相關(guān)的環(huán)境變換,為中心控制模塊提供原始數(shù)據(jù)。由于所使用的四旋翼直升機負載能力有限,因此,減小和減輕導(dǎo)航系統(tǒng)所用傳感器的體積及重量,就顯得尤為重要。加速度傳感器是一種能夠測量加速力的電子設(shè)備。加速度傳感器的工作原理:敏感元件將測點的加速度信號轉(zhuǎn)換為相應(yīng)的電信號,進入前置放大電路,經(jīng)過信號調(diào)理電路改善信號的信噪比,再進行模數(shù)轉(zhuǎn)換得到數(shù)字信號,最后送入計算機,計算機再進行數(shù)據(jù)存儲和顯示。加速度傳感器用于測量機身相對于水平面的傾斜角度,對于加速度傳感器,我們知道運動中的物體會產(chǎn)生包括重力加速度在內(nèi)的各種各樣的加速度。當四軸飛行器起飛的一霎那,由于電機轉(zhuǎn)速本身的重量和轉(zhuǎn)速誤差,我們無法感知飛行器本身的受力情況,從而無法通過加速度來判別物體的姿勢。要獲得準確的物體角度和姿勢,加速度傳感器就需要在靜止或者勻速的情況下進行測量,而飛行器起飛的瞬間,物體是運動的,所以你無法用它來平衡四軸飛行器。陀螺儀傳感器是理想的平衡控制傳感器,它能感知物體的運行變化。四軸飛行器的微處理器通過讀取這些數(shù)據(jù)進行分析,并根據(jù)運動變化進行反饋控制,即可以使得物體保持平衡。四軸飛行器在起飛瞬間,飛行器在四個電機的作用力下,開始運動,由于不同電機的驅(qū)動力差異,飛行器姿勢會發(fā)生改變,微處理器獲得這些改變后,微調(diào)各個電機的轉(zhuǎn)速,從而使得飛行器達到平衡在測量過程中由于陀螺儀存在溫漂的影響,導(dǎo)致測得的姿態(tài)信息并不準確,因此利用加速度計和陀螺儀的組合可以測量和輸出飛行器的速度、方位和引力來感知飛行器的運動狀態(tài)。綜合成本和性能等因素,選用MPU-6050陀螺儀加速度計。MPU-6050為全球首例整合性6軸運動處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時之軸間差的問題,減少了大量的包裝空間。它集成了3軸MEMS陀螺儀,3軸MEMS加速度計,以及一個可擴展的數(shù)字運動處理器DMP(DigitalMotionProcessor),可用I2C接口連接一個第三方的數(shù)字傳感器,比如磁力計。擴展之后就可以通過其I2C接口輸出一個6軸的信號。MPU-6050也可以通過其I2C接口連接非慣性的數(shù)字傳感器,比如壓力傳感器。MPU-6050對陀螺儀和加速度計分別用了三個16位的ADC,將其測量的模擬量轉(zhuǎn)化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運動,傳感器的測量范圍都是用戶可控的,陀螺儀可測范圍為±250,±500,±1000,±2000°/秒(dps),加速度計范圍為±2,±4,±8,±16g。一個片上1024字節(jié)的FIFO,有助于降低系統(tǒng)功耗。和所有設(shè)備寄存器之間的通信采用400kHz的I2C接口。對于需要高速傳輸?shù)膽?yīng)用,對寄存器的讀取和中斷可用20MHz的SPI。另外,片上還內(nèi)嵌了一個溫度傳感器和在工作環(huán)境下僅有±1%變動的振蕩器。芯片尺寸4×4×0.9mm,采用QFN封裝(無引線方形封裝),可承受最大10000g的沖擊,并有可編程的低通濾波器。(1)關(guān)于電源,MPU-6050可支持VDD范圍2.5V±5%,3.0V±5%,或3.3V±5%。另外MPU-6050還有一個VLOGIC引腳,用來為I2C輸出提供邏輯電平。VLOGIC電壓可取1.8±5%或者VDD。(2)以數(shù)字輸出6軸或9軸的旋轉(zhuǎn)矩陣、四元數(shù)(quaternion)、歐拉角格式(EulerAngleforma)的融合演算數(shù)據(jù)。(3)具有131LSBs/°/sec敏感度與全格感測范圍為±250、±500、±1000與±2000°/sec的3軸角速度感測器(陀螺儀)??沙淌娇刂疲页淌娇刂品秶鸀椤?g、±4g、±8g和±16g的3軸加速器。(4)移除加速器與陀螺儀軸間敏感度,降低設(shè)定給予的影響與感測器的飄移。數(shù)字運動處理(DMP:DigitalMotionProcessing)引擎可減少復(fù)雜的融合演算數(shù)據(jù)、感測器同步化、姿勢感應(yīng)等的負荷。運動處理數(shù)據(jù)庫支持Android、Linux與Windows內(nèi)建運作時間偏差與磁力感測器校正演算技術(shù),免除了客戶須另外進行校正的需求。(5)以數(shù)位輸入的同步引腳(Syncpin)支援視頻電子影相穩(wěn)定技術(shù)與GPS可程式控制的中斷(interrupt)支援姿勢識別、搖攝、畫面放大縮小、滾動、快速下降中斷、high-G中斷、零動作感應(yīng)、觸擊感應(yīng)、搖動感應(yīng)功能。(6)所用電容規(guī)格所用電容可以列入表3-2所示。表3-2電容規(guī)格表器件標簽規(guī)格數(shù)量校準濾波電容(Pin10)C1陶瓷,X7R,0.1uF±10%,2V1VDD旁路電容(Pin13)C2陶瓷,X7R,0.1uF±10%,4V1電荷泵電容(Pin20)C3陶瓷,X7R,10uF±10%,50V1VLOGIC旁路電容(Pin8)C4陶瓷,X7R,10uF±10%,4V1(7)中斷由中斷配置寄存器設(shè)置??膳渲玫捻椖堪↖NT引腳設(shè)置,中斷關(guān)閉和清除方法,以及中斷觸發(fā)??梢杂|發(fā)中斷的事件有:1)切換時鐘源;2)DMP完成;3)有新的數(shù)據(jù)可供讀?。◤腇IFO和數(shù)據(jù)寄存器);4)加速度計中斷;5)MPU-60X0未收到外接傳感器的回應(yīng)(輔助I2C總線)。中斷狀態(tài)可以從中斷狀態(tài)寄存器讀出。(8)I2C接口二線接口,包括串行數(shù)據(jù)線(SDA)和串行時鐘線(SCL)。連接到I2C接口的設(shè)備可做主設(shè)備或從設(shè)備。主設(shè)備將Slave地址傳到總線上,從設(shè)備用與其匹配的地址來識別主設(shè)備。當連接到系統(tǒng)芯片時,MPU-6050總是作為從設(shè)備。SDA和SCL信號線通常需要接上拉電阻到VDD。最大總線速率為400kHz。MPU-6050的Slave地址為b110100X,7位字長,最低有效位X由AD0管腳上的邏輯電平?jīng)Q定。這樣就可以允許兩個MPU-60X0連接到同一條I2C總線,此時,一個設(shè)備的地址為b1101000(AD0為邏輯低電平),另一個為b1101001(AD0為邏輯高)。圖3.1陀螺儀與加速度計連接圖3.3.2數(shù)字羅盤三維地磁傳感器利用了地球南北極的磁場所產(chǎn)生的吸力,并投影到X,Y,Z軸上,可以提供飛行器的航向角、俯仰角和橫滾角,從而可以確定物體的姿態(tài),實際上就是確定了物體坐標系與地理坐標系之間的方位關(guān)系。根據(jù)總體設(shè)計的要求,選用功耗低、體積小、重量輕的HMC5883L,霍尼韋爾HMC5883L是一種表面貼裝的高集成模塊,并帶有數(shù)字接口的弱磁傳感器芯片,應(yīng)用于低成本羅盤和磁場檢測領(lǐng)域。HMC5883L包括最先進的高分辨率HMC118X系列磁阻傳感器,并附帶霍尼韋爾專利的集成電路包括放大器、自動消磁驅(qū)動器、偏差校準、能使羅盤精度控制在1°~2°的12位模數(shù)轉(zhuǎn)換器.簡易的I2C系列總線接口。HMC5883L是采用無鉛表面封裝技術(shù),帶有16引腳,尺寸為3.0X3.0X0.9mm。HMC5883L采用霍尼韋爾各向異性磁阻(AMR)技術(shù),該技術(shù)的優(yōu)點是其他磁傳感器技術(shù)所無法企及。這些各向異性傳感器具有在軸向高靈敏度和線性高精度的特點.傳感器帶有的對于正交軸低敏感行的固相結(jié)構(gòu)能用于測量地球磁場的方向和大小,其測量范圍從毫高斯到8高斯(gauss)?;裟犴f爾的磁傳感器在低磁場傳感器行業(yè)中是靈敏度最高和可靠性最好的傳感器?;裟犴f爾HMC5883L磁阻傳感器電路是三軸傳感器并應(yīng)用特殊輔助電路來測量磁場。通過施加供電電源,傳感器可以將量測軸方向上的任何入射磁場轉(zhuǎn)變成一種差分電壓輸出。磁阻傳感器是由一個鎳鐵(坡莫合金)薄膜放置在硅片上,并構(gòu)成一個帶式電阻元件。在磁場存在的情況下,橋式電阻元件的變化將引起跨電橋輸出電壓的相應(yīng)變動。這些磁阻元件兩兩對齊,形成一個共同的敏感軸,隨著磁場在敏感方向上不斷增強,電壓也就正向增長。因為輸出只與沿著軸方向上的磁阻元件成比例,其他磁阻電橋也放置在正交方向上,就能精密測量其他方向的磁場強度。1.電源管理該器件可有兩種不同的供電模式。第一個是內(nèi)部運作的VDD供電電源,第二個是為IO接口供電的VDDIO電源,當然VDDIO的電壓可以與VDD電源電源相近;單電源模式,或在VDDIO電壓低于VDD的情況下,HMC5883L都能正常運作并能與其他裝置兼容。2.I2C接口制該裝置可以通過I2C總線來實現(xiàn)。該裝置將作為從機在一個主機(例如:處理器)的控制下連接總線。作為一個I2C兼容裝置,該裝置包含一個7-bit串行地址,并支持I2C協(xié)議。這一裝置可以支持標準和快速模式,分別為100kHz和400kHz,但不支持高速模式(Hs)。還需要外接電阻才能支持這些標準和快速模式。要求主機的活動(寄存器的讀取和寫入)優(yōu)先于內(nèi)部活動。3.操作模式該裝置有若干種模式,其主要目的是電源管理以及通過模式寄存器進行控制。(1)連續(xù)測量模式連續(xù)測量模式,在客戶所選擇的速率下進行連續(xù)的測量,并所測量的更新數(shù)據(jù)輸出寄存器。如果有必要,數(shù)據(jù)可以從數(shù)據(jù)輸出寄存器重新讀取,但是,如果主機并不能確保在下次測量完成之前可以訪問數(shù)據(jù)寄存器,數(shù)據(jù)寄存器上的舊的數(shù)據(jù)會被新的測量數(shù)據(jù)取代。為了保存測量之間的電流,該裝置被放置在一個類似閑置模式的狀態(tài),但模式寄存器沒有改變成空閑模式。即MD[n]位不變。配置寄存器A的設(shè)置在連續(xù)測量模式時會影響數(shù)據(jù)輸出速率(比特DO[n]),測量配置(bitsMS[n]),和增益(bitsGN[n])。所有寄存器在連續(xù)測量模式中保留數(shù)值。在連續(xù)測量模式下I2C總線可被網(wǎng)絡(luò)內(nèi)的其他裝置啟用。(2)單次測量模式這是預(yù)設(shè)的供電模式。在單測量模式,該裝置進行單次測量并將測量數(shù)據(jù)更新至輸出數(shù)據(jù)寄存器中。在完成測量和輸出數(shù)據(jù)寄存器的更新以后,通過設(shè)置MD[n]bits,該裝置被置于閑置模式,模式寄存器變更為閑置模式。配置寄存器的設(shè)置在單一測量模式時影響測量配置(bitsMS[n])。。在單測量模式中所有寄存器保留數(shù)值。在單測量模式下I2C總線可被網(wǎng)絡(luò)內(nèi)其他裝置啟用。4.閑置模式在此模式下,裝置可以通過I2C總線訪問,但主要電源能耗是禁用的,如ADC,放大器,傳感器偏置電流,但不僅限于這些。在空閑模式下所有寄存器保留數(shù)值。在閑置測量模式下I2C總線可被網(wǎng)絡(luò)內(nèi)其他裝置啟用。(2)外部電容器兩個外部電容器都應(yīng)為陶瓷型結(jié)構(gòu),具有低ESR特性。對于ESR值無具體要求但最好選擇低于200毫歐姆。儲能電容器C1電容的標稱值為4.7μF,置位/復(fù)位電容器C2的電容標稱值為0.22μF。特點:A、數(shù)字量輸出:I2C數(shù)字量輸出接口,設(shè)計使用非常方便。B、尺寸小:3x3x0.9mmLCC封裝,適合大規(guī)模量產(chǎn)使用。C、精度高:1-2度,內(nèi)置12位A/D,OFFSET,SET/RESET電路,不會出現(xiàn)磁飽和現(xiàn)象,不會有累加誤差。D、支持自動校準程序,簡化使用步驟,終端產(chǎn)品使用非常方便。E、內(nèi)置自測試電路,方便量產(chǎn)測試,無需增加額外昂貴的測試設(shè)備。F、功耗低:供電電壓1.8V,功耗睡眠模式--2.5微安測量模式--0.1mA圖3.2數(shù)字羅盤連接圖3.4無線通訊無線通信模塊是四旋翼無人直升機的重要組成部分,實現(xiàn)地面站對四旋翼無人直升機的飛行控制和跟蹤定位,同時四旋翼無人直升機可以把自身的狀態(tài)信息下傳給地面站,供研究人員分析使用。鑒于本文的具體應(yīng)用,以室內(nèi)飛行試驗為主,所以要求的無線傳輸距離不是很遠;工作頻段免費或者是ISM(Industrial)頻段,無需申請;接口電路簡單通用,自帶編解碼規(guī)則;體積小、重量輕、功耗低。根據(jù)以上一些要求,本文選用Nordic公司的NRF24L01芯片,nRF24L01是一款工作在2.4~2.5GHz,世界通用ISM頻段的單片無線收發(fā)器芯片無線收發(fā)器包括:頻率發(fā)生器增強型Schlockmeister模式控制器功率放大器晶體振蕩器調(diào)制器解調(diào)器。輸出功率、頻道選擇和協(xié)議的設(shè)置可以通過SPI接口進行設(shè)置。極低的電流消耗:當工作在發(fā)射模式下發(fā)射功率為-6dBm時電流消耗為9.0mA,接收模式時為12.3mA。掉電模式和待機模式下電流消耗更低。表3-3電氣特性參數(shù)數(shù)值單位最低供電電壓1.9V最大發(fā)射功率0dBm最大數(shù)據(jù)傳輸率2000kbps發(fā)射模式下電流消耗(0dBm)11.3mA接收模式下電流消耗(2000kbps)12.3mA溫度范圍-40~+85℃數(shù)據(jù)傳輸率為1000kbps下的靈敏度-85dBm掉電模式下電流消耗900nA1、工作模式nRF24L01可以設(shè)置為以下幾種主要的模式有六種,其具體情況及參數(shù)如表3-4所示。表3-4nRF24L01的工作模式模式PWR_UPPRIM_RXCEFIFO寄存器狀態(tài)接收模式111-發(fā)射模式1011數(shù)據(jù)存儲在FIFO寄存器中,發(fā)射所有數(shù)據(jù)發(fā)射模式100→12數(shù)據(jù)存儲在FIFO寄存器中,發(fā)射一個數(shù)據(jù)待機模式II101TXFIFO為空待機模式I1-0無正在傳輸?shù)臄?shù)據(jù)掉電模式0注1:進入此模式后,只要CSN置高,在FIFO中的數(shù)據(jù)就會立即發(fā)射出去,直到所有數(shù)據(jù)數(shù)據(jù)發(fā)射完畢,之后進入待機模式II。注2:正常的發(fā)射模式,CE端的高電平應(yīng)至少保持10us。24L01將發(fā)射一個數(shù)據(jù)包,之后進入待機模式I。2.待機模式(1)待機模式I在保證快速啟動的同時減少系統(tǒng)平均消耗電流。在待機模式I,下晶振正常工作。在待機模式II下部分時鐘緩沖器處在工作模式。當發(fā)送端TXFIFO寄存器為空并且CE為高電平時進入待機模式II。在待機模式期間,寄存器配置字內(nèi)容保持不變。(2)掉電模式在掉電模式下,nRF24L01各功能關(guān)閉,保持電流消耗最小。進入掉電模式后,nRF24L01停止工作,但寄存器內(nèi)容保持不變。掉電模式由寄存器中PWR_UP位來控制。表3-5nRF24L01在不同模式下的引腳功能引腳名稱方向發(fā)送模式接收模式待機模式掉電模式CE輸入高電>10us高電平低電平-CSN輸入SPI片選使能低電平使能SCK輸入SPI時鐘MOSI輸入SPI串行輸入MISO三態(tài)輸出SPI串行輸出IRQ輸出中斷低電平使能3.數(shù)據(jù)包處理方式nRF24L01有如下幾種數(shù)據(jù)包處理方式(1)Blockbuster(2)增強型ShockBurstTM模式其中,在增強型ShockBurstTM模式下,nRF24L01有如下的特征:1)當工作在應(yīng)答模式時快速的空中傳輸及啟動時間極大的降低了電流消耗?2)低成本nRF24L01集成了所有高速鏈路層操作比如重發(fā)丟失數(shù)據(jù)包和產(chǎn)生應(yīng)答信號無需單3)片機硬件上一定有SPI口與其相連SPI接口可以利用單片機通用I/O口進行模擬?4)由于空中傳輸時間很短極大的降低了無線傳輸中的碰撞現(xiàn)象?5)由于鏈路層完全集成在芯片上非常便于軟硬件的開發(fā)4.兩種數(shù)據(jù)雙方向的通訊方式如果想要數(shù)據(jù)在雙方向上通訊,PRIM_RX寄存器必須緊隨芯片工作模式的變化而變化。處理器必須保證PTX和PRX端的同步性在RX_FIFO和TX_FIFO寄存器中可能同時存有數(shù)據(jù)。(1)自動應(yīng)答(RX)自動應(yīng)答功能減少了外部MCU的工作量,并且在鼠標/鍵盤等應(yīng)用中也可以不要求硬件一定有SPI接口,因此降低成本減少電流消耗。自動重應(yīng)答功能可以通過SPI口對不同的數(shù)據(jù)通道分別進行配置。在自動應(yīng)答模式使能的情況下收到有效的數(shù)據(jù)包后系統(tǒng)將進入發(fā)送模式并發(fā)送確認信號發(fā)送完確認信號后系統(tǒng)進入正常工作模式(工作模式由PRIM_RX位和CE引腳決定)。(2)自動重發(fā)功能ART(TX)自動重發(fā)功能是針對自動應(yīng)答系統(tǒng)的發(fā)送方。SETUP_RETR寄存器設(shè)置:啟動重發(fā)數(shù)據(jù)的時間長度。在每次發(fā)送結(jié)束后系統(tǒng)都會進入接收模式并在設(shè)定的時間范圍內(nèi)等待應(yīng)答信號。接收到應(yīng)答信號后,系統(tǒng)轉(zhuǎn)入正常發(fā)送模式,如果TXFIFO中沒有待發(fā)送的數(shù)據(jù)且CE腳電平為低,則系統(tǒng)將進入待機模式I。如果沒有收到確認信號,則系統(tǒng)返回到發(fā)送模式并重發(fā)數(shù)據(jù)直到收到確認信號或重發(fā)次數(shù)超過設(shè)定值(達到最大的重發(fā)次數(shù))有新的數(shù)據(jù)發(fā)送或PRIM_RX寄存器配置改變時丟包計數(shù)器復(fù)位。數(shù)據(jù)包識別和CRC校驗應(yīng)用于增強型ShockBurstTM模式下,每一包數(shù)據(jù)都包括兩位的PID數(shù)據(jù)包識別來識別接收的數(shù)據(jù)是新數(shù)據(jù)包還是重發(fā)的數(shù)據(jù)包。PID識別可以防止接收端同一數(shù)據(jù)包多次送入MCU,在發(fā)送方每從MCU取得一包新數(shù)據(jù)后PID值加一,PID和CRC校驗應(yīng)用在接收方識別接收的數(shù)據(jù)是重發(fā)的數(shù)據(jù)包還是新數(shù)據(jù)包,如果在鏈接中有一些數(shù)據(jù)丟失了則PID值與上一包數(shù)據(jù)的PID值相同,如果一包數(shù)據(jù)擁有與上一包數(shù)據(jù)相同的PID值,nRF24L01將對兩包數(shù)據(jù)的CRC值進行比較。如果CRC值也相同的話就認為后面一包是前一包的重發(fā)數(shù)據(jù)包而被舍棄。1)接收方:接收方對新接收數(shù)據(jù)包的PID值與上一包進行比較。如果PID值不同,則認為接收的數(shù)據(jù)包是新數(shù)據(jù)包。如果PID值與上一包相同,則新接收的數(shù)據(jù)包有可能與前一包相同,接收方必須確認CRC值是否相等,如果CRC值與前一包數(shù)據(jù)的CRC值相等,則認為是同一包數(shù)據(jù)并將其舍棄。2)發(fā)送方:每發(fā)送一包新的數(shù)據(jù)則發(fā)送方的PID值加一。CRC校驗的長度是通過SP接口進行配置的。一定要注意CRC計算范圍包括整個數(shù)據(jù)包:地址、ID和有效數(shù)據(jù)等。若CRC校驗錯誤則不會接收數(shù)據(jù)包,這一點是接收數(shù)據(jù)包的附加要求。載波檢測-CD當接收端檢測到射頻范圍內(nèi)的信號時將CD置高,否則CD為低。內(nèi)部的CD信號在寫入寄存器之前是經(jīng)過濾波的,內(nèi)部CD高電平狀態(tài)至少保持128us以上。在增強型ShockBurstTM模式中只有當發(fā)送模塊沒有成功發(fā)送數(shù)據(jù)時,推薦使用CD檢測功能。如果發(fā)送端PLOS_CNT顯示數(shù)據(jù)包丟失率太高時,可將其設(shè)置位接收模式檢測CD值,如果CD為高(說明通道出現(xiàn)了擁擠現(xiàn)象),需要更改通信頻道;如果CD為低電平狀態(tài)(距離超出通信范圍),可保持原有通信頻道,但需作其它調(diào)整。在增強型ShockBurstTM模式中只有當發(fā)送模塊沒有成功發(fā)送數(shù)據(jù)時推薦使用CD檢測功能如果發(fā)送端PLOS_CNT顯示數(shù)據(jù)包丟失率太高時可將其設(shè)置位接收模式檢測CD值,如果CD為高(說明通道出現(xiàn)了擁擠現(xiàn)象),需要更改通信頻道;如果CD為低電平狀態(tài)(距離超出通信范圍),可保持原有通信頻道,但需作其它調(diào)整。(4)數(shù)據(jù)通道nRF24L01配置為接收模式時可以接收6路不同地址相同頻率的數(shù)據(jù),每個數(shù)據(jù)通道擁有自己的地址并且可以通過寄存器來進行分別配置。數(shù)據(jù)通道是通過寄存器EN_RXADDR來設(shè)置的,默認狀態(tài)下只有數(shù)據(jù)通道0和數(shù)據(jù)通道1是開啟狀態(tài)的。每一個數(shù)據(jù)通道的地址是通過寄存器RX_ADDR_Px來配置的。通常情況下不允許不同的數(shù)據(jù)通道設(shè)置完全相同的地址。數(shù)據(jù)通道0有40位可配置地址。數(shù)據(jù)通道1~5的地址為:32位共用地址+各自的地址最低字節(jié)。所有數(shù)據(jù)通道可以設(shè)置為多達40位但是1~5數(shù)據(jù)通道的最低位必須不同。當從一個數(shù)據(jù)通道中接收到數(shù)據(jù)并且此數(shù)據(jù)通道設(shè)置為應(yīng)答方式的話,nRF24L01在收到數(shù)據(jù)后產(chǎn)生應(yīng)答信號,此應(yīng)答信號的目標地址為接收通道地址。寄存器配置有些是針對所有數(shù)據(jù)通道的有些則是針對個別的。(5)SPISPI接口:SPI接口是標準的SPI接口,其最大的數(shù)據(jù)傳輸率為10Mbps。大多數(shù)寄存器是可讀的。表3-5nRF24L01時序信息nRF24L01時序最大值最小值參數(shù)名掉電模式→待機模式1.5msTpd2stby待機模式→發(fā)送/接收模式130usTstby2aCE高電平保持時間10usThceCSN為低電平,CE上升沿的延遲時間4usTpece2csn指令設(shè)置:SPI接口可能用到的指令在下面有所說明,CSN為低后SPI接口等待執(zhí)行指令,每一條指令的執(zhí)行都必須通過一次CSN由高到低的變化。nRF24L01在掉電模式下轉(zhuǎn)入發(fā)射模式或接收模式前必須經(jīng)過1.5ms的待機模式。注意當關(guān)掉電源VDD后寄存器配置內(nèi)容丟失,模塊上電后需重新進行配置。(6)天線輸出ANT1和ANT2輸出腳給天線提供穩(wěn)定的RF輸出,這兩個腳必須連接到VDD的直流通路,或者通過RF扼流圈,或者通過天線雙極的中心點。在輸出功率最大時0dBm,推薦使用負載阻抗為15+j88Ω。通過簡單的網(wǎng)絡(luò)匹配可以獲得較低的阻抗。表3-6輸出功率調(diào)節(jié)RF_PWR輸出功率電流消耗110dBm11.3mA10-6dBm9.0mA01-12dBm7.5mA00-18dBm7.0mA工作條件:VDD=3.0V,VSS=0V,TA=27℃,負載=15+j88Ω(7)晶振規(guī)格晶振頻率的精確度取決于出廠時精度的設(shè)置和在溫度變化及老化過程中的穩(wěn)定性。表3-8晶振參數(shù)頻率CLESRC0max精度16MHz8-16pF1007.0pF60ppm為了實現(xiàn)晶體振蕩器低功耗和快速啟動的目的建議使用表中容值較小的電容最好晶振的并聯(lián)等效電容CO=1.5pF但考慮成本因素通常以Co_max=7.0pF代替Co=1.5pF負載電容CL由以下公式給出,這里和為貼片電容,和為PCB布線的寄生電容和是和引腳看進去的電容;典型值為1pF。圖3.3無線通訊電路連接圖3.5電機驅(qū)動通過PWM可以控制電機的轉(zhuǎn)速,電機轉(zhuǎn)的速度跟流過的電流有關(guān)也就是跟加在兩端的電壓有關(guān),但是單片機并不能輸出可調(diào)的直流電壓,而是用脈寬調(diào)制(PWM)方式來控制電機的輸入電壓。通過控制PWM可以實現(xiàn)對加在兩端實際等效電壓的控制從而實現(xiàn)控制速度,PWM占空比越高,等效電壓就越高,占空比越低,等效電壓就越低。無刷電機轉(zhuǎn)動有個換相的問題這個時候就要根據(jù)電機轉(zhuǎn)動而進行控制mos管的開關(guān)實現(xiàn)換向。換相不能控制轉(zhuǎn)速,轉(zhuǎn)速由電壓決定的也就是由PWM決定的,只是轉(zhuǎn)動過程中不得不“換相”,換個說法PWM是“主動”的,換相是“被動”的。3.5.1無刷電機無刷直流電動機的學(xué)名叫“無換向器電機”或“無整流子電機”,是一種新型的無級變速電機,它由一臺同步電機和一組逆變橋所組成。它具有直流電機那樣良好的調(diào)速特性,但是由於沒有換向器,因而可做成無接觸式,具有結(jié)構(gòu)簡單,制造方便,不需要經(jīng)常性維護等優(yōu)點,是一種現(xiàn)想的變速電機。在使用中,無刷電機相比有刷電機有許多的優(yōu)點:1)能獲得更好的扭矩轉(zhuǎn)速特性;2)高速動態(tài)響應(yīng);3)高效率;4)長壽命;5)低噪聲;6)高轉(zhuǎn)速。特別是去單位體積的功率輸出特性使得其可以用于對尺寸和重量敏感的場合。這些優(yōu)良的特性使得無刷電機在工業(yè)控制領(lǐng)域、汽車工業(yè)、航空航天等等領(lǐng)域有著非常廣泛的應(yīng)用!3.5.2PWM調(diào)速脈沖寬度調(diào)制(PWM)是英文“PulseWidthModulation”的縮寫,簡稱脈寬調(diào)制。它是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用于測量,通信,功率控制與變換等許多領(lǐng)域。一種模擬控制方式,根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實現(xiàn)開關(guān)穩(wěn)壓電源輸出晶體管或晶體管導(dǎo)通時間的改變,這種方式能使電源的輸出電壓在工作條件變化時保持恒定。

脈沖寬度調(diào)制(PWM)是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數(shù)字的,因為在給定的任何時刻,滿幅值的直流供電要么完全有(ON),要么完全無(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。

多數(shù)負載(無論是電感性負載還是電容性負載)需要的調(diào)制頻率高于10Hz,通常調(diào)制頻率為1kHz到200kHz之間。PWM調(diào)速系統(tǒng)有下列優(yōu)點:由于PWM調(diào)速系統(tǒng)的開關(guān)頻率較高,僅靠電樞電感的濾波作用就可以獲得脈動很小的直流電流,電樞電流容易連續(xù),系統(tǒng)的低速運行平穩(wěn),調(diào)速范圍較寬,可達1:10000左右。同樣由于開關(guān)頻率高,若與快速響應(yīng)的電機相配合,系統(tǒng)可以獲得很寬的頻帶,因此快速響應(yīng)性能好,動態(tài)抗擾能力強。由于電力電子器件只工作在開關(guān)狀態(tài),主電路損耗較小,裝置效率較高。根據(jù)以上綜合比較,以及本設(shè)計中受控電機的容量和直流電機調(diào)速的發(fā)展方向,本設(shè)計采用了PWM變換器進行調(diào)速。脈寬調(diào)速系統(tǒng)的主電路采用脈寬調(diào)制式變換器,簡稱PWM變換器。3.5.3可控開關(guān)的選擇通過控制信號既可以控制其導(dǎo)通,又可以控制其關(guān)斷的電力電子器件被稱為全控型器件,又稱為自關(guān)斷器件;這類器件很多,門極可關(guān)斷晶閘管(Gate-Turn-OffThyristor—GTO),電力場效應(yīng)晶體管(PowerMOSFET),絕緣柵雙極晶體管(Insulate-GateBipolarTransistor—IGBT)均屬于此類。對IGBT、GTR、GTO和電力MOSFET的優(yōu)缺點的比較如表3-7所示。表3-7各器件優(yōu)缺點的比較器件優(yōu)點缺點

IGBT開關(guān)速度高,開關(guān)損耗小,具有耐脈沖電流沖擊的能力,通態(tài)壓降較低,輸入阻抗高,為電壓驅(qū)動,驅(qū)動功率小開關(guān)速度低于電力MOSFET,電壓,電流容量不及GTO

GTR耐壓高,電流大,開關(guān)特性好,通流能力強,飽和壓降低開關(guān)速度低,為電流驅(qū)動,所需驅(qū)動功率大,驅(qū)動電路復(fù)雜,存在二次擊穿問題

GTO電壓、電流容量大,適用于大功率場合,具有電導(dǎo)調(diào)制效應(yīng),其通流能力很強電流關(guān)斷增益很小,關(guān)斷時門極負脈沖電流大,開關(guān)速度低,驅(qū)動功率大,驅(qū)動電路復(fù)雜,開關(guān)頻率低

電力MOSFET開關(guān)速度快,輸入阻抗高,熱穩(wěn)定性好,所需驅(qū)動功率小且驅(qū)動電路簡單,工作頻率高,不存在二次擊穿問題電流容量小,耐壓低,一般只適用于功率不超過10kW的電力電子裝置通過上述的比較,我選擇MOSFET?!癕OSFET”是英文MetalOxideSemiconductorFieldEffectTransistor的縮寫譯成中文是“金屬氧化物半導(dǎo)體場效應(yīng)管”。它是由金屬、氧化物(SiO2或SIN)及半導(dǎo)體三種材料制成的器件。依照其“通道”的極性不同,可分為n-type與p-type的MOSFET,通常又稱為NMOSFET與PMOSFET,其他簡稱尚包括NMOSFET、PMOSFET、nMOSFET、pMOSFET等。綜合考慮選擇N溝道的SI2302,要使增強型N溝道MOSFET工作,要在G、S之間加正電壓VGS及在D、S之間加正電壓VDS,則產(chǎn)生正向工作電流ID。改變VGS的電壓可控制工作電流ID。若先不接VGS(即VGS=0),在D與S極之間加一正電壓VDS,漏極D與襯底之間的PN結(jié)處于反向,因此漏源之間不能導(dǎo)電。如果在柵極G與源極S之間加一電壓VGS。此時可以將柵極與襯底看作電容器的兩個極板,而氧化物絕緣層作為電容器的介質(zhì)。當加上VGS時,在絕緣層和柵極界面上感應(yīng)出正電荷,而在絕緣層和P型襯底界面上感應(yīng)出負電荷。這層感應(yīng)的負電荷和P型襯底中的多數(shù)載流子(空穴)的極性相反,所以稱為“反型層”,這反型層有可能將漏與源的兩N型區(qū)連接起來形成導(dǎo)電溝道。當VGS電壓太低時,感應(yīng)出來的負電荷較少,它將被P型襯底中的空穴中和,因此在這種情況時,漏源之間仍然無電流ID。當VGS增加到一定值時,其感應(yīng)的負電荷把兩個分離的N區(qū)溝通形成N溝道,這個臨界電壓稱為開啟電壓(或稱閾值電壓、門限電壓),用符號VT表示(一般規(guī)定在ID=10uA時的VGS作為VT)。當VGS繼續(xù)增大,負電荷增加,導(dǎo)電溝道擴大,電阻降低,ID也隨之增加,并且呈較好線性關(guān)系,在一定范圍內(nèi)可以認為,改變VGS來控制漏源之間的電阻,達到控制ID的作用。SI2302的主要參數(shù):晶體管類型:N溝道MOSFET最大功耗PD:1.25W柵極門限電壓VGS:2.5V(典型值)漏源電壓VDS:20V(極限值)漏極電流ID:2.8A通態(tài)電阻RDS(on):0.145ohm(典型值)柵極漏電流IGSS:±100nA結(jié)溫:55℃to+150℃目前常用的無刷直流電機控制方法可分為3類:開環(huán)控制,轉(zhuǎn)速負反饋控制和電壓負反饋加電流正反饋控制。其中開環(huán)控制方式適合于轉(zhuǎn)速精度要求不高的場合,轉(zhuǎn)速負反饋方式適合于機械特性要求比較硬、轉(zhuǎn)速精度比較高的場合,而電壓負反饋電流正反饋方式則應(yīng)用于動態(tài)性能要求比較高的場合。本設(shè)計由于要求精度不高,采用開環(huán)控制。圖4電機驅(qū)動電路連接圖3.6供電電路電源模塊在系統(tǒng)中的地位是極其重要的,四旋翼無人直升機要穩(wěn)定工作必須有穩(wěn)定的電源供給作為保障,為系統(tǒng)的各個模塊提供動力。穩(wěn)定的電源可以使系統(tǒng)在各種環(huán)境下長時間穩(wěn)定的工作,而如果電源模塊設(shè)計得不夠合理,那么就像在系統(tǒng)中埋下了一顆不定時炸彈,系統(tǒng)隨時都可能因此而崩潰。所以電源模塊的設(shè)計必須非常慎重,以保證系統(tǒng)工作的穩(wěn)定性。在本控制系統(tǒng)中,電路對電源的要求如下:1.為電機提供3.7V電源,對電源的穩(wěn)定性要求不高,但功率要求很高,經(jīng)測量,每個電機功率為0.8瓦特。2.加速度傳感器、信息采集系統(tǒng)、接收模塊、LED等需要提供3.3V電壓,對穩(wěn)定性要求高,但對功率要求不大。可見除了3.7V電源以外,其他電源都輸出功率相對較小,但要求具有相當高的穩(wěn)定性,需要降壓穩(wěn)壓,由于3.7V電源需要提供較大功率,而對穩(wěn)定性沒有多大要求,目前暫無滿足需要的穩(wěn)壓芯片,因此直接采用有纜電源。3.6.1電池選擇在電路中電源是一個不可缺少的部分,很大程度上影響到電路的性能指標。在設(shè)計電源時,需要滿足電路的電壓和功率要求,而且輸出穩(wěn)定,為提高電源特性,增加去耦電容。故選用微型鋰電池HENGLI-10AH。參數(shù):1)容量:10Ah2)電池電壓:3.7伏3)放電倍率:25C4)充電終止電壓:4.2伏5)放電終止電壓:2.75伏6)尺寸:39mmx0.5mm7)重量:11克3.6.2電壓變換器的選擇輸入電壓和輸出電壓很接近,最好是選用LDO穩(wěn)壓器,可達到很高的效率。所以,在把鋰離子電池電壓轉(zhuǎn)換為3V輸出電壓的應(yīng)用中大多選用LDO穩(wěn)壓器。雖說電池的能量最後有百分之十是沒有使用,LDO穩(wěn)壓器仍然能夠保證電池的工作時間較長,同時噪音較低。LDO是一種微功耗的低壓差線性穩(wěn)壓器,它通常具有極低的自有噪聲和較高的電源抑制比PSRR(PowerSupplyRejectionRatio)。LDO是新一代的集成電路穩(wěn)壓器,它與三端穩(wěn)壓器最大的不同點在于,LDO是一個自耗很低的微型片上系統(tǒng)(SoC)。它可用于電流主通道控制,芯片上集成了具有極低線上導(dǎo)通電阻的MOSFET,肖特基二極管、取樣電阻和分壓電阻等硬件電路,并具有過流保護、過溫保護、精密基準源、差分放大器、延遲器等功能。PG是新一代LDO,具各輸出狀態(tài)自檢、延遲安全供電功能,也可稱之為PowerGood,即“電源好或電源穩(wěn)定”。

LDO低壓差線性穩(wěn)壓器的結(jié)構(gòu)主要包括啟動電路、恒流源偏置單元、使能電路、調(diào)整元件、基準源、誤差放大器、反饋電阻網(wǎng)絡(luò)和保護電路等。基本工作原理是這樣的:系統(tǒng)加電,如果使能腳處于高電平時,電路開始啟動,恒流源電路給整個電路提供偏置,基準源電壓快速建立,輸出隨著輸入不斷上升,當輸出即將達到規(guī)定值時,由反饋網(wǎng)絡(luò)得到的輸出反饋電壓也接近于基準電壓值,此時誤差放大器將輸出反饋電壓和基準電壓之間的誤差小信號進行放大,再經(jīng)調(diào)整管放大到輸出,從而形成負反饋,保證了輸出電壓穩(wěn)定在規(guī)定值上,同理如果輸入電壓變化或輸出電流變化,這個閉環(huán)回路將使輸出電壓保持不變,即:Vout=(R1+R2)/R2×Vref。SP6205是一款低噪聲輸出的CMOS型LDO,其具有低壓差、低靜態(tài)電流等特點。在不犧牲開/關(guān)速度的情況下,僅通過一個外部旁通電容即可實現(xiàn)極低的噪聲輸出。該器件使用很簡單,性能很穩(wěn)定,具有出色的PSRR及線性/負載調(diào)節(jié)特性。適合應(yīng)用于一些電池供電的設(shè)備:如手持類及無線通信類的產(chǎn)品。調(diào)節(jié)器的靜態(tài)電流僅在降壓時有輕微增加??焖匍_/關(guān)控制模塊及輸出端內(nèi)部的30Ω下拉電阻,可以使輸出端在無負載的情況下快速放電。SP6205內(nèi)部具有過流保護及過熱關(guān)斷模塊。SP6205的特性:

低壓差:內(nèi)嵌0.6ΩPMOS型濾波模塊。

高精度輸出電壓:溫度范圍內(nèi),誤差小于2%。

極低噪聲輸出:12uVRMS帶10nF旁通電容;2.2uF陶瓷電容即可穩(wěn)定輸出;500mA負載時,地點電流僅為350uA;節(jié)能斷電模式,功耗小于1uA;快速開/關(guān)功能:60us;

快速靜態(tài)響應(yīng);過流保護及過熱關(guān)斷保護;出色的PSRR特性:67dB<1kHz;具有工業(yè)標準的5引腳SOT-23及8引腳DFN封裝。

定輸出電壓:2.5V,2.7V,2.8V,2.85V,3.0V及3.3V;SP6205-ADJ輸出電壓可調(diào)。圖5供電電路圖蓄電池剩余電量是飛行器能夠運行至關(guān)重要的的一個問題,因為蓄電池電量的多少直接影響整個供電系統(tǒng)的可靠性。而供電系統(tǒng)的可靠性將決定整個系統(tǒng)能否正常運行。因此及時準確的檢測蓄電池剩余電量變得非常重要。3.7本章小結(jié)本章圍繞著飛行控制系統(tǒng)的硬件設(shè)計要求,介紹了四旋翼無人直升機控制系統(tǒng)的硬件電路設(shè)計。論述了系統(tǒng)主要模塊的硬件設(shè)計包括模塊的器件選型和設(shè)計方法,包括主控制器模塊、信息采集模塊、四電機控制模塊、無線通信模塊和電源模塊.本章在總體設(shè)計方案的的基礎(chǔ)上,對四旋翼飛行器飛行控制系統(tǒng)的硬件系統(tǒng)進行了設(shè)計,重點集中在飛行控制系統(tǒng)硬件的選型和特點。第四章控制算法在四旋翼飛行器工作原理和線性模型的基礎(chǔ)上,本章提出控制系統(tǒng)的控制策略以及實施方案,設(shè)計四旋翼飛行器在懸停狀態(tài)下運動控制律,標定加速度減少系統(tǒng)誤差,進行姿態(tài)解算并進行數(shù)據(jù)融合,實現(xiàn)飛行器的穩(wěn)定與平衡。4.1標定加速度傳感器總會有缺陷,測量的值有誤差,所以要校正。要校正加速度計,最簡單有效的辦法就是利用重力了。以不同方向在靜止狀態(tài)測量加速度,然后把數(shù)據(jù)擬合到當?shù)刂亓铀俣龋屯瓿蓪铀俣扔嫷臉硕?設(shè)為實際加速度分量,為當?shù)刂亓铀俣戎?。理想情況下有下面的等式:

(式4.1)但測量有誤差,設(shè)測量值為,則測量值和實際值可以用下面的公式擬合。擬合方式為線性擬合,其中是比例因子,為偏移因子。通過這條公式,可以把測量值“變成”實際值(下面稱作“估計值”),標定加速度計的目標,就是確定這六個參數(shù)(下面稱作“參數(shù)”),使估計值更接近實際值。(式4.2)代入理想情況的等式,有:(式4.3)展開得:(式4.4)為方便推導(dǎo)運算,攜程以下形式:(式4.5)比較以上兩式,有:(式4.6)反過來有:(式4.7)現(xiàn)在已經(jīng)在靜止狀態(tài)測量出一些數(shù)據(jù),記作[xn,yn,zn],表示第n組測量值,對應(yīng)的實際值都是重力G0。為了衡量參數(shù)的合適程度,引入誤差函數(shù)Δn,表示第n個估計值與實際值的偏差,如果硬要說出具體意義,就是:估計值和實際值的平方差的1/k倍。(式4.8)Δn是第n組數(shù)據(jù)的偏差,我們的目標是整體偏差最小,所以引入整體偏差指數(shù)I,等于全部數(shù)據(jù)的偏差的平方和(“最小二乘法”的“二乘”就是指平方)。(式4.9)我們的目標是找出一組參數(shù),使整體的估計值最接近實際值。換句話說,就是:已知[]求使I最小的[]。,用I分別對[],求偏導(dǎo),然后通通都要是0,這是I最小的必要條件。于是得到下面7條方程,對于[],都是線性方程,組合起來就是一組7*7的齊次線性方程組。(式4.10)引入列向量v和pn,v為變量組,pn為系數(shù)組,單個偏差可以寫成它們的點積。(式4.11)再經(jīng)過一些變換,得到最后的矩陣形式A。(式4.12)4.2姿態(tài)結(jié)算姿態(tài)解算的核心在于旋轉(zhuǎn),一般旋轉(zhuǎn)有4種表示方式:矩陣表示、歐拉角表示、軸角表示和四元數(shù)表示。矩陣表示適合變換向量,歐拉角最直觀,軸角表示則適合幾何推導(dǎo),而在組合旋轉(zhuǎn)方面,四元數(shù)表示最佳。因為姿態(tài)解算需要頻繁組合旋轉(zhuǎn)和用旋轉(zhuǎn)變換向量,所以采用四元數(shù)保存組合姿態(tài)、輔以矩陣來變換向量的方案。四元數(shù)可以理解為一個實數(shù)和一個向量的組合,也可以理解為四維的向量。這里用一個圈表示q是一個四元數(shù)。(式4.13)旋轉(zhuǎn)的“軸角表示”轉(zhuǎn)“四元數(shù)表示”。這里創(chuàng)造一個運算q(w,θ),用于把繞單位向量w轉(zhuǎn)θ角的旋轉(zhuǎn)表示為四元數(shù)。(式4.14)通過q(w,θ),引伸出一個更方便的運算q(f,t)。有時需要把向量f的方向轉(zhuǎn)到向量t的方向,這個運算就是生成表示對應(yīng)旋轉(zhuǎn)的四元數(shù)的。(式4.15)然后是“四元數(shù)表示”轉(zhuǎn)“矩陣表示”。再次創(chuàng)造運算,用R(q)表示四元數(shù)q對應(yīng)的矩陣(后面用到)。(式4.16)多個旋轉(zhuǎn)的組合可以用四元數(shù)的乘法來實現(xiàn)。(式4.17)“四元數(shù)表示”轉(zhuǎn)“歐拉角表示”。用于顯示。(式4.18)4.3融合算法角速度傳感器輸出的角速度是瞬時的角加速度量,一般的平衡控制系統(tǒng)不能直接使用它。我們需要得到角度的變化量來進行平衡控制,這就需要使用角速度和時間進行積分運算,從而得到角度的變化量。然后這個角度的變化量就能用于平衡控制。所以在實際的四軸飛行系統(tǒng)中,首先要對角速度傳感器做積分運算。理論上,物體的初始姿勢,通過角速度傳感器的積分運算,能得到物體的最終姿勢,但是,積分運算是有誤差的,隨著時間的流逝,誤差越來越大,最終這個計算出來的變化的角度就和實際的角度相差較遠。從而導(dǎo)致姿勢和預(yù)想的發(fā)生偏差。加速度傳感器是以重力作為參考力方向的,在無外力的情況下,測量出來的是物體的絕對姿勢。但是它無法區(qū)分重力加速度和外力加速度。因為運動中的四軸飛行器同時受到重力和外力的作用,所以加速度傳感器的姿勢輸出也無法反映飛行器最真實的姿態(tài)。在短時間內(nèi)使用角加速度的值,在長時間內(nèi)使用加速度的值進行校正,從而得到接近真實值的姿勢。所以在一個四軸飛行器系統(tǒng)中,對角速度傳感器進行PI運算,四軸飛行器就有了瞬時的增穩(wěn),能夠進行飛行,由于累積的誤差作用,很快中心點就會偏離水平位置,通過使用加速度傳感器不斷對角速度傳感器進行糾正,就能使得四軸飛行器的中心點保持在水平位置,實現(xiàn)平衡飛行。長期融合的目的有兩個:一、得到初始姿態(tài);二、用直接測量的姿態(tài)(下稱直接姿態(tài)),糾正陀螺儀積分得出的姿態(tài)。直接測量的量包括加速度和磁場強度。長期融合有兩個階段,第一階段是獲得直接姿態(tài),第二階段是用直接姿態(tài)糾正當前姿態(tài)。用加速度和磁場強度計算直接姿態(tài):獲取直接姿態(tài)的過程,其實是利用了空間中的兩個場——重力場和地磁場,把測得的加速度和磁場強度旋轉(zhuǎn)到“原來的位置”,其中的“旋轉(zhuǎn)”就是我們需要的直接姿態(tài)了。但由于干擾和誤差,測得的值不可能旋轉(zhuǎn)到與實際的場一致。單位化:變換到對角線和平面法線。因為不能把加速度和磁場強度旋轉(zhuǎn)到與對應(yīng)的場一致,于是變換一下,使他們的對角線和平面法線與場對應(yīng)的量重合,這是可以做到的。(式4.19)然后旋轉(zhuǎn)分兩步:首先使對角線重合,得到第一個旋轉(zhuǎn)。(式4.20)在第二次旋轉(zhuǎn)前,要用第一個旋轉(zhuǎn)變換一下測量量的平面法線。因為經(jīng)過第一次旋轉(zhuǎn),測量量的平面法線也跟著轉(zhuǎn)了。

(式4.21)接著就是第二次旋轉(zhuǎn),使平面法線重合。(式4.22)組合兩次旋轉(zhuǎn),直接姿態(tài)就出來了。(式4.23)第二階段是糾正當前姿態(tài),這里用的是最簡單的——線性插值再單位化。

(式4.24)先用測得的角速度和積分間隔構(gòu)造“微旋轉(zhuǎn)”,這里用了小角三角近似sin(Δ)≈Δ,cos(Δ)≈1:(式4.25)然后用四元數(shù)組合:(式4.27)高速陀螺儀積分,以獲得高響應(yīng)性能,低速加速度計和羅盤融合,以糾正積分漂移,也就是說,利用加速度和磁場強度,糾正陀螺儀積分的漂移誤差。也就是說,要誤差趨向0。如果0是誤差的一個極值,就可以用梯度下降法來逼近了。定義一下向量的表示方式。

從飛行器坐標系到世界坐標系的轉(zhuǎn)換:

取重力反方向為z軸正方向,磁北為y軸正方向,則兩個常量取值如下。

(式4.28)然后定義誤差,Δa為重力加速度與測量的加速度的偏差,Δh為地磁場與測量的磁場的偏差。

其實由于相減的向量是單位向量,Δ很小時|Δ|就相當于角度啦。

為了利用那3個0和1個1,把常量變換到飛行器坐標系,而不是把測量量變換到世界坐標系。(式4.29)(式4.30)兩個誤差要合成一個誤差函數(shù),因為我只會“值為標量的函數(shù)”的梯度下降法。這里用長度的平方和。

(式4.31)f總是大于等于0的,0肯定是極小值了,可以用梯度下降法。

(式4.32)有了梯度,剩下就是確定步長γ了。確定步長是梯度下降法的核心。(式4.33)4.4控制算法要對微型飛行器進行控制,首先要得到飛行器的當前姿態(tài).姿態(tài)解算需要從姿態(tài)測量系統(tǒng)得到原始測量數(shù)據(jù).首先獲取初始姿態(tài),然后使用四元數(shù)算法進行姿態(tài)更新,再將四元數(shù)轉(zhuǎn)換為歐拉角,通過互補濾波器進行姿態(tài)矯正,最后將矯正后的歐拉角轉(zhuǎn)換為四元數(shù)并將其規(guī)范化,進行下一次的姿態(tài)更新.每個控制周期分三步:計算當前姿態(tài)與目標姿態(tài)的誤差,用誤差得出需要的力矩,和用力矩控制四個電機的油門。1、計算姿態(tài)誤差首先定義幾個量,都是四元數(shù)。當前姿態(tài)(attitude):,目標姿態(tài)(target):,當前姿態(tài)旋轉(zhuǎn)到目標姿態(tài)的旋轉(zhuǎn)增量(rotation):,其中旋轉(zhuǎn)量是姿態(tài)誤差。從的定義可知:兩邊左乘的逆:增量旋轉(zhuǎn):2、用誤差計算力矩增量旋轉(zhuǎn)結(jié)構(gòu)如下(式4.34)為旋轉(zhuǎn)增量的轉(zhuǎn)軸,單位向量,可以作為力矩的方向。在小角的情況下,正比于旋轉(zhuǎn)增量的轉(zhuǎn)角,可以用于計算力矩增量的強度,記,如果用PD控制,力矩(moment)可以這樣算出:,kP為P參數(shù),kD為D參數(shù)。3、用力矩控制油門地理坐標系采用東北天坐標系,X向東,Y向北,Z指天。機架為“X”型,在XOY平面上,第一二三四象限對應(yīng)的電機為0、1、2、3號,0、2電機正轉(zhuǎn),1、3電機反轉(zhuǎn)。如圖5-1所示。輸出的油門是兩個值的和:基礎(chǔ)值和增量值?;A(chǔ)值用來控制整體升力,各個電機相等。增量值用來實現(xiàn)穩(wěn)定、加速等動作,相當于對基礎(chǔ)值的微調(diào),各個電機各不相同,且它們的和為0。力矩僅取決于增量值。假設(shè)電機提供的力矩與油門成正比,如果需要x軸的力矩,則油門增量值應(yīng)為:0、1電機正,2、3電機負,記作[11-1-1]。要增加x軸的力矩,油門需要變化的方向(direction)為:。引入x軸的力矩(moment)修正系數(shù):,則當需要增加x軸力矩時,油門(throttle)增量:y、z軸同理。要增加y軸的力矩,油門需要變化的方向為:;要增加z軸的力矩,油門需要變化的方向為:Y軸的力矩修正系數(shù):Z軸的力矩修正系數(shù):力矩修正系數(shù)用于平衡各軸的響應(yīng)靈敏度。x、y的力矩由螺旋槳的升力直接提供,響應(yīng)夠靈敏,MO_x和MO_y相等,取比較小的值;而z則靠螺旋槳的反轉(zhuǎn)矩,相同油門增量,能提供的力矩較小,所以MO_z應(yīng)該比較大。把各軸的分量加起來就是任意軸的情況:設(shè)需要的力矩為:圖4-1四軸飛行器控制模型油門的增量值為:后把油門增量值和基礎(chǔ)值加起來,輸出到電調(diào),就完成一個控制周期了。4.5本章小結(jié)本章從標定加速度傳感器開始,獲取初始姿態(tài),然后使用四元數(shù)算法進行姿態(tài)更新,再將四元數(shù)轉(zhuǎn)換為歐拉角,通過數(shù)據(jù)融合進行姿態(tài)矯正,等待下一次的遙控指令。 第五章軟件設(shè)計四旋翼無人直升機飛行控制系統(tǒng)軟件是在其硬件基礎(chǔ)上根據(jù)功能和用途來設(shè)計的,是飛行器檢測、通訊和控制等技術(shù)的載體和具體實現(xiàn)。軟件設(shè)計的總體目標是啟動飛行控制系統(tǒng)的各個功能模塊并使之正常工作,按照既定規(guī)劃實現(xiàn)穩(wěn)定飛行。本章首先論述飛行控制系統(tǒng)軟件的總體設(shè)計,然后分模塊進行軟件的詳細設(shè)計。5.1STM32F103T8U6的端口分配1、加速度計和陀螺儀MPU6050和HMC5883L通過I2C總線取航向信息I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是:啟動信號、停止信號和應(yīng)答信號。啟動信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。停止信號:SCL為低電平時,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。HMC5883LL通過兩線I2C總線系統(tǒng)作為一個從機裝置進行通信。HMC5883LL使用是一個IIC協(xié)議所定義的簡化后的通信接口協(xié)議,通過這一文件,數(shù)據(jù)傳輸速率是標準模式100kbps或400kbps速率,總線位格式是一個8位數(shù)據(jù)/地址傳送和1位應(yīng)答位。格式的數(shù)據(jù)字節(jié)(有效載荷)應(yīng)區(qū)分HMC5883L從機上的大小寫的ASCII字符或二進制數(shù)據(jù),以及返回的二進制數(shù)據(jù)。負二進制值將是以二進制的補碼形式。默認(出廠)HMC5883LL7位從機地址為0x3C的寫入操作,或0x3D的讀出操作。HMC5883L串行時鐘(SCL)和串行數(shù)據(jù)(SDA)線需要主機(通常是主機微處理器)和HMC588LL之間裝有上拉電阻(Rp)。在標稱VDDIO電壓下建議負載電阻值約為10千歐姆。其他電阻值也可以由I2C總線規(guī)格定義后連接到VDDIO上??偩€規(guī)格的SCL和SDA線可以連接到多個裝置上。總線可以是一個單一主機到多個從機,也可以是一個多個主機配置。所有數(shù)據(jù)傳輸均由產(chǎn)生時鐘信號的主機發(fā)起,數(shù)據(jù)傳輸是8位進行。所有裝置都由I2C唯一的7位地址標注。在每8位傳輸之后,主機裝置產(chǎn)生一個第9個時鐘脈沖,并釋放SDA的線。接收裝置(指向的從機)將SDA線拉至低位確認(ACK)傳輸成功或使SDA線處于高位表示否定確認(NACK)。按I2C規(guī)格,所有SDA線中的傳輸必須發(fā)生在SCL低時。但當SCL處于高位時,在總線上與SDA傳送時這一要求會導(dǎo)致兩種特別的情況。主機將拉SDA拉低,而SCL線是高,表明開始(S)的條件;當SDA的線被拉高而SCL處于高位,這是停止(P)的情況。I2C總線協(xié)議還允許重新啟動的條件,這時主機發(fā)出第二次啟動條件還沒有叫停。所有總線傳送從主機發(fā)出啟動序列開始,然后發(fā)出從機地址字節(jié)。地址字節(jié)包含從機地址;先7位(bits7-1)和最低有效位(LSB的)。如果指定的運作是一個讀出(LSb的=1)或?qū)懭?LSb的=0),地址的LSb字節(jié)會標志出來。在第9個時鐘脈沖,接收的從機裝置會發(fā)出ACK(或NACK)。這些總線事件以后,主機將發(fā)送數(shù)據(jù)字節(jié)以便寫入操作,或從機在讀出操作時進行時鐘輸出。所有總線的傳送在主機發(fā)出停止序列時終止。I2C總線控制或可用任何硬件邏輯也可在軟件中實現(xiàn)。典型的硬件設(shè)計將釋放SDA和SCL適當?shù)卦试S從機操縱這些線路。在軟件執(zhí)行時,必須注意執(zhí)行這些任務(wù)的代碼。2、無線通訊模塊nRF24L01通過SPI接口發(fā)送接收遙控信息SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少4根線,事實上3根也可以(用于單向傳輸時,也就是半雙工方式)。也是所有基于SPI的設(shè)備共有的,它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCLK(時鐘),CS(片選)。(1)MOSI–SPI總線主機輸出/從機輸入(SPIBusMasterOutput/SlaveInput)(2)MISO–SPI總線主機輸入/從機輸出(SPIBusMasterInput/SlaveOutput)(3)SCLK–時鐘信號,由主設(shè)備產(chǎn)生(4)CS–從設(shè)備使能信號,由主設(shè)備控制(Chipselect),有的IC此pin腳叫SS。其中CS是控制芯片是否被選中的,也就是說只有片選信號為預(yù)先規(guī)定的使能信號時(高電位或低電位),對此芯片的操作才有效。這就允許在同一總線上連接多個SPI設(shè)備成為可能。通訊是通過數(shù)據(jù)交換完成的,SPI是串行通訊協(xié)議,數(shù)據(jù)是一位一位的傳輸?shù)?。這就是SCLK時鐘線存在的原因,由SCK提供時鐘脈沖,SDI,SDO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過SDO線,數(shù)據(jù)在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少8次時鐘信號的改變(上沿和下沿為一次),就可以完成8位數(shù)據(jù)的傳輸。SCLK信號線只由主設(shè)備控制,從設(shè)備不能控制信號線。同樣,在一個基于SPI的設(shè)備中,至少有一個主控設(shè)備。這樣傳輸?shù)奶攸c:這樣的傳輸方式有一個優(yōu)點,與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少8位數(shù)據(jù),而SPI允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因為SCLK時鐘線由主控設(shè)備控制,當沒有時鐘跳變時,從設(shè)備不采集或傳送數(shù)據(jù)。也就是說,主設(shè)備通過對SCLK時鐘線的控制可以完成對通訊的控制。SPI還是一個數(shù)據(jù)交換協(xié)議:因為SPI的數(shù)據(jù)輸入和輸出線獨立,所以允許同時完成數(shù)據(jù)的輸入和輸出。不同的SPI設(shè)備的實現(xiàn)方式不盡相同,主要是數(shù)據(jù)改變和采集的時間不同,在時鐘信號上沿或下沿采集有不同定義,具體請參考相關(guān)器件的文檔。在點對點的通信中,SPI接口不需要進行尋址操作,且為全雙工通信,顯得簡單高效。在多個從設(shè)備的系統(tǒng)中,每個從設(shè)備需要獨立的使能信號,硬件上比I2C系統(tǒng)要稍微復(fù)雜一些。3、TIM1產(chǎn)生無線通訊的中斷信號,在重新發(fā)送超過發(fā)送最大值時產(chǎn)生中斷,TIM2產(chǎn)生4路PWM信號來控制電機驅(qū)動里的MOSFET的關(guān)斷,來實現(xiàn)電機轉(zhuǎn)速的控制。4、USART-RX接口用于讀取MPU6050的中斷信號。USART是一個全雙工通用同步/異步串行收發(fā)模塊,該接口是一個高度靈活的串行通信設(shè)備。接收器是USART模塊最復(fù)雜的部分,最主要的是時鐘和數(shù)據(jù)接收單元。數(shù)據(jù)接收單元用作異步數(shù)據(jù)的接收。除了接收單元,接收器還包括校驗位校驗器、控制邏輯、移位寄存器和兩級接收緩沖器(接收UDR)。接收器支持與發(fā)送器相同的幀結(jié)構(gòu),同時支持幀錯誤、數(shù)據(jù)溢出和校驗錯誤的檢測。5、ADC通過電阻與電源相接,檢測電池電量,在電壓過低時發(fā)生報警。5.2流程設(shè)計本控制器的軟件部分采用C語言編制,主要完成硬件平臺初始化、數(shù)據(jù)采集處理、遙控信號解碼、姿態(tài)角解算以及控制律的實現(xiàn).當系統(tǒng)運行后,先進行系統(tǒng)初始化,包括定時器、中斷、串口、傳感器的初始化。傳感器測量數(shù)據(jù),經(jīng)模數(shù)轉(zhuǎn)化后讀入程序中。根據(jù)讀入的數(shù)據(jù)計算出當前的飛行器姿態(tài)。讀取遙控器的控制信號,并且計算出地面控制需要的目標姿態(tài)。飛行的控制流程步驟分解如下:停在水平地面上,開機自檢,鋰電池電量情況,若電量過低則報警;2)定電機轉(zhuǎn)速一致,機身也會發(fā)生傾斜。羅盤檢測當前航向信息,加速度計測到向上的加速度(積分后得到速度);和預(yù)期航向信息(俯仰角和滾轉(zhuǎn)角為0,偏航角保持初始值不變)進行比較,當前航向角和預(yù)期值出現(xiàn)誤差時,調(diào)整電機轉(zhuǎn)速,以使其達到預(yù)期值;4)控制電機使飛行器速度為0,達到懸停狀態(tài),動態(tài)平衡;5)若干時間后,下降(上升的逆過程),平穩(wěn)落于地面。四旋翼無人直升機自檢成功后,系統(tǒng)進入等待狀態(tài)。若有地面控制命令,則MSU對命令進行解析,執(zhí)行相關(guān)操作。系統(tǒng)執(zhí)行完命令后再次進入等待狀態(tài),等待新的命令到來。系統(tǒng)流程框圖如圖5-1所示:開始開始系統(tǒng)初始化系統(tǒng)初始化電池電量檢測電池電量檢測接受解析遙控信號?接受解析遙控信號? YN傳感器數(shù)據(jù)采集傳感器數(shù)據(jù)采集傳感器數(shù)據(jù)采集傳感器數(shù)據(jù)采集數(shù)據(jù)融合計算數(shù)據(jù)融合就算數(shù)據(jù)融合計算數(shù)據(jù)融合就算動態(tài)平衡運動控制 動態(tài)平衡運動控制圖5-1系統(tǒng)流程框圖電池電量檢測對飛行器有非常重要的作用,及時的電量檢測能夠防止四軸飛行器在飛行過程中因為電量不足而從高處墜落損毀。電池電壓經(jīng)ADC轉(zhuǎn)換,與系統(tǒng)設(shè)定的安全起飛最低電量進行比較,若電池電量太低,則發(fā)出報警。開始ADC轉(zhuǎn)換ADC轉(zhuǎn)換電量大于允許起飛的最低電量?電量大于允許起飛的最低電量?YN報警報警結(jié)束結(jié)束圖5-2電池電量檢測流程圖5.3無線通訊nRF24L01作為四旋翼無人直升機和地面控制站之間通信的橋梁,一方面把飛行器的狀態(tài)信息和視頻信息下傳到地面站,另一方面地面站發(fā)送控制指令至飛行器,指導(dǎo)其飛行過程。nRF24L01的工作模式由CE和PWR_UP、PRIM_RX兩寄存器共同控制。注1:進入此模式后,只要CSN置高,在FIFO中的數(shù)據(jù)就會立即發(fā)射出去,直到所有數(shù)據(jù)數(shù)據(jù)發(fā)射完畢,之后進入待機模式II。注2:正常的發(fā)射模式,CE端的高電平應(yīng)至少保持10us。24L01將發(fā)射一個數(shù)據(jù)包,之后進入待機模式I。數(shù)據(jù)和控制接口 通過以下六個引腳,可實現(xiàn)模塊的所有功能: ①IRQ(低電平有效,中斷輸出) ②CE(高電平有效,發(fā)射或接收模式控制) ③CSN(SPI信號) ④SCK(SPI信號) ⑤MOSI(SPI信號) ⑥MISO(SPI信號)工作模式由CE和PWR_UP、PRIM_RX兩寄存器共同控制表5-1工作模式控制模式PWR_UPPRIM_RXCEFIFO寄存器狀態(tài)接收模式111-發(fā)射模式1011數(shù)據(jù)存儲在FIFO寄存器中,發(fā)射所有數(shù)據(jù)發(fā)射模式100→12數(shù)據(jù)存儲在FIFO寄存器中,發(fā)射一個數(shù)據(jù)待機模式II101TXFIFO為空待機模式I1-0無正在傳輸?shù)臄?shù)據(jù)掉電模式0通過SPI接口,可激活在數(shù)據(jù)寄存器FIFO中的數(shù)據(jù);或者通過SPI命令(1個字節(jié)長度)訪問寄存器。 在待機或掉電模式下,單片機通過SPI接口配置模塊;在發(fā)射或接收模式下,單片機通過SPI接口接收或發(fā)射數(shù)據(jù)。1.發(fā)射模式:a、當MCU有數(shù)據(jù)要發(fā)送時,接收節(jié)點地址(TX_ADDR)和有效數(shù)據(jù)(TX_PLD)通過SPI接口寫入nRF24L01,當CSN為低時數(shù)據(jù)被不斷地寫入。發(fā)送端發(fā)送完數(shù)據(jù)后,將通道0設(shè)置為接收模式來接收應(yīng)答信號,其接收地址(RX_ADDR_P0)與接收端地址(TX_ADDR)相同;b、設(shè)置PRIM_RX為低、CE為高,啟動發(fā)射模塊,CE高電平持續(xù)時間最小為10μs;c、nRF24L01ShockBurst發(fā)送模式:無線系統(tǒng)上電、啟動內(nèi)部16MHz時鐘、無線發(fā)送數(shù)據(jù)打包、高速發(fā)送數(shù)據(jù);d、數(shù)據(jù)發(fā)送完后,立即進入接收模式。如果在有效應(yīng)答時間范圍內(nèi)收到應(yīng)答信號,則認為數(shù)據(jù)成功發(fā)送到了接收端,此時狀態(tài)寄存器的TX_DS位置高并把數(shù)據(jù)從TX_FIFO中清除掉;如果在設(shè)定時間范圍內(nèi)沒有接收到應(yīng)答信號,則重新發(fā)送數(shù)據(jù),如果自動重發(fā)計數(shù)器溢出,則狀態(tài)寄存器的MAX_RT位置高,不清除TX_FIFO中的數(shù)據(jù)。當MAX_RT或TX_DS為高電平時IRQ引腳產(chǎn)生中斷,IRQ中斷通過寫狀態(tài)寄存器來復(fù)位。如果重發(fā)次數(shù)在達到設(shè)定的最大重發(fā)次數(shù)時還沒有收到應(yīng)答信號的話,在MAX_RX中斷清除之前不會重發(fā)數(shù)據(jù)包,數(shù)據(jù)包丟失計數(shù)器(PLOS_CNT)在每次產(chǎn)生MAX_RT中斷后加一;開始開始配置為接收模式配置為接收模式 指令接受完畢?指令接受完畢? N 指令解析Y指令解析升降? Y升降?執(zhí)行升降命令執(zhí)行升降命令平移?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論