基于MSP430F413的新型智能水表的設(shè)計(jì)
?、?脈沖采集電路
本文引用地址:http://butianyuan.cn/article/84712.htm本系統(tǒng)中水表的基表采用符合ISO 4064B標(biāo)準(zhǔn)的旋翼式冷水水表。該表計(jì)數(shù)機(jī)構(gòu)與測(cè)量機(jī)構(gòu)經(jīng)磁耦合傳動(dòng),采用干簧管傳感器計(jì)量發(fā)訊,每流經(jīng)0.01m3水時(shí)產(chǎn)生一個(gè)脈沖。為了有效防止各種可能的干擾抖動(dòng)而產(chǎn)生的多計(jì)數(shù)現(xiàn)象,本設(shè)計(jì)中采用雙干簧管雙脈沖通過(guò)由電容和電阻組成的防抖電路輸入單片機(jī)計(jì)數(shù),當(dāng)兩個(gè)脈沖輸入段依次有脈沖輸入的時(shí)候才產(chǎn)生一個(gè)有效脈沖計(jì)數(shù),兩個(gè)脈沖有互鎖功能,P1.3和P1.4作為脈沖輸入端。每輸入一個(gè)脈沖,在存儲(chǔ)器中減去相應(yīng)水量。表內(nèi)設(shè)有磁保護(hù)裝置,具有較強(qiáng)的抗外磁干擾能力。
③ 閥門控制電路
閥門控制是水表控制系統(tǒng)中一個(gè)很敏感的部分,關(guān)啟閥門的可靠性差,將會(huì)給供水部門帶來(lái)很大的問(wèn)題。本系統(tǒng)采用的是電動(dòng)球閥,工作電壓3V,工作時(shí)電流僅50mA。設(shè)計(jì)中利用直流電機(jī)帶動(dòng)半球閥正轉(zhuǎn)或反轉(zhuǎn)的方式來(lái)控制閥門的開啟和關(guān)閉。利用MSP430F413單片機(jī)的P6.6和P6.7來(lái)控制閥門的正反轉(zhuǎn)動(dòng),利用MSP430F413內(nèi)部比較器(P1.6CA0,P1.7CA1)檢測(cè)堵轉(zhuǎn)電流來(lái)控制電機(jī)運(yùn)行。當(dāng)電機(jī)正常工作時(shí),CA0>CA1,一旦堵轉(zhuǎn),電流迅速增大,CAOUT=0,來(lái)通知MSP430F413電機(jī)轉(zhuǎn)到位。定時(shí)器定時(shí)1s檢測(cè)電機(jī)是否到位,有效地解決閥門關(guān)閉不可靠問(wèn)題。當(dāng)正向端輸入高電平,反向端輸入低電平時(shí),閥門開啟;反之,閥門閉合。當(dāng)單片機(jī)P6.7口輸入低電平、P6.6口輸入高電平時(shí),正向端(ON)輸出高電平,反向端(OFF)輸出低電平,開啟閥門,開啟到位時(shí),由單片機(jī)P1.5口輸入檢測(cè)信號(hào),動(dòng)作停止;反之,正向端輸出低電平,反向端輸出高電平,關(guān)閉閥門,同樣由單片機(jī)P1.5口輸入關(guān)閉到位檢測(cè)信號(hào)。
2 系統(tǒng)軟件的設(shè)計(jì)
圖4是主程序流程圖。單片機(jī)上電復(fù)位后主程序采用順序執(zhí)行的方法,逐個(gè)掃描各個(gè)自定義標(biāo)志位,檢查是否有動(dòng)作發(fā)生,若有發(fā)生則轉(zhuǎn)入相應(yīng)子程序處理,處理完后回到主程序,繼續(xù)掃描其后的標(biāo)志位,最后進(jìn)入低功耗狀態(tài),等待下一次中斷喚醒,喚醒后同樣循環(huán)一遍,又進(jìn)入低功耗狀態(tài)。由于各信號(hào)以中斷的方式進(jìn)入的,所以要特別注意中斷的優(yōu)先級(jí)及中斷的嵌套問(wèn)題。采用模塊化方法設(shè)計(jì)各個(gè)子程序。根據(jù)不同功能,定義了不同的功能模塊。明確入口出口,相互之間的調(diào)用關(guān)系,以供調(diào)用。主要軟件模塊有:IC卡讀寫模塊,液晶顯示模塊,計(jì)量模塊,F(xiàn)LASH讀寫模塊,低電壓保護(hù)模塊等。上電后首先對(duì)系統(tǒng)進(jìn)行初始化。初始化包括對(duì)內(nèi)部存儲(chǔ)器單元清零、特殊功能寄存器置初值、液晶顯示的設(shè)置等。接著進(jìn)入主循環(huán),判斷故障、電源電壓是否正常等,若一切正常則開閥供水。無(wú)論在什么情況下只要有低電壓信號(hào)出現(xiàn),系統(tǒng)就提示欠壓,蜂鳴器報(bào)警,液晶顯示,提示用戶更換電池:當(dāng)剩余水量低于設(shè)定值時(shí),系統(tǒng)液晶顯示提醒用戶“請(qǐng)購(gòu)水”,如果用戶沒(méi)有及時(shí)購(gòu)水重新插卡充值,當(dāng)剩余水量為負(fù)時(shí),系統(tǒng)控制閥門關(guān)閉,停止供水。
圖4 系統(tǒng)軟件設(shè)計(jì)流程圖
3 系統(tǒng)低功耗的設(shè)計(jì)
在單片機(jī)控制系統(tǒng)中,系統(tǒng)的功耗往往和電源電壓的大小成一定比例關(guān)系,電源電壓高,系統(tǒng)的功耗相應(yīng)的也會(huì)增大,因此在功耗要求很嚴(yán)格的智能水表控制系統(tǒng)中,在保證功能的前提下,盡量選擇低的電源電壓。本系統(tǒng)中選用三節(jié)堿性干電池4.5V供電。本文所設(shè)計(jì)的智能水表的能耗主要由三部分構(gòu)成:第一部分是控制器中單片機(jī)(CPU)液晶正常運(yùn)行時(shí)的持續(xù)性能耗,這是主要的功耗;第二部分是IC卡水表執(zhí)行機(jī)構(gòu)(電閥)動(dòng)作時(shí)的瞬時(shí)能耗;第三部分是IC卡水表一些輔助功能如聲音報(bào)警等的能耗。上述智能水表能耗的第一、二部分占了總能耗的95%以上。因此,在設(shè)計(jì)時(shí)主要考慮:選擇低功耗電動(dòng)閥;選擇低功耗器件(CMOS型);選擇低的工作電壓和低的工作頻率;軟件設(shè)計(jì)時(shí)選擇低功耗的系統(tǒng)運(yùn)行模式。
4 系統(tǒng)抗干擾的設(shè)計(jì)
本系統(tǒng)中抗干擾設(shè)計(jì)從兩方面來(lái)考慮,一是在硬件設(shè)計(jì)上采取適當(dāng)?shù)拇胧﹣?lái)抑制和消除干擾,例如采用電磁干擾濾波器,如圖5所示。另一方面是從系統(tǒng)軟件設(shè)計(jì)上采取一定措施來(lái)提高系統(tǒng)的抗干擾能力,即使系統(tǒng)受到干擾,也能自動(dòng)地快速恢復(fù)正常上作。如:盡量減少中斷源,采用中斷與查詢相結(jié)合的方法,保持盡.可能短的中斷開放時(shí)間,隨開隨關(guān);在程序關(guān)鍵的地方人為地插入空操作指令,保護(hù)CPU在受到干擾,程序“彈飛”時(shí)指令不被拆散等軟件措施。
圖5 電磁干擾濾波器在系統(tǒng)中的應(yīng)用
結(jié)束語(yǔ)
實(shí)踐證明:本文所設(shè)計(jì)的智能水表從管理上講對(duì)用戶實(shí)行“先買水后用水”的預(yù)付費(fèi)管理方式,在一定程度上改善傳統(tǒng)管理模式的種種弊端,符合我國(guó)的基本國(guó)情,有很強(qiáng)的適用價(jià)值。
評(píng)論