基于PIC16F628A的無線智能遠(yuǎn)傳水表的設(shè)計
O 概述
隨著無線電技術(shù)、通訊技術(shù)和單片機(jī)技術(shù)的發(fā)展,無線智能遠(yuǎn)傳水表系統(tǒng)以其安裝便利、維護(hù)快捷、不受安裝環(huán)境和布線限制等優(yōu)點(diǎn),成為了水表行業(yè)智能管理的主導(dǎo)系統(tǒng)。該系統(tǒng)一般由四部分組成,即自來水公司微機(jī)數(shù)據(jù)管理系統(tǒng)、現(xiàn)場數(shù)據(jù)下載器(手抄機(jī))、數(shù)據(jù)集中器、無線遠(yuǎn)傳智能水表。其中無線智能遠(yuǎn)傳水表是整個系統(tǒng)的基礎(chǔ)部分,是信息的產(chǎn)生單元。它一般是在原基表的基礎(chǔ)上,加裝新型傳感器和控制電路板構(gòu)成。
1 無線智能遠(yuǎn)傳水表實(shí)現(xiàn)的功能
通過廣泛的市場調(diào)研確定無線智能遠(yuǎn)傳水表應(yīng)實(shí)現(xiàn)以下功能:自動定時或定量上報水量功能;根據(jù)集中器命令控制水表閥門開關(guān)功能;自動報告遠(yuǎn)傳水表被破壞或受干擾、用水量異常(過大或過小)、電池電能不足的功能;按管理部門的需要進(jìn)行參量設(shè)制功能。
2 硬件電路的設(shè)計
無線智能遠(yuǎn)傳水表的無線通信頻率選擇公用頻段(ISM頻段)。該表采用電池供電,保證市電停電時,不影響表具對信息的采集和存儲。根據(jù)行業(yè)標(biāo)準(zhǔn)的要求,電池的使用壽命大于6年,因此整個產(chǎn)品的設(shè)計要充分考慮耗電量問題。電池選擇高能鋰電池,通過選擇低功耗器件、設(shè)定精密的微功耗工作方式來確保電池的使用壽命。通過采用雙傳感器、軟件糾錯、抗干擾技術(shù)、加密技術(shù)來保障數(shù)據(jù)采集、存儲、傳輸?shù)臏?zhǔn)確度。
2.1 無線智能遠(yuǎn)傳水表的組成單元及功能
無線智能遠(yuǎn)傳水表主要包括以下單元:單片機(jī)、輸入采集、無線數(shù)傳、電源、閥門控制、電壓檢測單元。其構(gòu)成框圖如圖1所示。
2.2 各單元電路的硬件設(shè)計
2.2.1 輸入信號采集單元
傳感器選擇接觸阻抗低、無待機(jī)功耗、可靠性好的小型干簧管。作為磁傳感器,在磁鐵進(jìn)入干簧管吸合臨界區(qū)的時候,干簧管會產(chǎn)生多次吸合,導(dǎo)致重復(fù)計量。為了提高計量的準(zhǔn)確性和抗干擾性,在產(chǎn)品中采用雙傳感器設(shè)計。無論單個傳感器吸合多少次都按照吸合一次計算,只有兩個傳感器各吸合一次才算是一次有效計量。本設(shè)計計量單位為0.1t。當(dāng)兩個傳感器同時吸合時,認(rèn)為是外界強(qiáng)磁干擾,水表執(zhí)行關(guān)閉閥門動作。設(shè)置單片機(jī)RB0、RB4引腳作為檢測端。
2.2.2 單片機(jī)的設(shè)計
單片機(jī)選擇的是功耗低、抗干擾能力強(qiáng)、編程調(diào)試方便、價格低的PICl6F628A芯片。該單片機(jī)指令為單字節(jié)指令,避免程序“跑飛”造成”死機(jī)”。高可靠性的看門狗自帶RC振蕩器,能夠避免程序鎖死,進(jìn)一步增加了抗干擾能力。休眠(斷電)模式功耗為微功耗,工作時可從休眠狀態(tài)喚醒,精密設(shè)計其工作過程,可使功耗達(dá)到節(jié)約的極限。為了降低整機(jī)的功耗,單片機(jī)的主時鐘選用內(nèi)部時鐘4M(通過設(shè)置電源控制寄存器PCON的BIT3=1實(shí)現(xiàn)),這樣單字節(jié)指令執(zhí)行時間為1s,調(diào)用和條件轉(zhuǎn)移指令需要2 μs。設(shè)置單片機(jī)工作平時在睡眠狀態(tài),只有在定時時間到或有水量信息時才被中斷喚醒。為了降低整機(jī)的功耗,定時器1的時鐘脈沖選擇片外晶體振蕩電路,晶體頻率是32.768k,配諧電容為22p,內(nèi)部采用8分頻(通過設(shè)置控制寄存器T1CON的BIT4,BIT5=1),這樣當(dāng)脈沖個數(shù)為24225個時(5FH,0FFH),定時時間達(dá)到10s。
2.2.3 無線數(shù)傳單元的設(shè)計
無線數(shù)傳芯片選擇的是高集成度、多通道的RF收發(fā)芯片CCll00,該芯片控制方便、功能強(qiáng)大、體積小、價格低、功耗低、抗干擾性強(qiáng)。CCll00的引腳SPI_SCK連接單片機(jī)引腳RAl(輸出);SPI_SI連接單片機(jī)RA2引腳(輸出);SPI_SO連接單片機(jī)RA3引腳(輸入);SPI_CS連接單片機(jī)RA6引腳(輸出);GDO0連接單片機(jī)RA7引腳(輸入)。
CC1100的軟件設(shè)計主要是利用TI公司提供的對該芯片的內(nèi)部寄存器設(shè)置軟件Smart Studio對CCll00控制寄存器進(jìn)行設(shè)置,在軟件參數(shù)配置時要注意選擇輸出功率為10dBm,中心頻率為433.92MHz,數(shù)據(jù)傳輸速率為10kbps,將這些主要參數(shù)輸入后,專用配置軟件將CCll00所有的控制寄存器的參數(shù)值自動換算到該芯片的最優(yōu)化設(shè)置,將這些參數(shù)通過單片機(jī),按照約定的地址寫入到CCll00特定寄存器,就可保證CCll00穩(wěn)定可靠地工作。在程序設(shè)計中要定期刷新CCll00控制寄存器的設(shè)置,防止寄存器中的內(nèi)容在強(qiáng)烈外界干擾環(huán)境中改變,使芯片不能正常工作。CCll00的軟件設(shè)計要注意,在無線數(shù)據(jù)傳輸過程中要關(guān)閉其它附屬設(shè)備的工作狀態(tài),保持傳輸數(shù)據(jù)的可靠性和穩(wěn)定性。
2.2.4 閥門控制單元的設(shè)計
驅(qū)動電磁閥開關(guān)的芯片選擇的是L9110芯片。該芯片有兩個TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;兩個輸出端能直接驅(qū)動電機(jī)的正反向運(yùn)動,它具有較大的電流驅(qū)動能力,每通道能通過800mA的持續(xù)電流,峰值電流能力可達(dá)1.5A;同時它具有較低的輸出飽和壓降;內(nèi)置的鉗位二極管能釋放感性負(fù)載的反向沖擊電流,驅(qū)動性能安全可靠。單片機(jī)RB5引腳設(shè)置為關(guān)閥控制;RB3引腳設(shè)置為開閥控制;RB2引腳設(shè)置閥門開到位判斷;RBl引腳設(shè)置閥門關(guān)到位判斷。
2.2.5 電源電壓檢測元件的選擇與設(shè)計
電壓檢測芯片選擇的是小功率的MCPlll芯片。當(dāng)電源電壓高于檢測電壓時,MCPlll輸出保持高電平;若低于檢測電壓時輸出將變?yōu)榈碗娖?,提醒電源電量的不足。設(shè)置單片機(jī)引腳RA5為電源電壓檢測輸入引腳,低電平有效。該產(chǎn)品設(shè)定MCPlll的檢測電壓為3V;在檢測到電池電壓低提出報警后,仍能保證控制電路板正常工作三個月以上,為更換電池提供時間余量。
無線智能遠(yuǎn)傳水表連接示意圖如圖2所示。
3 軟件設(shè)計
智能無線遠(yuǎn)傳水表的軟件采取模塊化設(shè)計,程序主要有以下主子程序組成:主程序模塊、定時中斷處理程序模塊、水量采樣處理程序模塊、接收無線數(shù)據(jù)處理程序模塊、數(shù)據(jù)發(fā)射程序模塊。
3.1 主程序設(shè)計
智能無線遠(yuǎn)傳水表上電后,系統(tǒng)軟件逐個檢測各個功能模塊的工作狀態(tài)。主要包括傳感器模塊檢測、定時器模塊檢測、閥門執(zhí)行機(jī)構(gòu)檢測、特別是對CCll00的工作參數(shù)設(shè)置以及設(shè)置完成的結(jié)果檢測,這些模塊檢測正常后系統(tǒng)檢測燈熄滅,系統(tǒng)進(jìn)入低功耗工作狀態(tài)。進(jìn)入低功耗工作的系統(tǒng)只有靠中斷才能開啟。開啟系統(tǒng)由低功耗進(jìn)入工作狀態(tài)的方式有兩種:一種是當(dāng)有傳感器信號進(jìn)入時,傳感器信號開啟中斷系統(tǒng);另一種是定時器時間到后開啟中斷系統(tǒng)。開啟后的系統(tǒng)執(zhí)行完中斷的操作后回到低功耗模式。
3.2 定時中斷處理程序設(shè)計
定時啟動時間是10s一次,啟動以后主要功能是:開啟接收機(jī)接收查看是否有無線電信號進(jìn)來。如果沒有,進(jìn)入低功耗狀態(tài),如果有,則判斷是不是協(xié)議規(guī)定的命令。如果是規(guī)定的命令執(zhí)行相應(yīng)的操作,否則關(guān)閉接收機(jī),進(jìn)入低功耗。定時24小時自動發(fā)射數(shù)據(jù)一次,定時一個月“洗閥”一次。
3.3 水量采樣處理程序設(shè)計
當(dāng)水表的傳感器有信號來的時候,經(jīng)軟件濾波后判斷是否為有效信號。若是無效信號則直接退出中斷,若為有效信號時就進(jìn)行計數(shù)和水量運(yùn)算,運(yùn)算后將數(shù)據(jù)存儲在單片機(jī)內(nèi)部的存儲器內(nèi)。分析是否達(dá)到發(fā)射水量,達(dá)到發(fā)射水量則發(fā)射數(shù)據(jù),否則退出中斷。
3.4 接收無線數(shù)據(jù)處理程序設(shè)計
設(shè)置CCll00為接收狀態(tài),若有接收信號,則等待接收數(shù)據(jù),讀CCll00寄存器中的接收數(shù)據(jù)。讀完規(guī)定字節(jié)數(shù)的數(shù)據(jù)后,進(jìn)行數(shù)據(jù)解碼,判斷數(shù)據(jù)的正確性。數(shù)據(jù)正確,依據(jù)規(guī)定的命令進(jìn)行相應(yīng)的操作;否則退出接收狀態(tài)。
4 結(jié)論
通過對無線遠(yuǎn)傳智能水表進(jìn)行的供電參數(shù)、無線電性能、信號輸出測試、控制功能測試、水表性能測試,其主要參數(shù)全部達(dá)標(biāo),實(shí)現(xiàn)了設(shè)計時要求的技術(shù)指標(biāo)和性能。本產(chǎn)品在天津自來水公司進(jìn)行了試用,數(shù)據(jù)采集的準(zhǔn)確率大于92%以上,具有良好的經(jīng)濟(jì)和社會效益。