引 言
供水系統(tǒng)中的水塔和高位水池等設(shè)備由于所處地勢(shì)高,,上下極為不便,,有時(shí)水即將用完也不知道,造成需用水時(shí)卻無(wú)水可用的情況,。此外,,在向池中注入水的過(guò)程中,由于不知道水位的情況,,也就無(wú)法控制注水量的多少,,這會(huì)嚴(yán)重影響正常的工作效率。為此需要對(duì)水位進(jìn)行自動(dòng)顯示,、監(jiān)測(cè)和報(bào)警,。傳統(tǒng)的水位檢測(cè)系統(tǒng)一般通過(guò)有線方式與監(jiān)控中心取得聯(lián)系,這種方式不但維護(hù)起來(lái)困難,,而且在很大程度上限制了其在時(shí)空上的拓展性,。采用GSM模塊與單片機(jī)構(gòu)成的系統(tǒng)則能夠解決以上的問題。通過(guò)單片機(jī)的并行I/0口可以很方便的實(shí)現(xiàn)水位的顯示功能?,F(xiàn)有的GSM網(wǎng)絡(luò)在全國(guó)范圍內(nèi)實(shí)現(xiàn)了聯(lián)網(wǎng)和漫游,,具有網(wǎng)絡(luò)能力強(qiáng)的特點(diǎn),用戶無(wú)需另外組網(wǎng),,在極大提高網(wǎng)絡(luò)覆蓋范圍的同時(shí)為客戶節(jié)省了昂貴的建網(wǎng)費(fèi)用和維護(hù)費(fèi)用。當(dāng)采用GSM模塊時(shí),就可以通過(guò)一種無(wú)線通信的方式以實(shí)現(xiàn)遠(yuǎn)程終端監(jiān)控和報(bào)警的功能,。
1 水位的測(cè)試及顯示系統(tǒng)
水位的測(cè)試通常有兩種方法,;超聲波水位探測(cè)儀和干簧管式水位顯示儀。這兩種方法雖然可行但不切實(shí)際,,本文設(shè)計(jì)了一種簡(jiǎn)易的水位檢測(cè)方法,。該水位檢測(cè)部分由絕緣支架、電極,、導(dǎo)管和浮球幾部分構(gòu)成,,如圖1所示。浮子由1個(gè)直徑15 cm的不銹鋼球與1根長(zhǎng)105 cm,、外徑15 mm的不銹鋼管焊接而成,。導(dǎo)管是一根外徑20 mm、內(nèi)徑17 mm的PVC塑料管,。支架由長(zhǎng)80 cm的電工導(dǎo)軌制作而成,。其余部分安裝在1個(gè)長(zhǎng)25 cm、寬20 cm,、厚5 cm的塑料盒內(nèi),。
水位測(cè)試系統(tǒng)與單片機(jī)的并行I/0口、電阻,、電源及LED發(fā)光二極管共同組成水位檢測(cè)顯示系統(tǒng),,如圖2所示。
電極K1,、K2和K3的另一端分別與單片機(jī)的并行I/C口P1.1,、P1.2和P1.3相連,而對(duì)應(yīng)的l/O口則通過(guò)電阻串LED接電源的正極,。當(dāng)水位達(dá)到水滿位置時(shí),,此時(shí)通過(guò)水的導(dǎo)電,電極開關(guān)K1,、K2和K3都導(dǎo)通,,相應(yīng)Pl口接地置低,3個(gè)發(fā)光二極管都點(diǎn)亮,;當(dāng)水位達(dá)到正常水位時(shí),,K2和K3導(dǎo)通,而K1斷開,,相應(yīng)P1.2和P1.3置低,,2個(gè)二極管點(diǎn)亮;當(dāng)水位達(dá)到缺水位置時(shí),此時(shí)只有K3導(dǎo)通,,對(duì)應(yīng)只有IJFD3被點(diǎn)亮,。通過(guò)二極管燈點(diǎn)亮個(gè)數(shù)的顯示,,在現(xiàn)場(chǎng)給水池注水時(shí),就能很清楚的知道水位的狀況,,這樣就能夠正確的注水了,。
2 水位遠(yuǎn)程檢測(cè)系統(tǒng)硬件組成
水位遠(yuǎn)程檢測(cè)系統(tǒng)實(shí)際是一個(gè)無(wú)線數(shù)據(jù)的收發(fā)系統(tǒng)。該系統(tǒng)主要是通過(guò)現(xiàn)有的移動(dòng)通信網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)無(wú)線數(shù)據(jù)的傳送,。它主要由兩部分組成,,即微控制器芯片89C2051和GSM無(wú)線短信芯片G100A。
2.1 微控制器
微控制器采用Atrnel公司推出的一種小型單片機(jī)89C2051,,其片內(nèi)含有2 KB的Flash程序存儲(chǔ)器和128 B的片內(nèi)RAM,。89C2051共20引腳,其中P1口8腳,,可以作為一般的準(zhǔn)雙向端口,,在引腳的驅(qū)動(dòng)能力上,具有很強(qiáng)的下拉能力,,工作電壓為2.7~6 V,。當(dāng)工作電壓在3 V時(shí),電流相當(dāng)于6 V工作時(shí)的1/4,空閑時(shí)為1 mA,,掉電時(shí)僅為20 nA,。這樣小的功耗很適合于電池供電的小型控制系統(tǒng)。主要特點(diǎn)為采用Flash存儲(chǔ)器技術(shù),,其軟件,、硬件與MCS-51完全兼容,程序的電可擦寫特性,,使得開發(fā)與試驗(yàn)比較容易,。
2.2 GSM無(wú)線短信芯片
GSM無(wú)線短信模塊G100A是由北京捷麥公司推出的,該模塊采用全SMT組裝,,工藝先進(jìn),、可靠性高,工作電壓范圍為5~15 v,。其內(nèi)置的德國(guó)西門子公司GSM模塊Tc35使得模塊操作簡(jiǎn)單,,無(wú)須學(xué)習(xí)復(fù)雜的GSM模塊AT指令集。G100A的串口具有TTL,、RS232和RS485半雙工三種形式,,標(biāo)準(zhǔn)配置為RS232。
2.3 系統(tǒng)硬件接口連接
整個(gè)水位遠(yuǎn)程檢測(cè)系統(tǒng)由上位機(jī)和下位機(jī)構(gòu)成,,其中上位機(jī)主要是指移動(dòng)終端即手機(jī),,而下位機(jī)是由GSM無(wú)線收發(fā)模塊及與其相連的單片機(jī)構(gòu)成,其電路連接原理圖如圖3所示,。
下位機(jī)安裝在水池附近,,而微控制器C2051與G100A之間是通過(guò)串口RS232相連的,,即TX、RX和GND三條線,,圖3中以網(wǎng)絡(luò)標(biāo)號(hào)相連,。由于各自的工作電壓不太一樣,在這里采用電平轉(zhuǎn)換芯片MAX3232以實(shí)現(xiàn)電平轉(zhuǎn)換,。單片機(jī)的并行I/O口通過(guò)網(wǎng)絡(luò)標(biāo)號(hào)P1.1、P1.2和P1.3分別與水位測(cè)試系統(tǒng)中的電極按鍵K1,、K2和K3的一端相連,。當(dāng)水位在不同狀態(tài)時(shí),由于按鍵的作用使得對(duì)應(yīng)的P1.1,、Pl_2和P1.3電平的狀態(tài)也不一致,。這樣就可以通過(guò)檢測(cè)P1口的狀態(tài),并將其狀態(tài)以短消息的形式由GSM模塊發(fā)送出去,,手機(jī)終端收到短信后就可以判斷水位的狀態(tài),。這樣就完成了水位的遠(yuǎn)程檢測(cè)功能。
3 水位數(shù)據(jù)無(wú)線傳輸?shù)能浖?shí)現(xiàn)
由于G100A型GSM數(shù)傳模塊采用的是三線制串口.即TX,、RX和GND三條線,,故它們之間的數(shù)據(jù)傳輸遵循串行數(shù)據(jù)的格式,其傳輸數(shù)據(jù)格式為:1個(gè)起始位,、8個(gè)數(shù)據(jù)位和1個(gè)停止位,,且無(wú)校驗(yàn)(即5l系列單片機(jī)串行通信的方式1)。串口速率為固定的9600 bps,。單片機(jī)將采集到的水位信息即P1.1,、P1.2和P1.3的置零狀態(tài)通過(guò)串口傳送給GSM模塊,當(dāng)GSM模塊收到遠(yuǎn)程上位機(jī)發(fā)送過(guò)來(lái)的請(qǐng)求得到水位信息后,,它就相應(yīng)的按照某種固定的數(shù)據(jù)格式將水位信息發(fā)送出去,。
GSM數(shù)據(jù)發(fā)送和接收的過(guò)程沒有其他任何握手和數(shù)據(jù)流控制線,只需按照G100A型GSM數(shù)傳模塊所要求的數(shù)據(jù)傳送格式即可,。
GSM短信模塊G100A是用GSM模塊的短信息功能來(lái)傳輸數(shù)據(jù)的,,所以在使用它傳輸數(shù)據(jù)時(shí)要用到電話號(hào)碼。數(shù)據(jù)包中用6個(gè)8位二進(jìn)制字節(jié)表示電話號(hào)碼,,每個(gè)字節(jié)中的高4位和低4位均用BCD碼表示l位十進(jìn)制的電話號(hào)碼,,這樣每個(gè)字節(jié)可表示兩位電話號(hào)碼,6個(gè)字節(jié)共可表示12位電話號(hào)碼,。因?yàn)楝F(xiàn)行的電話號(hào)碼均為11位,,而6字節(jié)能表示12位十進(jìn)制的BcD數(shù),所以在傳輸數(shù)據(jù)表示電話號(hào)碼時(shí)要在電話號(hào)碼的前面補(bǔ)0以湊足12位,。假設(shè)電話號(hào)碼是13501237654,,轉(zhuǎn)換成6字節(jié)BCD碼后變?yōu)?1H 35H 01H 23H 76H 54H,。
3.1數(shù)據(jù)包格式
無(wú)論是數(shù)據(jù)還是命令都用下面的格式來(lái)表示:
不管是命令還是數(shù)據(jù),都有一個(gè)包頭D7H,,接著就是一個(gè)控制字節(jié),。本模塊規(guī)定:當(dāng)控制字節(jié)大于147時(shí),數(shù)據(jù)包為命令,,否則就為數(shù)據(jù),。比如命令D7H FFH參數(shù),D7H為包頭,,F(xiàn)FH為控制字節(jié),,因FFH>147,故參數(shù)為命令字節(jié),。模塊就是靠數(shù)據(jù)包的第二個(gè)字節(jié)來(lái)識(shí)別發(fā)給它的信息是命令信息還是數(shù)據(jù)信息的,。
3. 1.1 發(fā)送用戶數(shù)據(jù)的格式
根據(jù)數(shù)據(jù)包格式,發(fā)送用戶數(shù)據(jù)格式如下:
其中,,UDL表示要發(fā)送的除包頭D7H以外總的數(shù)據(jù)長(zhǎng)度,,包括STA、UD和它本身的字節(jié)長(zhǎng)度,。STA和UDL的字節(jié)長(zhǎng)度一般是固定的,,為l+6=7字節(jié)。STA為接收方的電話號(hào)碼,,即目的地址,,號(hào)碼需要進(jìn)行格式轉(zhuǎn)換。UD表示要發(fā)送的有效數(shù)據(jù),,其總長(zhǎng)度不大于140字節(jié),,因?yàn)槎绦畔⒌臄?shù)據(jù)長(zhǎng)度不能超過(guò)140字節(jié)。
假設(shè)要發(fā)送OOH,、11H,、22H、331H,、44H和55H,,共6個(gè)字節(jié)數(shù)據(jù),接收方的電話號(hào)碼(目的地址)是13655436789,,UDL=ODH(13個(gè)字節(jié)),,STA:01H 36H55H 43H 67H 89H,UD=OOH 1lH 22H 33H 44H 55H,發(fā)送格式如下:
3.1.2 接收用戶數(shù)據(jù)的格式
接收用戶數(shù)據(jù)格式如下:
與發(fā)送用戶數(shù)據(jù)格式不同的是SOA,,它是發(fā)送方的電話號(hào)碼,,即源地址。
假設(shè)收到上面發(fā)送來(lái)的OOH,、11H,、22H,、33H、44H和55H,共6字節(jié)數(shù)據(jù),,發(fā)送方的電話號(hào)碼(源地址)是13920855795,,UDL=0DH(13個(gè)字節(jié)),SOA=OlH 39H20H 85H 57H 95H,,UD=OOH 11H 22FI 33H 44H 55H,接收到的數(shù)據(jù)格式如下:
3.2 命令集
GIOOA型GSM數(shù)傳模塊含有豐富的命令,,通過(guò)對(duì)不同命令的操作來(lái)實(shí)現(xiàn)數(shù)據(jù)的正確收發(fā)過(guò)程,其命令集如表1所列,。
當(dāng)按照GIOOA型GSM數(shù)傳模塊所要求的數(shù)據(jù)格式及命令傳送數(shù)據(jù)時(shí),,就不需要使用復(fù)雜的G
4 結(jié)論
本簡(jiǎn)易水位測(cè)試系統(tǒng)實(shí)用方便,系統(tǒng)通過(guò)水位的變化來(lái)控制與單片機(jī)I/0口相連的LED變化,,這種顯示效果可以很好的控制水位。在遠(yuǎn)程檢測(cè)系統(tǒng)中,,通過(guò)采用單片機(jī)的串口可以實(shí)時(shí)的將水位信息傳送給(GSM模塊,。在無(wú)請(qǐng)求時(shí),其水位信息暫存在單片機(jī)中,,且不斷的更新水位信息,。當(dāng)用戶需要時(shí),會(huì)根據(jù)用戶的需要自動(dòng)的通過(guò)串口將最新的水位信息送給GSM模塊,。由于GSM短信模塊采用G100A,,使得無(wú)線數(shù)據(jù)的傳送變得極為容易,用戶操作起來(lái)也非常方便,。
該系統(tǒng)的種種特點(diǎn)完全可以擴(kuò)展到其他的領(lǐng)域使用,,如長(zhǎng)江水位的防汛工作。如果用戶想要了解長(zhǎng)江的水位情況,,只需要發(fā)送一個(gè)短信,,就可以及時(shí)的了解水位狀況,而不需要親臨現(xiàn)場(chǎng),。