范平平
(天津輕工職業技術學院,河北 天津 300380)
多點無線溫度測量系統以AT89S52為核心,采用數字式溫度傳感器DS18B20,應用傳感技術、無線收發技術及計算機技術,實現多點溫度數據的采集和短距離無線傳輸。系統結構采用模塊化設計,主要由三大部分構成:第一部分為系統的溫度數據采集部分,多片單總線溫度傳感器DS18B20組成溫度采集網絡,完成多點溫度數據的采集;第二部分為溫度數據的處理與顯示部分,完成溫度數據的轉換和在數碼管上的顯示;第三部分為系統的發射端,由芯片CD40106輔助TX315A完成數據無線的發射功能。該溫度測量系統電路簡單,性能穩定,抗干擾能力強,可靠性高,搭建方便,易于擴展,實際發射距離約50m,因此本系統適用于在短距離對多種環境溫度的監測,有廣闊的應用前景[1]。
由于斯邁特計算機廠生產的單片機在線系統AY-MPU89S52E設置有專門的DS18B20芯片引腳插孔,所以可將DS18B20通過插座直接插在插孔上。為使DS18B20在動態轉換周期中獲得足夠的電流供應,當進行溫度轉換或拷貝到E2存儲器操作時,給I/O線提供一個強上拉。用MOSFET把I/O線直接拉到電源上就可以實現。所以在DS18B20的VCC與DQ引腳之間焊接一個4.7KΩ的電阻;因為DQ引腳對應著P1.0,所以將P1.0對應的跳線器置于下方。隨后完成了TX315A的連接,為了防止元器件連接到擴展板時電壓有所衰減,導致給發射器提供的電壓不足,引入了CD40106BE芯片,該芯片為CMOS電路構成的施密特觸發器,主要用于信號電路的整形。整個電路集成了6個施密特觸發器,每個施密特觸發器為反相輸出結構,本電路用其中兩個施密特觸發器構成同相電路,用以提高單片機串行接口的信號輸出能力。本集成電路芯片共有14個引腳,引腳1與P3.1相連(P3.1位串行通信信號輸出端),引腳2與引腳3相連,引腳4與TX315A信號輸入端相連,引腳5,7,9,11,13都與GND相連。TX315A的引腳1與VCC相連,引腳2與GND相連,引腳3與CD40106BE芯片的引腳4相連。
硬件電路搭建完成后,進行了匯編程序的編寫。為了組裝調試方便,將一個全部的匯編程序分成4部分:①DS18B20的溫度讀取模塊;②溫度轉換處理模塊;③溫度在數碼管上的顯示模塊;④單片機與單片機之間的串行通信模塊。下面分別就這4個模塊進行簡要的敘述。
此模塊由4個函數構成:①讀取溫度的主函數GET_TEMP;②初始化DS18B20的子函數INT;③向DS18B20寫操作命令的子函數WRITE;④從DS18B20中讀取數據的子函數READ。
DS18B20測得的溫度在存儲區是以補碼的形式存儲的,因此要將其在數碼管上顯示需要進行適當轉換[2]。
溫度數據占用兩個字節LSB與MSB,其中MSB的高5位為符號位,后三位與LSB的8位二進制組成溫度數值部分,LSB的高四位與MSB的低三位組成溫度的整數部分,LSB的低四位為溫度的小數部分,為方便顯示,將精度定為小數點后一位。
將要顯示的內容存儲在6個存儲單元中,將字位碼送到P2口,字型碼送到P0口,數碼管從左向右依次顯示,延時程序為1ms,根據視覺停留的原理,看上去像是6個數碼管同時點亮。
串行通信采用程序查詢方式處理。作為發送方A,首先要發送出接收起始識別標記,便于接收方B判別從哪一字節開始接收,為了避免差錯的產生,所選的起始標記不可以是0與21之間的任何十進制整數,因此選定為(99)D。之后將處理好的數據按字節依次發送給接收方B,最后一個字節發送A的地址,再由接收方B做出識別。
此次無線溫度傳感系統的實現開始時由于對TX315A的特性不是十分明確,所以最初采用有線串行通信的形式進行調試,將單片機在線系統A與單片機在線系統B用導線分別將它們串行接口的2、3、5引腳與3、2、5引腳相連,擴展時只需將CD40106與TX315A焊接在單片機上,整個程序并不需要改動,但要注意將P3.1的跳線器置于下方。
由于有多個發射器將溫度發送給接收方,為了避免碰撞產生,采用時分復用作為通信協議,使單位時間片的長度略大于整個程序執行一次的長度,每一時間片內只有一個發送方進行數據發送,其他發送方設置時鐘執行空操作,時鐘設置的時長為:(發送方個數-1)×時間片長度,所有發送方輪流發送數據。為了使接收方能順利顯示,發送數據與地址前首先發送識別標志(99)D,然后發送地址,以便接收方完成地址的識別與顯示,最后發送溫度數據。因為只有6個數碼管,接收方既要顯示數據還要顯示地址,所以將溫度的精度設置在小數點后1位。為使TX315A接入整個系統時,提供給發射器的電壓不會有所衰減,接入CD40106芯片。
本文所研究的多點無線溫度測量系統是短距離無線通信技術在溫度測量方面的一個具體應用。系統以AT89S52為核心,采用數字式溫度傳感器DS18B20,應用傳感技術、無線收發技術及計算機技術,實現多點溫度數據的采集和短距離無線傳輸[3]。
系統采用模塊化設計,主要由三大部分構成:第一部分為系統的溫度數據采集部分,多片單總線溫度傳感器DS18B20組成溫度采集網絡,完成多點溫度數據的采集和無線發送;第二部分為溫度數據的處理與顯示部分,完成溫度數據的轉換和在數碼管上的顯示;第三部分為系統的發射端,由芯片CD40106輔助TX351A完成數據無線的發射功能。該溫度測量系統電路簡單,性能穩定,抗干擾能力強,可靠性高,搭建方便,易于擴展,因此本系統適用于在短距離對多種環境溫度的監測。
可以將本系統設計成多點無線溫度傳感器,從而組成分布式無線測溫系統,根據MCS-51系列單片機的主從式多機通信結構,最多可以構成具有254個測溫節點的無線測溫系統,節約了系統布線成本,測溫點布置、移動方便,適用于各種場合,有廣闊的應用前景。
[1]吳紹華,周宏輝.基于無源無線傳感技術的高壓設備溫度監測系統分析[J].機電信息,2012(6):74-77.
[2]朱麗麗,王長友.基于AVR單片機與溫度傳感器DS18B20的多點溫度測量[J].電工電氣,2010(12):52-56.
[3]許文斌,曾全勝.基于單片機AT89C52的數字化溫度測量儀[J].微計算機信息,2010(5):12-14.