基于PSoC的飛艇艇內(nèi)溫度采集系統(tǒng)設(shè)計(jì)
摘 要: 介紹基于PSoC、nRF24L01射頻芯片和DS18B20數(shù)字溫度傳感器的智能無(wú)線溫度采集系統(tǒng)在飛艇上的設(shè)計(jì),并對(duì)系統(tǒng)實(shí)際運(yùn)行的結(jié)果數(shù)據(jù)進(jìn)行測(cè)試分析,實(shí)現(xiàn)溫度的測(cè)量與數(shù)據(jù)傳輸。重點(diǎn)描述了系統(tǒng)采集端軟硬件的設(shè)計(jì)與實(shí)現(xiàn),闡述了軟件與硬件的設(shè)計(jì)要求。本系統(tǒng)功耗低、結(jié)構(gòu)簡(jiǎn)單、通信效率高,可實(shí)現(xiàn)飛艇范圍內(nèi)全方位的溫度測(cè)量。
關(guān)鍵詞: PSoC;無(wú)線數(shù)據(jù)傳輸;DS18B20;飛艇
由于飛艇具有航程遠(yuǎn)、續(xù)航能力強(qiáng)、載荷量大等特點(diǎn),成為人們?cè)絹?lái)越青睞的運(yùn)輸工具。飛艇的特點(diǎn)就是用充滿氦氣的氣囊來(lái)產(chǎn)生巨大的浮力以便于承載物體的重量。但是,由于飛艇受太陽(yáng)光直射、環(huán)境溫度變化等原因,隨著飛艇氣囊內(nèi)浮升氣體溫度的升高,飛艇會(huì)逐漸升高,氣壓也會(huì)隨著溫度的升高而發(fā)生變化,從而使氣囊體積發(fā)生變化。并且,由于溫度升高、浮力上升,會(huì)使飛艇偏離原來(lái)已經(jīng)設(shè)定好的高度,無(wú)法精確地實(shí)現(xiàn)對(duì)飛艇的控制。因此,需使用多個(gè)溫度傳感器采集飛艇內(nèi)部的溫度并用無(wú)線傳輸模塊發(fā)送給飛艇飛控中心,再用數(shù)據(jù)鏈發(fā)送到地面站,以便于地面站工作人員對(duì)飛艇進(jìn)行控制,使飛艇運(yùn)行在安全可靠的高度。
1 系統(tǒng)工作原理及硬件結(jié)構(gòu)
基于PSoC的飛艇艇內(nèi)溫度采集系統(tǒng)的硬件部分主要包括溫度采集、節(jié)點(diǎn)組網(wǎng)和數(shù)據(jù)發(fā)送三部分。由于飛艇內(nèi)部空間比較大,通常由幾個(gè)隔艙組成,其各部分的溫度是不一樣的,因此,飛艇的靜升力也會(huì)有所不同,飛艇首尾各部分所受到的升力也會(huì)不一樣,飛艇的穩(wěn)定性就會(huì)受到一定的影響。通過(guò)溫度傳感器采集艇內(nèi)各節(jié)點(diǎn)的溫度,與PSoC芯片和無(wú)線發(fā)射模塊組成一個(gè)個(gè)從節(jié)點(diǎn),再通過(guò)從節(jié)點(diǎn)把數(shù)據(jù)發(fā)送給總節(jié)點(diǎn),從而達(dá)到測(cè)量飛艇內(nèi)部不同點(diǎn)溫度的目的。
1.1 系統(tǒng)總體框架
基于PSoC的飛艇艇內(nèi)溫度采集系統(tǒng)中,在飛艇內(nèi)部要測(cè)量溫度的地方布上從節(jié)點(diǎn),從節(jié)點(diǎn)主要由PSoC芯片、溫度傳感器DS18B20和無(wú)線傳輸模塊nRF24L01組成。一個(gè)從節(jié)點(diǎn)可以掛幾個(gè)溫度傳感器。由各個(gè)從節(jié)點(diǎn)組成一個(gè)大的總節(jié)點(diǎn),把各個(gè)從節(jié)點(diǎn)測(cè)量到的溫度數(shù)據(jù)通過(guò)各自的無(wú)線傳輸模塊發(fā)送到總節(jié)點(diǎn),再由總節(jié)點(diǎn)把各個(gè)溫度傳感器采集到的數(shù)據(jù)通過(guò)無(wú)線傳輸模塊發(fā)送到飛艇飛控中心,由飛控中心通過(guò)下行數(shù)據(jù)鏈把數(shù)據(jù)發(fā)送到地面站去處理,通過(guò)分析處理得到飛艇的高度、溫度等數(shù)據(jù),再通過(guò)上行數(shù)據(jù)鏈把控制指令發(fā)送給飛控中心,調(diào)整飛艇的姿態(tài)、俯仰、舵機(jī),從而控制飛艇的高度,使飛艇內(nèi)部壓力減小、溫度降低,從而對(duì)飛艇的穩(wěn)定性進(jìn)行控制。飛艇溫度采集與處理的框架圖如圖1所示。
1.2 系統(tǒng)溫度采集與數(shù)據(jù)發(fā)送
PSoC模塊是整個(gè)溫度采集系統(tǒng)的控制核心,除了要對(duì)溫度采集進(jìn)行控制外,還要通過(guò)發(fā)射模塊把采集到的從節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給總節(jié)點(diǎn)并通過(guò)UATR把采集到的所有數(shù)據(jù)發(fā)送給飛控中心進(jìn)行處理分析。PSoC(Programmable System-on-Chip)是Cypress公司生產(chǎn)的一種可編程片上系統(tǒng),它是在一個(gè)專有的MCU內(nèi)核周圍集成了可配置的模擬和數(shù)字外圍器件陣列PSoC塊,利用芯片內(nèi)部的可編程互聯(lián)陣列,有效地配置芯片上的模擬和數(shù)字塊資源,達(dá)到可編程片上系統(tǒng)的目的。PSoC集MCU的可編程序、部分可編程邏輯運(yùn)算功能、可編程模擬陣列于一體。PSoC的數(shù)字資源(如定時(shí)器、PWM、UART等)和模擬資源(如放大器、比較器、濾波器等)以數(shù)字模塊和模擬模塊的方式給出。不同型號(hào)的PSoC芯片的差異主要在于其擁有的數(shù)字模塊和模擬模塊的數(shù)量不同[1,2]。PSoC最顯著的特征是可以把芯片內(nèi)集成的基本數(shù)字單元和模擬單元配置成用戶所需要的多種形式的數(shù)字、模擬或混合信號(hào)模塊。
PSoC應(yīng)用系統(tǒng)是指以PSoC單片機(jī)為核心,配以一定的外部功能擴(kuò)展和外圍電路以及軟件,能夠完整地實(shí)現(xiàn)某種或多種功能。PSoC應(yīng)用系統(tǒng)設(shè)計(jì)應(yīng)包括系統(tǒng)硬件設(shè)計(jì)、PSoC接口配置、PSoC軟件設(shè)計(jì)、系統(tǒng)調(diào)試與程序下載。然后將調(diào)試成功的程序固化到芯片[2]。各部分詳細(xì)內(nèi)容及流程圖如圖2所示。
本系統(tǒng)采用的是28管腳的CY8C24533芯片,它有16 KB的Flash;5種類型的AD,精度可達(dá)14 bit,5種類型的DA,精度可達(dá)8 bit,并且管腳可配置;5種放大器以及2種濾波器;還擁有IrDA、SPI、UART等。
溫度采集芯片主要采用DALLAS公司生產(chǎn)的單總線數(shù)字溫度傳感器DS18B20,可把溫度信號(hào)直接轉(zhuǎn)換成串行數(shù)字信號(hào)。DS18B20在與微處理器連接時(shí)僅需要一條線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通信;支持多點(diǎn)組網(wǎng)功能,測(cè)溫范圍為-55 ℃~+125 ℃,固有分辨率為0.5 ℃,而且價(jià)格也比較便宜,性能穩(wěn)定[3,4]。
發(fā)送模塊nRF24L01是整個(gè)系統(tǒng)的紐帶。nRF24L01是一款低成本無(wú)線收發(fā)器,內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊。芯片具備自動(dòng)應(yīng)答和自動(dòng)重發(fā)功能,速度可達(dá)2 Mb/s,其輸出功率、頻道選擇以及協(xié)議設(shè)置都可以通過(guò)SPI口進(jìn)行設(shè)置。nRF24L01有收發(fā)、配置、空閑和關(guān)機(jī)4種工作模式,從而實(shí)現(xiàn)了數(shù)據(jù)從微控制器的低速傳入和高速發(fā)送,降低了系統(tǒng)功耗[4]。
1.3 PSoC系統(tǒng)內(nèi)部框架
由于各個(gè)溫度傳感器的數(shù)據(jù)都是通過(guò)I2C總線傳輸給PSoC,無(wú)線收發(fā)模塊則是通過(guò)SPI把各個(gè)節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給PSoC,而PSoC又通過(guò)UATR把數(shù)據(jù)發(fā)送給飛控中心處理,所以在系統(tǒng)中要有SPI、I2C、UART才能夠接收和發(fā)送數(shù)據(jù),才能完成系統(tǒng)的整體設(shè)計(jì)。而PSoC內(nèi)部則包含了這三部分,只需要調(diào)用這些模塊再配置好參數(shù)就可以與外部接口模塊進(jìn)行數(shù)據(jù)的傳輸,如圖3所示。