朱鎮
(大慶油田有限責任公司第二采油廠大慶地震臺,黑龍江 大慶 163414)
在該系統中采用了模塊化設計,除了單片機這一核心,還包括能對溫度信息進行采集的溫度傳感器、能對數據進行傳輸的無線信號傳輸以及串口通信模塊等。為保證數據采集的效果,在對溫度傳感器決心選擇時采用DS18B20,將其直接連接到MCU單片機并口,系統控制核心選擇STC89C52RC單片機,以附帶的八段數碼管顯示單元把接收到的數據信息實時顯示出來。單片機和ZigBee無線發射模塊的連接主要依托串口轉換電路,另一模塊則連接PC端,為數據無線傳輸提供支撐。系統總體結構見圖1。

圖1 系統總體結構
選擇STC公司的C89C52RC單片機,其本身具備8KB系統可編程Flash存儲器以及512B的RAM,內置MAX810復位電路,配合3個16位定時器以及4個8位通用I/O控制端口,再加上可自由編程的全雙工串口,能夠適應多數工作環境要求。單片機的工作電壓在3.3~5.5V之間,與其他MCS—51單片機相比,該單片機的運行速度更快、性能更好、功耗更低,在配備4位8段共陰極數碼管的情況下,能夠對接收到的溫度數據直接顯示出來,而且顯示出的數據精度較高。運用74HC573來實現系統的數據鎖存功能,不僅保證了數據安全,還能夠對系統中的溫度數據進行持續更新,更能使單片機本身所具備的I/O控制端口得到充分的利用。
溫度傳感器采集到的溫度數據實際上是模擬量,要對其進行讀取和顯示,必須先將其轉化成數字量,DS18B20所具備的模數轉換功能可以實現對系統整體結構的簡化。DS18B20是一種單線式、可編程的數字溫度傳感器,其體積較小,數據采集精度高,而且具備較強的抗干擾能力,能夠將采集到的溫度直接轉化為數字信息,并經由數據端傳輸。DS18B20特殊的單線數據串行接口在保證數據傳輸安全性的同時也能夠減少控制器端口,經由數據線引入相應的寄生電源就可以實現有效供電,因此在使用中十分方便。傳感器能夠測量的溫度范圍在-55~125℃,封裝后具備良好的適應能力,在狹小空間數字測溫和控制中優勢明顯。
在DS18B20內部包含了溫度傳感器、64位光刻ROM、非揮發溫度報警觸發器以及TL配置寄存器。其中64為光刻ROM的排序依次為產品類型標號(8位)、傳感器本身序列號(48位)以及前面數字的循環冗余校驗碼(8位),能夠使所有的DS18B20具備自身獨有的特征,確保一根總線上可以同時掛接多個DS18B20。存儲器可以分為兩種,一種是包含8B的存儲器所構成的高速暫存器RAM;另一種則是可電擦除RAM,這種特殊的存儲器可以進一步劃分成溫度觸發器TH和TL以及相應的配置寄存器,基本上溫度觸發器TH和TL的構成均為單一EEPROM字節,在實際應用中可以根據具體情況來設置好溫度的上限和下限值,并將設置好的數值寫入到控制系統中,確保其能夠實現有效的控制。在每次溫度測量結束后,溫度傳感器DS18B20會對測量結果會進行整理,然后存儲到相應的暫存器中,存儲的數據可以被相關指令讀取。
ZigBee無線傳輸模塊具有功耗低、成本低、延時短、容量高等特點,能夠實現低速率近距離自組網的無線通信,在自動化工業控制等領域有著廣泛的應用。在該設計中采用主流ZigBee內核芯片CC2530,芯片中融入了IEEE802.15.4兼容無線收發器,能夠實現對模擬無線模塊的有效控制,而且能夠在單片機和無線設備之間提供一個接口,能夠發出指令、讀取狀態,也可以對無線設備時間的順序進行自動確定,多樣化的運行模式使芯片能夠適應超低功耗的要求。為確保無線模塊能夠實現與上位機PC端以及單片機開發板之間的串口連接,將ZigBee無線傳輸內核與串流轉換電路組合封裝后,形成QAZ2231模塊,可以實現點對點或點多點組網通信。
為方便實現模塊化應用,提升系統的適用性,在對該系統進行設計的過程中,應該確保單片機與CC2530芯片的連接采用電平轉換電路,經由串口實現直接連接。轉換芯片可以根據實際情況進行選擇,這里推薦MAX232,利用該芯片中的第2路引腳接口,能夠非常簡單地完成與RS232串口、單片機乃至CC2530的有效連接,具體如圖2所示。

圖2 串口轉換電路
系統利用DS18B20溫度傳感器模塊實現對溫度數據的采集,采集到的數據經由單線端口實現與單片機的連通。對系統核心控制單元的單片機而言,在實際運行中能夠將自身接收到的由溫度傳感器傳輸的數據信息經由相應的數碼管實時地展示出來,如果搭配74HC573數字鎖存芯片,則能夠對鎖存的數據進行有效的傳輸,再結合PO端口提供的數據信息,能夠切實保證系統的正常運作。
在系統上電后,初始化單片機以及溫度傳感器,檢測數據端口,確認無誤后可以經由相應的串口,將采集到的數據傳輸到無線模塊,再同步發送至系統,于數碼管中直接顯示。對軟件程序進行設計的過程中,應該嚴格遵循DS18B20的工作時序,如果需要進行讀寫操作,必須先進行復位并同步發送一條ROM指令,確認后才能發送RAM指令,以此來實現對DS18B20的預定操作,確保數據的準確采集。無線傳輸同樣需要嚴格依照CC2530協議棧及控制邏輯的要求進行。此處對部分軟件程序的設計進行簡單展示:
//DS18B20 初始化操作
Voidds_init()void
{
Bit flag; //定義有效標志位變量
DQ=1;
Delay(1); //等待5μs
DQ=0; //拉低總線
Delay(100); //延時超過480μs,總線中所有器件復位
DQ=1; //釋放總線使其處于空閑狀態
Delay(8); //檢測間隙,確保其處于15μs-60μs之間
flag=DQ; //狀態標志讀取,0表示復位成功,1表示復位失敗
Delay(20); //等待脈沖輸入完畢:60μs-240μs
DQ=0; //釋放總線
}
//讀取溫度
在工業和生活領域,單片機微控制溫度采集系統有著非常廣泛的應用,基于地震前兆水溫觀測的實際工作需要,設計了基于單片機的溫度采集和無線傳輸系統,系統本身結構和操作簡單、維護方便、成本低廉,而且模塊化的設計能夠依照實際需求,進行數據采集通道的自由添加,具備較強的可擴展性,在水體溫度、環境溫度等檢測和控制中,有著較強的實用性。
