高兵權 孫志海 湯麗 肖學福
(1.總后軍事交通運輸研究所,天津 300161;2.華北科技學院科技管理處,北京東燕郊 101601)
基于STM32控制器的地層應力檢測裝置研究①
高兵權1②孫志海2湯麗1肖學福1
(1.總后軍事交通運輸研究所,天津 300161;2.華北科技學院科技管理處,北京東燕郊 101601)
針對地層應力測量過程中注水壓力實時檢測的需求,基于STM32高性能微控制器,本文研究設計了數據采集、存儲和上傳的嵌入式控制系統,該方案具有簡潔、高效、實用的特點,在實際應用中能夠有效滿足設計需求。
地層壓力;測量;數據采集;STM32
地層應力是評價地層結構的關鍵參數,依據測量基本原理不同,地應力測量可分為直接測量法和間接測量法。直接測量法包括偏千斤頂法、水壓致裂法、剛性包體應力計法等,由于水壓致裂法具有能測量較深處的絕對應力狀態,無需了解和測定巖石的彈性模量等有點,應用廣泛。水壓致裂法測量地應力,需要在壓裂段安裝壓力檢測裝置,實時采集水壓變化數值。通常情況下,一個鉆孔需要采集多個深度點的數據,測量完成后對數據進行分析和處理。
針對以上需求,本文設計了基于STM32F101V8嵌入式控制器為核心,具備壓力傳感器數據采集、大容量數據存儲、USB數據導出、電池供電、LCD顯示和鍵盤接口控制的便攜式鉆井用數據采集裝置。裝置整體集成為一體式的模塊結構,下井前通過鍵盤和LCD顯示設置系統工作參數,主要包括存儲器初始化、采集時間間隔設定,開始采集時間點設定等。設置完成后,關閉LCD以節能,連接壓力傳感器,裝置放入密封金屬管,金屬管串連在鉆頭后,通過多節鉆桿送入井下。在水壓致裂過程中,傳感器實時采集鉆孔壓力,記入大容量Flash存儲器。測量完成后,從井下取出數據采集裝置,使用U盤連接數據采集裝置的USB接口,將壓力歷史數據導入移動存儲器,形成文件,由上位計算機軟件做進一步的數據讀取、整理、分析及研究利用。
該數據采集存儲裝置硬件系統共包括五部分:單片機最小系統、壓力傳感與處理模塊、顯示與控制人機接口模塊、數據存儲模塊、數據導出模塊和供電模塊,如圖1所示。

圖1 信號采集和處理的工作原理圖
STM32F101系列控制器由意法半導體公司(ST)推出,使用高性能的ARM Cortex-M3 32位的RISC內核,最大工作頻率為36 MHz,內置高速存儲器(高達512K字節的Flash和48K字節的SRAM),豐富的增強I/O端口。STM32F101xx基本型系列工作于-40℃至+105℃的溫度范圍,供電電壓2.0V至3.6V,一系列的省電模式保證低功耗應用的要求[1]。該設計選用STM32F101V8處理器主要考慮其高速可靠、資源豐富、工作溫度寬和供電電壓寬、功耗低、性價比高的特點,尤其是其內部集成AD轉換器和溫度傳感器,12位AD轉換精度,1μs轉換時間。
數據采集裝置工作過程中需要兩種電壓供給,一種是壓力傳感器需要+5 V供電,且需要關斷功能,可在不采集數據的情況下節電;二是STM32控制器、存儲器、LCD及USB接口模塊工作需要+3.3V工作電壓。考慮裝置在1000m井下使用,采用了電池供電的方式。裝置設計了具備防震功能的兩節五號電池盒結構,在設計過程中,曾考慮設計集成充電電池,但裝置使用場合不能保證隨時能夠電池充電,電池盒則可以解決這個問題,平時可使用充電電池,急時使用干電池。電池有效工作電壓輸入范圍VIN為2.2V~3.2V (干電池)或2 V~2.6 V(充電電池),經過篩選,選用ST公司的同步升壓轉換器L6920D作為供電芯片,主要理由如下:
1)L6920D輸出電壓三種格式固定3.3V、固定5V或者2V~5V可調輸出,使用兩片L6920D,輸出3.3V和5V兩種固定電壓,分別為控制系統和傳感器獨立供電,3.3V輸出的供電電路如圖2所示,5V輸出電路類似;
2)L6920D輸入電壓范圍:0.6 V~5.5 V,啟動輸入電壓最低1V,非常適合電池供電場合;
3)L6920D關斷電流0.1μA,相當于零關斷,對于節能控制非常有利,根據需要隨時關斷傳感器供電,壓力傳感器供電要求5 V,15 mA,電能消耗很大;
4)根據L6920提供的曲線,兩節5電池串聯輸入的效率要高于并聯輸入,5 V輸出時,傳感器供電轉換效率接近90%;
5)L6920D帶有1.23 V的基準電壓輸出,可為傳感器模擬量ADC作獨立的電壓對照基準;
6)L6920D具備低電壓檢測,電池反接保護功能。

