高兵權(quán) 孫志海 湯麗 肖學(xué)福
(1.總后軍事交通運輸研究所,天津 300161;2.華北科技學(xué)院科技管理處,北京東燕郊 101601)
基于STM32控制器的地層應(yīng)力檢測裝置研究①
高兵權(quán)1②孫志海2湯麗1肖學(xué)福1
(1.總后軍事交通運輸研究所,天津 300161;2.華北科技學(xué)院科技管理處,北京東燕郊 101601)
針對地層應(yīng)力測量過程中注水壓力實時檢測的需求,基于STM32高性能微控制器,本文研究設(shè)計了數(shù)據(jù)采集、存儲和上傳的嵌入式控制系統(tǒng),該方案具有簡潔、高效、實用的特點,在實際應(yīng)用中能夠有效滿足設(shè)計需求。
地層壓力;測量;數(shù)據(jù)采集;STM32
地層應(yīng)力是評價地層結(jié)構(gòu)的關(guān)鍵參數(shù),依據(jù)測量基本原理不同,地應(yīng)力測量可分為直接測量法和間接測量法。直接測量法包括偏千斤頂法、水壓致裂法、剛性包體應(yīng)力計法等,由于水壓致裂法具有能測量較深處的絕對應(yīng)力狀態(tài),無需了解和測定巖石的彈性模量等有點,應(yīng)用廣泛。水壓致裂法測量地應(yīng)力,需要在壓裂段安裝壓力檢測裝置,實時采集水壓變化數(shù)值。通常情況下,一個鉆孔需要采集多個深度點的數(shù)據(jù),測量完成后對數(shù)據(jù)進(jìn)行分析和處理。
針對以上需求,本文設(shè)計了基于STM32F101V8嵌入式控制器為核心,具備壓力傳感器數(shù)據(jù)采集、大容量數(shù)據(jù)存儲、USB數(shù)據(jù)導(dǎo)出、電池供電、LCD顯示和鍵盤接口控制的便攜式鉆井用數(shù)據(jù)采集裝置。裝置整體集成為一體式的模塊結(jié)構(gòu),下井前通過鍵盤和LCD顯示設(shè)置系統(tǒng)工作參數(shù),主要包括存儲器初始化、采集時間間隔設(shè)定,開始采集時間點設(shè)定等。設(shè)置完成后,關(guān)閉LCD以節(jié)能,連接壓力傳感器,裝置放入密封金屬管,金屬管串連在鉆頭后,通過多節(jié)鉆桿送入井下。在水壓致裂過程中,傳感器實時采集鉆孔壓力,記入大容量Flash存儲器。測量完成后,從井下取出數(shù)據(jù)采集裝置,使用U盤連接數(shù)據(jù)采集裝置的USB接口,將壓力歷史數(shù)據(jù)導(dǎo)入移動存儲器,形成文件,由上位計算機(jī)軟件做進(jìn)一步的數(shù)據(jù)讀取、整理、分析及研究利用。
該數(shù)據(jù)采集存儲裝置硬件系統(tǒng)共包括五部分:單片機(jī)最小系統(tǒng)、壓力傳感與處理模塊、顯示與控制人機(jī)接口模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)導(dǎo)出模塊和供電模塊,如圖1所示。
圖1 信號采集和處理的工作原理圖
STM32F101系列控制器由意法半導(dǎo)體公司(ST)推出,使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,最大工作頻率為36 MHz,內(nèi)置高速存儲器(高達(dá)512K字節(jié)的Flash和48K字節(jié)的SRAM),豐富的增強I/O端口。STM32F101xx基本型系列工作于-40℃至+105℃的溫度范圍,供電電壓2.0V至3.6V,一系列的省電模式保證低功耗應(yīng)用的要求[1]。該設(shè)計選用STM32F101V8處理器主要考慮其高速可靠、資源豐富、工作溫度寬和供電電壓寬、功耗低、性價比高的特點,尤其是其內(nèi)部集成AD轉(zhuǎn)換器和溫度傳感器,12位AD轉(zhuǎn)換精度,1μs轉(zhuǎn)換時間。
數(shù)據(jù)采集裝置工作過程中需要兩種電壓供給,一種是壓力傳感器需要+5 V供電,且需要關(guān)斷功能,可在不采集數(shù)據(jù)的情況下節(jié)電;二是STM32控制器、存儲器、LCD及USB接口模塊工作需要+3.3V工作電壓??紤]裝置在1000m井下使用,采用了電池供電的方式。裝置設(shè)計了具備防震功能的兩節(jié)五號電池盒結(jié)構(gòu),在設(shè)計過程中,曾考慮設(shè)計集成充電電池,但裝置使用場合不能保證隨時能夠電池充電,電池盒則可以解決這個問題,平時可使用充電電池,急時使用干電池。電池有效工作電壓輸入范圍VIN為2.2V~3.2V (干電池)或2 V~2.6 V(充電電池),經(jīng)過篩選,選用ST公司的同步升壓轉(zhuǎn)換器L6920D作為供電芯片,主要理由如下:
1)L6920D輸出電壓三種格式固定3.3V、固定5V或者2V~5V可調(diào)輸出,使用兩片L6920D,輸出3.3V和5V兩種固定電壓,分別為控制系統(tǒng)和傳感器獨立供電,3.3V輸出的供電電路如圖2所示,5V輸出電路類似;
2)L6920D輸入電壓范圍:0.6 V~5.5 V,啟動輸入電壓最低1V,非常適合電池供電場合;
3)L6920D關(guān)斷電流0.1μA,相當(dāng)于零關(guān)斷,對于節(jié)能控制非常有利,根據(jù)需要隨時關(guān)斷傳感器供電,壓力傳感器供電要求5 V,15 mA,電能消耗很大;
4)根據(jù)L6920提供的曲線,兩節(jié)5電池串聯(lián)輸入的效率要高于并聯(lián)輸入,5 V輸出時,傳感器供電轉(zhuǎn)換效率接近90%;
5)L6920D帶有1.23 V的基準(zhǔn)電壓輸出,可為傳感器模擬量ADC作獨立的電壓對照基準(zhǔn);
6)L6920D具備低電壓檢測,電池反接保護(hù)功能。
圖2 L6920電池供電電路
壓力的測量選用精量電子公司的MSP300壓力傳感器,MSP300壓力傳感器適用于對氣壓、液壓的檢測,甚至較惡劣的介質(zhì)環(huán)境,如污水、蒸汽、輕度腐蝕性液體和氣體。壓力腔采用17-4PH不銹鋼單件一體式結(jié)構(gòu)加工而成。其標(biāo)準(zhǔn)壓力接口采用1/4NPT外螺紋接頭,因而可以保證較好的密封性能。MSP300的測量壓力根據(jù)需要選擇700Bar量程,對應(yīng)0.5 V~4.5 V電壓輸出,+5 V供電。STM32F101控制器AD轉(zhuǎn)換為12位精度,理論上對應(yīng)數(shù)字量范圍0~4096。ADC供電要求2.4V到3.6V,ADC輸入范圍:VREF-≤VIN≤VREF+,本系統(tǒng)供電電壓為3.3 V,故而ADC輸出信號量量程范圍0~3.3 V。將MSP300輸出信號使用電阻分壓,取R1=3.3kΩ,R2=1.2kΩ,故輸入單片機(jī)信號范圍0.37~3.3 V。分壓電阻要求選用溫度系統(tǒng)較好的金屬膜電阻。
圖3 充放電電流和AD數(shù)字量的曲線關(guān)系
出于縮小PCB體積和降低成本的考慮,選用48腳LQFP小封裝STM32F101控制器,沒有VREF+和VREF-,它們在內(nèi)部分別被連接到ADC的供電電源(VDDA)和ADC的地(VSSA),由于L6920供電芯片的電壓輸出范圍3.2V~3.4V,不能保證ADC精確計算的需求。針對這個問題,該裝置采用兩路AD對比計算的方法,獲取精確的MSP300輸出電壓,過程如下:
1)L6920電壓基準(zhǔn)輸出典型值1.23 V,輸出電壓范圍:1.16V~1.29V。使用萬用表測量具體單個模塊L6920的基準(zhǔn)電壓輸出值,記為Vref_ analog;
2)選通AD1通道,使用片內(nèi)ADC,計算L6920電壓基準(zhǔn)對應(yīng)的數(shù)字量,記為Vref_digital。
3)選通AD0通道,計算MSP300壓力傳感器數(shù)字量,記為Press_digital。
在該裝置的調(diào)試過程中,曾嘗試使用STM32控制器的內(nèi)部參考電壓,但這個參照電壓的典型值是1.20 V,最小值是1.16 V,最大值是1.24 V,外界不易直接測量,故而使用L6920的1.23 V電壓基準(zhǔn)。
該裝置使用Winbond公司SPI接口的W25X16Flash存儲器記錄壓力數(shù)據(jù)。裝置最高工作頻率每秒鐘采集10個壓力值,即20個BYTE的數(shù)據(jù),則每小時數(shù)據(jù)量72,000 BYTE。W25X16容量為2M字節(jié),能夠記錄29小時的連續(xù)記錄,高于一天24小時的指標(biāo)要求。W25X16頁編程256字節(jié)所需時間小于2ms,高達(dá)10萬次擦除/寫入循環(huán),20年數(shù)據(jù)保持能力。W25X16單供電,寬電壓:2.7V~3.6 V,5 mA操作電流,待機(jī)電流1μA,非常適合本系統(tǒng)電池供電使用,-40℃~+85℃工作溫度保障了室外全年使用的可能。另外,W25X16采用小體積SOIC8封裝,占用集成空間較少。
數(shù)據(jù)導(dǎo)出采用USB接口,選用南京沁恒公司的U盤和SD卡文件管理控制芯片CH376。CH376支持1.5 Mbps低速和12 Mbps全速USB通訊,兼容USB V2.0,外圍元器件只需要晶體和電容,支持USB-HOST主機(jī)接口和USB-DEVICE設(shè)備接口,支持動態(tài)切換主機(jī)方式與設(shè)備方式,內(nèi)置了處理Mass-Storage海量存儲設(shè)備的專用通訊協(xié)議的固件,內(nèi)置了FAT16和FAT32以及FAT12文件系統(tǒng)的管理固件,支持常用的USB存儲設(shè)備。CH376提供文件管理功能、文件讀寫功能和磁盤管理功能,使用非常簡單。提供2 MB/ 24MHz速度的SPI設(shè)備接口,可方便地連接到STM32控制器的SPI串行總線。CH376支持5V、3.3V以及3V電源電壓,支持低功耗模式。該數(shù)據(jù)采集裝置PCB設(shè)計時,為減小元器件體積,采用MiniUSB接口,數(shù)據(jù)導(dǎo)出時,使用轉(zhuǎn)接線連接標(biāo)準(zhǔn)U盤,將W25X16中的數(shù)據(jù)以txt文件形式寫入U盤。
該數(shù)據(jù)采集裝置采用LCD作為顯示方式,型號為TOPWAY公司的LMB081NDC。液晶顯示模塊主要功耗在于背光電流消耗,故在程序上在10秒內(nèi)沒有按鍵觸發(fā),將自動關(guān)閉背光。按鍵采用中斷程序,鍵盤IO接口使用內(nèi)部上拉。
系統(tǒng)軟件的開發(fā)采用了ST公司針對STM32控制器的固件函數(shù)庫,主要功能模塊包括:初始化程序、人機(jī)接口程序、大容量數(shù)據(jù)存儲管理程序、壓力采集程序、USB數(shù)據(jù)導(dǎo)出管理程序、電源與節(jié)能管理程序以及硬件驅(qū)動(LCD、鍵盤、Flash等)。L6920電壓基準(zhǔn)檢測和壓力傳感器AD轉(zhuǎn)換軟件設(shè)置及工作過程較為簡單。
1)配置模擬量輸入的GPIO口,只要GPIO配置為GPIO_Mode_AIN模式,即可以實現(xiàn)模擬量輸入,該設(shè)計中將PA0和PA1作為電壓基準(zhǔn)和傳感器的ADC輸入端;
2)設(shè)置ADC,將ADC設(shè)置為連續(xù)轉(zhuǎn)換模式、右對齊、非外部觸發(fā);
3)啟動ADC,開始采樣轉(zhuǎn)換和處理。
4)對比與參考電壓,計算得實際壓力電平值,進(jìn)而推導(dǎo)出實際物流壓力數(shù)據(jù)。
該應(yīng)用中考慮壓力數(shù)據(jù)為變化較緩的信號,故軟件采取防脈沖干擾平均濾波算法。連續(xù)采樣N個數(shù)據(jù),去掉一個最大值和一個最小值,然后計算N-2個數(shù)據(jù)的算術(shù)平均值。通過實驗N取值5,即可達(dá)到滿意的效果。該算法能夠剔除偶然出現(xiàn)的脈沖性干擾,消除由于脈沖干擾所引起的采樣值偏差。
為降低系統(tǒng)工作功耗,延長工作時間,該設(shè)計采取了以下的節(jié)能措施。
為降低整體數(shù)據(jù)采集裝置的功耗,該設(shè)計采集了以下措施:一是STM32控制器在沒有檢測任務(wù)的時候,處于休眠狀態(tài);二是根據(jù)具體需要,減小I/O端口的電流消耗,輸入端口配置為浮空輸入,未用的懸空端口配置為推挽輸出并輸出1;三是對于未用的內(nèi)部外設(shè),保持為關(guān)閉和默認(rèn)的復(fù)位狀態(tài),同時關(guān)閉對應(yīng)的時鐘。
在以后的深入研究中,如期進(jìn)一步降低控制器功耗,可以更換低功耗設(shè)計的處理器,如同是ST公司的32位Cortex-M3系列的低功耗版本處理器:STM32L151XX和STM32L152XX等,另外TI公司的MSP430系列處理器在節(jié)能方面表現(xiàn)非凡。
除了控制器外,該裝置還采取了其它的一些降低低功耗措施。一是在壓力傳感器不工作的時候,關(guān)斷其+5V供電電源;二是液晶顯示器在10秒鐘內(nèi)沒有按鍵觸發(fā),關(guān)斷背光電流;三是W25X16 Flash存儲器沒有讀寫操作時,處于不選通狀態(tài),即低功耗模式;四是對于CH376 USB控制芯片及時使用CMD_ENTER_SLEEP指令,使CH376芯片進(jìn)入低功耗睡眠掛起狀態(tài)。進(jìn)入低功耗狀態(tài)后,CH376芯片的時鐘停振,從而節(jié)約電能。
該控制系統(tǒng)設(shè)計達(dá)到了以下三點設(shè)計目標(biāo):一是該設(shè)計實現(xiàn)了井下壓力數(shù)據(jù)的實時采集、處理、存儲和導(dǎo)出,工作模式和狀態(tài)可以設(shè)置;二是功耗指標(biāo)滿足兩節(jié)五號電池工作24小時的要求,壓力結(jié)果數(shù)據(jù)穩(wěn)定、可靠;三是采樣頻率最高達(dá)到10Hz,兩節(jié)5號金霸王電池持續(xù)工作24小時,數(shù)據(jù)存儲量達(dá)到2M Bytes,能夠?qū)崟r記錄。
需進(jìn)一步改進(jìn)之處在于考慮改用STM32F102系列控制器,使用控制器內(nèi)部USB,省略CH376芯片的使用,進(jìn)一步縮小控制板體積,降低系統(tǒng)整體功耗。
[1]李寧.基于MDK的STM32處理器開發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008
[2]劉波文.ARM Cortex-M3應(yīng)用開發(fā)實例詳解[M].北京:電子工業(yè)出版社,2008
[3]南京沁恒電子有限公司.CH376手冊(一)
[4]STMicroelectronics.How to get the best ADC accuracy in STM32F10xxx devices V1.0.2008
[5]STMicroelectronics.L6920D:1V High Efficiency Synchronous Step Up Converter.2003,(05)
Research of Stress Measure Equipment Based on STM32 Controller
GAO Bingquan1,SUN Zhihai2,TANG Li1,XIAO Xuefu1
(1.Institute of Military Transportation,Tianjin300161; 2.Science and Technology Department of Administration,North China Institute of Science and Technology,Yanjiao Beijing-East101601)
Aim at the need of water pressure real-time detection in the process of stress measurement,this paper designs a data collection,storage and upload embedded control system based on STM32 high performance micro-processor,the project is simple,practicable and dependability,to effectively meet the design requirements in practice.
Stress;Measure;Data Collection;STM32
TU413.3
A
1672-7169(2011)03-0031-04
2011-05-22
高兵權(quán)(1975-),男,河北保定人,碩士,總后軍事交通運輸研究所工程師,研究方向:軍事裝備信息化。