劉波
摘要:針對監(jiān)測控制系統(tǒng)中對前端參數(shù)采集部分的設(shè)計(jì)需求,設(shè)計(jì)了基于STM32F030(采用ARMCORTEX-M0內(nèi)核)處理器的多參數(shù)采集單元,采集單元可完成溫濕度、氣壓等參數(shù)數(shù)據(jù)的采集和存儲并通過無線模塊NRF24L01實(shí)現(xiàn)數(shù)據(jù)的無線收發(fā);單元配有按鍵及液晶顯示器,便于查看當(dāng)前參數(shù)數(shù)據(jù)。通過選取性價比高的數(shù)字傳感器簡化了電路結(jié)構(gòu)并降低硬件成本,通過合理的軟件程序設(shè)計(jì)進(jìn)一步降低系統(tǒng)的功耗。經(jīng)測試單元工作穩(wěn)定,可實(shí)現(xiàn)參數(shù)的采集傳輸?shù)裙δ?。同時,采集單元方便移植,可應(yīng)用于環(huán)境監(jiān)測,工業(yè)數(shù)據(jù)檢測,智能溫室等監(jiān)控系統(tǒng)中。
關(guān)鍵詞:STM32處理器;數(shù)據(jù)采集;無線通信;低功耗
在現(xiàn)代監(jiān)測控制系統(tǒng)中,獲取前端參數(shù)數(shù)據(jù)至關(guān)重要,可以說參數(shù)采集是實(shí)現(xiàn)控制的基礎(chǔ)。在工業(yè)自動化控制、農(nóng)業(yè)生產(chǎn)自動化、環(huán)境質(zhì)量監(jiān)測、智能醫(yī)療監(jiān)護(hù)等眾多領(lǐng)域都離不開數(shù)據(jù)的采集和處理。本文設(shè)計(jì)了采用以32位處理器為核心的無線數(shù)據(jù)采集單元。選用ST公司的STM32F030處理器作為控制核心,單元集參數(shù)采集、數(shù)據(jù)存儲與顯示、無線轉(zhuǎn)發(fā)為一體,采用電池供電且具有低電壓告警功能。[1]
1單元硬件電路設(shè)計(jì)
數(shù)據(jù)采集單元的電路設(shè)計(jì)在滿足基本功能的基礎(chǔ)上按照低成本、低功耗的設(shè)計(jì)原則。在實(shí)際采集系統(tǒng)中,前端采集單元數(shù)量眾多,硬件設(shè)計(jì)應(yīng)盡量降低成本;另外,單元采用電池供電,為避免頻繁更換電池,單元電路功耗設(shè)計(jì)要盡量低,以延長電池的使用時間。單元整體結(jié)構(gòu)框如1所示。
1.1 處理器
單元選用ST(意法半導(dǎo)體)公司的STM32F030C8T6控制器作為處理器,STM32F030系列是意法半導(dǎo)體推出的超值系列32位微控制器,該系列芯片基于超低功耗的ARMCORTEX-M0處理器內(nèi)核,其價格與8位微控制器相當(dāng),有豐富的外設(shè)數(shù)量和種類,內(nèi)核頻率高達(dá)48MHz。
STM32F030內(nèi)置高速12位ADC、先進(jìn)且靈活的定時器(支持ADC同步、死時管理和電機(jī)控制PWM時序功能)、溫度傳感器、日歷RTC和通信接口(如I2C、USART、SPI等)[2]。因此,選用該處理器可以減少外圍元件的數(shù)目、提高電路性能、降低系統(tǒng)的成本。
設(shè)計(jì)中為了降低微處理器的功耗,可采用32.768kHz的晶體振蕩器作為時鐘,另外,STM32F030有3種低功耗模式,在完成數(shù)據(jù)采集任務(wù)后,處理器進(jìn)入低功耗模式[3]。
1.1傳感器
傳感器部分實(shí)現(xiàn)空氣溫濕度及大氣壓的數(shù)據(jù)檢測,在具體應(yīng)用中可以更換傳感器類型實(shí)現(xiàn)不同參數(shù)采集。
溫濕度傳感器:選用數(shù)字溫濕度傳感器DHT11,DHT11是一款有已校準(zhǔn)數(shù)字信號輸出的溫濕度傳感器。工作電壓3.3~5.5V,量程濕度20~90%RH,溫度0~5℃;濕度精度+-5%RH,溫度±2℃。DHT11與處理器之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分。操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和數(shù)據(jù),傳送正確時校驗(yàn)和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位[3] 。氣壓傳感器:采用數(shù)字氣壓傳感器BMP085,BMP085是一款高精度、超低能耗的壓力傳感器,絕對精度可達(dá)到0.03hPa,工作電壓為1.8~3.6V,且耗電極低,只有3μA;BMP085內(nèi)部由壓阻傳感器、AD轉(zhuǎn)換器、和EEPROM與I2C接口控制單元組成。它采用標(biāo)準(zhǔn)的I2C接口,可以方便的與主設(shè)備(單片機(jī))連接通信,其測壓范圍在300~1100hPa。本單元硬件設(shè)計(jì)中處理器使用硬件I2C接口與傳感器進(jìn)行通信。[4]
1.2無線通信
采用低功耗、小體積的NRF24L01無線收發(fā)模塊,NRF24L01的工作頻段為2.4~2.5GHz,該頻段無需授權(quán)許可。芯片內(nèi)置了多個功能模塊,如功放模塊、晶振、頻率合成器等;可通過程序?qū)δK的工作頻道和輸出功率進(jìn)行配置??赏ㄟ^配置命令設(shè)置模塊工作于掉電或空閑等模式,以降低系統(tǒng)的功耗。
1.3存儲單元
數(shù)據(jù)的存儲選用AT24C512,為Atmel公司生產(chǎn)的64kB串行電可擦的可編程存儲器(EEPROM)。AT24C512內(nèi)部共有512頁,每一頁有128個字節(jié),任一單元的地址為16位,地址范圍為0000H~0FFFFH。它采用8引腳封裝,芯片引腳及應(yīng)用電路,芯片結(jié)構(gòu)緊湊、存儲容量大等特點(diǎn),特別適用于具有大容量數(shù)據(jù)存儲要求的數(shù)據(jù)采集系統(tǒng),因此在測控系統(tǒng)中被大量采用。[5]
1.4鍵盤與液晶顯示
因采集單元所需按鍵較少,所以鍵盤部分采用獨(dú)立式按鍵設(shè)計(jì),實(shí)現(xiàn)存儲數(shù)據(jù)的查詢功能;液晶顯示使用NOKIA5110單色點(diǎn)陣液晶模塊,模塊為84*48的點(diǎn)陣LCD,可顯示4行漢字,工作電壓3.3V,采用串行接口與處理器通信,支持多種串行通信協(xié)議,通信速率可高達(dá)4Mbps。
1.5電源模塊
單元采用3.7V鋰電池作為電源,經(jīng)過TPS62291DC-DC電源轉(zhuǎn)換模塊,將電壓降至3.3V為整個單元供電。TPS62291是TI的一款寬電壓輸入,固定電壓輸出的高效率降壓轉(zhuǎn)換芯片,轉(zhuǎn)換效率在95%左右,最高輸出電流為1000mA。處理器內(nèi)置ADC對電池電壓進(jìn)行實(shí)時監(jiān)測,當(dāng)電池電壓過低時,發(fā)送報警信號,以便及時更換電池。
2軟件設(shè)計(jì)
采集單元能量受限,處理器大部分時間處于睡眠模式,定時喚醒對參數(shù)進(jìn)行采集、存儲并轉(zhuǎn)發(fā),為了降低處理器的功耗,對于閑置的IO端口設(shè)置成IPU/IPD模式。[6]
軟件整體設(shè)計(jì)流程:上電后處理器進(jìn)行初始化自檢,執(zhí)行數(shù)據(jù)采集程序并進(jìn)行顯示,無按鍵操作,關(guān)閉顯示并對外圍電路進(jìn)行設(shè)置,然后進(jìn)入睡眠模式;若有按鍵操作或者是定時時間到可喚醒處理器去執(zhí)行相關(guān)程序;如:讀取鍵值,調(diào)用顯示程序,使能內(nèi)部ADC,配置無線模塊,執(zhí)行數(shù)據(jù)采集程序,進(jìn)行數(shù)據(jù)處理和存儲,轉(zhuǎn)發(fā)數(shù)據(jù)等;在完成當(dāng)前任務(wù)結(jié)束后,關(guān)閉內(nèi)部ADC,配置IO,設(shè)置無線模塊進(jìn)入偵聽模式,再次進(jìn)入低功耗模式。
若沒有按鍵操作,液晶顯示處于關(guān)閉狀態(tài)以降低單元功耗,若有按鍵操作,液晶顯示打開并顯示最近一次采集的參數(shù)值和當(dāng)前電池電壓情況。通過上下按鍵可查看參數(shù)得歷史數(shù)據(jù),若長時間沒有按鍵操作,顯示器再次關(guān)閉。
3 結(jié)論
本采集單元可對參數(shù)進(jìn)行實(shí)時監(jiān)測、存儲和無線轉(zhuǎn)發(fā),單元配有獨(dú)立按鍵和液晶顯示器,方便隨時查看當(dāng)前各參數(shù)值;存儲器中存放著本單元的ID號,用于區(qū)分不同的采集單元;處理器對外圍電路進(jìn)行合理配置后進(jìn)入睡眠模式有效降低了系統(tǒng)的功耗。采集單元按設(shè)定時間間隔進(jìn)行數(shù)據(jù)采集。
參考文獻(xiàn):
[1] 李帥男.基于STM32的無線病房呼叫管理系統(tǒng)的設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2018,36(09):167-168.
[2] 王朝陽,鄒存芝,金小雪,宋曉丹,趙雪松,孫通.基于STM32的無線脈搏檢測系統(tǒng)的設(shè)計(jì)[J].科學(xué)技術(shù)創(chuàng)新,2018(09):91-92.
[3] 宋霞萍.基于STM32的小型智能家居系統(tǒng)設(shè)計(jì)[D].中南林業(yè)科技大學(xué),2014.
[4] 許永通.基于si4432的高性能無線收發(fā)系統(tǒng)設(shè)計(jì)[D].杭州電子科技大學(xué),2014.
[5] 徐國平.智能感控視力保護(hù)儀的設(shè)計(jì)[D].華中師范大學(xué),2013.
[6] 何哲.基于nRF24L01和STM32的無線文件收發(fā)系統(tǒng)[J].可編程控制器與工廠自動化,2011(04):91-93.
(作者單位:德州聯(lián)合石油科技股份有限公司)