圖2 L6920電池供電電路
壓力的測量選用精量電子公司的MSP300壓力傳感器,MSP300壓力傳感器適用于對氣壓、液壓的檢測,甚至較惡劣的介質環境,如污水、蒸汽、輕度腐蝕性液體和氣體。壓力腔采用17-4PH不銹鋼單件一體式結構加工而成。其標準壓力接口采用1/4NPT外螺紋接頭,因而可以保證較好的密封性能。MSP300的測量壓力根據需要選擇700Bar量程,對應0.5 V~4.5 V電壓輸出,+5 V供電。STM32F101控制器AD轉換為12位精度,理論上對應數字量范圍0~4096。ADC供電要求2.4V到3.6V,ADC輸入范圍:VREF-≤VIN≤VREF+,本系統供電電壓為3.3 V,故而ADC輸出信號量量程范圍0~3.3 V。將MSP300輸出信號使用電阻分壓,取R1=3.3kΩ,R2=1.2kΩ,故輸入單片機信號范圍0.37~3.3 V。分壓電阻要求選用溫度系統較好的金屬膜電阻。

圖3 充放電電流和AD數字量的曲線關系
出于縮小PCB體積和降低成本的考慮,選用48腳LQFP小封裝STM32F101控制器,沒有VREF+和VREF-,它們在內部分別被連接到ADC的供電電源(VDDA)和ADC的地(VSSA),由于L6920供電芯片的電壓輸出范圍3.2V~3.4V,不能保證ADC精確計算的需求。針對這個問題,該裝置采用兩路AD對比計算的方法,獲取精確的MSP300輸出電壓,過程如下:
1)L6920電壓基準輸出典型值1.23 V,輸出電壓范圍:1.16V~1.29V。使用萬用表測量具體單個模塊L6920的基準電壓輸出值,記為Vref_ analog;
2)選通AD1通道,使用片內ADC,計算L6920電壓基準對應的數字量,記為Vref_digital。
3)選通AD0通道,計算MSP300壓力傳感器數字量,記為Press_digital。

