基于PIC16F628A的無(wú)線智能遠(yuǎn)傳水表的設(shè)計(jì)
2.2.4 閥門(mén)控制單元的設(shè)計(jì)
驅(qū)動(dòng)電磁閥開(kāi)關(guān)的芯片選擇的是L9110芯片。該芯片有兩個(gè)TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;兩個(gè)輸出端能直接驅(qū)動(dòng)電機(jī)的正反向運(yùn)動(dòng),它具有較大的電流驅(qū)動(dòng)能力,每通道能通過(guò)800mA的持續(xù)電流,峰值電流能力可達(dá)1.5A;同時(shí)它具有較低的輸出飽和壓降;內(nèi)置的鉗位二極管能釋放感性負(fù)載的反向沖擊電流,驅(qū)動(dòng)性能安全可靠。單片機(jī)RB5引腳設(shè)置為關(guān)閥控制;RB3引腳設(shè)置為開(kāi)閥控制;RB2引腳設(shè)置閥門(mén)開(kāi)到位判斷;RBl引腳設(shè)置閥門(mén)關(guān)到位判斷。
2.2.5 電源電壓檢測(cè)元件的選擇與設(shè)計(jì)
電壓檢測(cè)芯片選擇的是小功率的MCPlll芯片。當(dāng)電源電壓高于檢測(cè)電壓時(shí),MCPlll輸出保持高電平;若低于檢測(cè)電壓時(shí)輸出將變?yōu)榈碗娖剑嵝央娫措娏康牟蛔?。設(shè)置單片機(jī)引腳RA5為電源電壓檢測(cè)輸入引腳,低電平有效。該產(chǎn)品設(shè)定MCPlll的檢測(cè)電壓為3V;在檢測(cè)到電池電壓低提出報(bào)警后,仍能保證控制電路板正常工作三個(gè)月以上,為更換電池提供時(shí)間余量。
無(wú)線智能遠(yuǎn)傳水表連接示意圖如圖2所示。本文引用地址:http://2s4d.com/article/156911.htm
3 軟件設(shè)計(jì)
智能無(wú)線遠(yuǎn)傳水表的軟件采取模塊化設(shè)計(jì),程序主要有以下主子程序組成:主程序模塊、定時(shí)中斷處理程序模塊、水量采樣處理程序模塊、接收無(wú)線數(shù)據(jù)處理程序模塊、數(shù)據(jù)發(fā)射程序模塊。
3.1 主程序設(shè)計(jì)
智能無(wú)線遠(yuǎn)傳水表上電后,系統(tǒng)軟件逐個(gè)檢測(cè)各個(gè)功能模塊的工作狀態(tài)。主要包括傳感器模塊檢測(cè)、定時(shí)器模塊檢測(cè)、閥門(mén)執(zhí)行機(jī)構(gòu)檢測(cè)、特別是對(duì)CCll00的工作參數(shù)設(shè)置以及設(shè)置完成的結(jié)果檢測(cè),這些模塊檢測(cè)正常后系統(tǒng)檢測(cè)燈熄滅,系統(tǒng)進(jìn)入低功耗工作狀態(tài)。進(jìn)入低功耗工作的系統(tǒng)只有靠中斷才能開(kāi)啟。開(kāi)啟系統(tǒng)由低功耗進(jìn)入工作狀態(tài)的方式有兩種:一種是當(dāng)有傳感器信號(hào)進(jìn)入時(shí),傳感器信號(hào)開(kāi)啟中斷系統(tǒng);另一種是定時(shí)器時(shí)間到后開(kāi)啟中斷系統(tǒng)。開(kāi)啟后的系統(tǒng)執(zhí)行完中斷的操作后回到低功耗模式。
3.2 定時(shí)中斷處理程序設(shè)計(jì)
定時(shí)啟動(dòng)時(shí)間是10s一次,啟動(dòng)以后主要功能是:開(kāi)啟接收機(jī)接收查看是否有無(wú)線電信號(hào)進(jìn)來(lái)。如果沒(méi)有,進(jìn)入低功耗狀態(tài),如果有,則判斷是不是協(xié)議規(guī)定的命令。如果是規(guī)定的命令執(zhí)行相應(yīng)的操作,否則關(guān)閉接收機(jī),進(jìn)入低功耗。定時(shí)24小時(shí)自動(dòng)發(fā)射數(shù)據(jù)一次,定時(shí)一個(gè)月“洗閥”一次。
3.3 水量采樣處理程序設(shè)計(jì)
當(dāng)水表的傳感器有信號(hào)來(lái)的時(shí)候,經(jīng)軟件濾波后判斷是否為有效信號(hào)。若是無(wú)效信號(hào)則直接退出中斷,若為有效信號(hào)時(shí)就進(jìn)行計(jì)數(shù)和水量運(yùn)算,運(yùn)算后將數(shù)據(jù)存儲(chǔ)在單片機(jī)內(nèi)部的存儲(chǔ)器內(nèi)。分析是否達(dá)到發(fā)射水量,達(dá)到發(fā)射水量則發(fā)射數(shù)據(jù),否則退出中斷。
3.4 接收無(wú)線數(shù)據(jù)處理程序設(shè)計(jì)
設(shè)置CCll00為接收狀態(tài),若有接收信號(hào),則等待接收數(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é)論
通過(guò)對(duì)無(wú)線遠(yuǎn)傳智能水表進(jìn)行的供電參數(shù)、無(wú)線電性能、信號(hào)輸出測(cè)試、控制功能測(cè)試、水表性能測(cè)試,其主要參數(shù)全部達(dá)標(biāo),實(shí)現(xiàn)了設(shè)計(jì)時(shí)要求的技術(shù)指標(biāo)和性能。本產(chǎn)品在天津自來(lái)水公司進(jìn)行了試用,數(shù)據(jù)采集的準(zhǔn)確率大于92%以上,具有良好的經(jīng)濟(jì)和社會(huì)效益。
評(píng)論