在該裝置的調試過程中,曾嘗試使用STM32控制器的內部參考電壓,但這個參照電壓的典型值是1.20 V,最小值是1.16 V,最大值是1.24 V,外界不易直接測量,故而使用L6920的1.23 V電壓基準。
該裝置使用Winbond公司SPI接口的W25X16Flash存儲器記錄壓力數據。裝置最高工作頻率每秒鐘采集10個壓力值,即20個BYTE的數據,則每小時數據量72,000 BYTE。W25X16容量為2M字節,能夠記錄29小時的連續記錄,高于一天24小時的指標要求。W25X16頁編程256字節所需時間小于2ms,高達10萬次擦除/寫入循環,20年數據保持能力。W25X16單供電,寬電壓:2.7V~3.6 V,5 mA操作電流,待機電流1μA,非常適合本系統電池供電使用,-40℃~+85℃工作溫度保障了室外全年使用的可能。另外,W25X16采用小體積SOIC8封裝,占用集成空間較少。
數據導出采用USB接口,選用南京沁恒公司的U盤和SD卡文件管理控制芯片CH376。CH376支持1.5 Mbps低速和12 Mbps全速USB通訊,兼容USB V2.0,外圍元器件只需要晶體和電容,支持USB-HOST主機接口和USB-DEVICE設備接口,支持動態切換主機方式與設備方式,內置了處理Mass-Storage海量存儲設備的專用通訊協議的固件,內置了FAT16和FAT32以及FAT12文件系統的管理固件,支持常用的USB存儲設備。CH376提供文件管理功能、文件讀寫功能和磁盤管理功能,使用非常簡單。提供2 MB/ 24MHz速度的SPI設備接口,可方便地連接到STM32控制器的SPI串行總線。CH376支持5V、3.3V以及3V電源電壓,支持低功耗模式。該數據采集裝置PCB設計時,為減小元器件體積,采用MiniUSB接口,數據導出時,使用轉接線連接標準U盤,將W25X16中的數據以txt文件形式寫入U盤。
該數據采集裝置采用LCD作為顯示方式,型號為TOPWAY公司的LMB081NDC。液晶顯示模塊主要功耗在于背光電流消耗,故在程序上在10秒內沒有按鍵觸發,將自動關閉背光。按鍵采用中斷程序,鍵盤IO接口使用內部上拉。
系統軟件的開發采用了ST公司針對STM32控制器的固件函數庫,主要功能模塊包括:初始化程序、人機接口程序、大容量數據存儲管理程序、壓力采集程序、USB數據導出管理程序、電源與節能管理程序以及硬件驅動(LCD、鍵盤、Flash等)。L6920電壓基準檢測和壓力傳感器AD轉換軟件設置及工作過程較為簡單。
1)配置模擬量輸入的GPIO口,只要GPIO配置為GPIO_Mode_AIN模式,即可以實現模擬量輸入,該設計中將PA0和PA1作為電壓基準和傳感器的ADC輸入端;
2)設置ADC,將ADC設置為連續轉換模式、右對齊、非外部觸發;
3)啟動ADC,開始采樣轉換和處理。
4)對比與參考電壓,計算得實際壓力電平值,進而推導出實際物流壓力數據。
該應用中考慮壓力數據為變化較緩的信號,故軟件采取防脈沖干擾平均濾波算法。連續采樣N個數據,去掉一個最大值和一個最小值,然后計算N-2個數據的算術平均值。通過實驗N取值5,即可達到滿意的效果。該算法能夠剔除偶然出現的脈沖性干擾,消除由于脈沖干擾所引起的采樣值偏差。
為降低系統工作功耗,延長工作時間,該設計采取了以下的節能措施。
為降低整體數據采集裝置的功耗,該設計采集了以下措施:一是STM32控制器在沒有檢測任務的時候,處于休眠狀態;二是根據具體需要,減小I/O端口的電流消耗,輸入端口配置為浮空輸入,未用的懸空端口配置為推挽輸出并輸出1;三是對于未用的內部外設,保持為關閉和默認的復位狀態,同時關閉對應的時鐘。
在以后的深入研究中,如期進一步降低控制器功耗,可以更換低功耗設計的處理器,如同是ST公司的32位Cortex-M3系列的低功耗版本處理器:STM32L151XX和STM32L152XX等,另外TI公司的MSP430系列處理器在節能方面表現非凡。
除了控制器外,該裝置還采取了其它的一些降低低功耗措施。一是在壓力傳感器不工作的時候,關斷其+5V供電電源;二是液晶顯示器在10秒鐘內沒有按鍵觸發,關斷背光電流;三是W25X16 Flash存儲器沒有讀寫操作時,處于不選通狀態,即低功耗模式;四是對于CH376 USB控制芯片及時使用CMD_ENTER_SLEEP指令,使CH376芯片進入低功耗睡眠掛起狀態。進入低功耗狀態后,CH376芯片的時鐘停振,從而節約電能。
該控制系統設計達到了以下三點設計目標:一是該設計實現了井下壓力數據的實時采集、處理、存儲和導出,工作模式和狀態可以設置;二是功耗指標滿足兩節五號電池工作24小時的要求,壓力結果數據穩定、可靠;三是采樣頻率最高達到10Hz,兩節5號金霸王電池持續工作24小時,數據存儲量達到2M Bytes,能夠實時記錄。
需進一步改進之處在于考慮改用STM32F102系列控制器,使用控制器內部USB,省略CH376芯片的使用,進一步縮小控制板體積,降低系統整體功耗。
[1]李寧.基于MDK的STM32處理器開發應用[M].北京:北京航空航天大學出版社,2008
[2]劉波文.ARM Cortex-M3應用開發實例詳解[M].北京:電子工業出版社,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
高兵權(1975-),男,河北保定人,碩士,總后軍事交通運輸研究所工程師,研究方向:軍事裝備信息化。