《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > 智能化流量計(jì)量系統(tǒng)的研究與開(kāi)發(fā)

智能化流量計(jì)量系統(tǒng)的研究與開(kāi)發(fā)

2009-04-21
作者:張志榮 曾周末 錢(qián) 瑩

  摘? 要: 介紹了一種基于AT89C2051單片機(jī)和AT45D041IC智能卡開(kāi)發(fā)的智能化流量計(jì)量系統(tǒng),。該系統(tǒng)具有精確測(cè)量,、流量控制、科學(xué)計(jì)費(fèi),、數(shù)字顯示,、IC卡智能管理,、數(shù)據(jù)采集、A/D轉(zhuǎn)換和標(biāo)度變換等功能,。著重介紹了系統(tǒng)的原理以及硬件與軟件設(shè)計(jì),。

  關(guān)鍵詞: 單片機(jī)? IC智能卡? 流量計(jì)量? 隔離驅(qū)動(dòng)? 程序監(jiān)控

?

  近年來(lái),IC智能卡和單片機(jī)被廣泛地應(yīng)用到工業(yè)控制和家庭智能小區(qū)系統(tǒng)中,。智能化,、可編程控制的儀器儀表是傳統(tǒng)的儀器儀表發(fā)展的必然方向。本文介紹的是一種智能化流量計(jì)量系統(tǒng),,該系統(tǒng)主要采用了單片機(jī)程控、IC智能卡,、數(shù)碼顯示,、單簧管計(jì)數(shù)脈沖信號(hào)、數(shù)據(jù)采集與A/D轉(zhuǎn)換,、標(biāo)度變換,、溫度傳感、儀表放大,、用繼電器驅(qū)動(dòng)電磁閥門(mén)通/斷,、優(yōu)化算法以及看門(mén)狗監(jiān)控等技術(shù)。該系統(tǒng)與同類(lèi)系統(tǒng)相比具有功能多,、成本低,、體積小、功耗低,、調(diào)試方便,、控制精確、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。更為突出的是系統(tǒng)若進(jìn)一步擴(kuò)展,,可實(shí)現(xiàn)遠(yuǎn)程收費(fèi)和維護(hù)等功能,。

1 系統(tǒng)的硬件構(gòu)成與特點(diǎn)

  系統(tǒng)的硬件主要由AT89C2051單片機(jī)、數(shù)據(jù)采集與數(shù)模轉(zhuǎn)換電路,、儀表放大器,、IC卡讀寫(xiě)器、數(shù)碼顯示器,、驅(qū)動(dòng)電路和看門(mén)狗電路等組成,,其硬件框圖如圖1所示。

?

  儀表放大器將溫度傳感器感應(yīng)的信號(hào)差動(dòng)放大到A/D轉(zhuǎn)換所需要的幅值范圍,,經(jīng)A/D轉(zhuǎn)換,、標(biāo)度變換后的數(shù)據(jù)與通過(guò)計(jì)數(shù)器測(cè)出的流量信號(hào)一起送到單片機(jī),通過(guò)優(yōu)化算法計(jì)算出費(fèi)用,。單片機(jī)通過(guò)控制顯示驅(qū)動(dòng)器(MAX7221)動(dòng)態(tài)顯示溫差,、流量或余額,再利用IC讀寫(xiě)電路向IC智能卡AT45D041讀,、寫(xiě)數(shù)據(jù),。當(dāng)卡里金額不足時(shí),系統(tǒng)會(huì)提醒用戶(hù)往IC卡里加費(fèi),,否則系統(tǒng)的驅(qū)動(dòng)電路就自動(dòng)切斷流體的通路(卡里余額可續(xù)存),,從而達(dá)到智能化流量控制和科學(xué)計(jì)費(fèi)的功能。系統(tǒng)還采用看門(mén)狗電路和隔離電路,,提高運(yùn)行穩(wěn)定性和抗干擾能力,。

1.1 單片機(jī)

  單片機(jī)采用ATMEL公司的89C2051,內(nèi)置128字節(jié)RAM,、2K字節(jié)閃速存儲(chǔ)器,、2個(gè)16位計(jì)數(shù)器/定時(shí)器、15個(gè)I/O口和5個(gè)中斷源,、一個(gè)全雙工串行口,、一個(gè)精確的模擬比較器、片內(nèi)振蕩器和時(shí)鐘電路,。外部有20條引腳,,比其他類(lèi)型單片機(jī)壓縮了許多接口線。本系統(tǒng)充分利用了AT89C2051不多的接口線,。

1.2 IC卡讀寫(xiě)器

  IC卡讀寫(xiě)器主要由串行可編程閃速存儲(chǔ)器AT45D041以及少量外圍元器件構(gòu)成,。AT45D041有兩大類(lèi)讀/寫(xiě)操作模式:A類(lèi)和B類(lèi),其中A類(lèi)能對(duì)閃速存儲(chǔ)器操作,,而B(niǎo)類(lèi)則不行,。兩種模式的工作流程類(lèi)似,,即由單片機(jī)向IC卡發(fā)操作指令,接著SCK端發(fā)送同步時(shí)鐘脈沖,,就會(huì)把SO或SI端的數(shù)據(jù)串行地讀出或?qū)懭隝C卡里指定單元,。本系統(tǒng)讀卡采用A類(lèi)模式1,即主存儲(chǔ)頁(yè)讀方式,,讀卡命令為52H,,ⅹⅹH,ⅹⅹH,,ⅹⅹH,;寫(xiě)卡采用A類(lèi)模式2, 即通過(guò)緩沖器2向主存頁(yè)寫(xiě)方式,, 寫(xiě)命令為85H,,ⅹⅹH,ⅹⅹH,,ⅹⅹH,。圖2為IC卡讀寫(xiě)裝置的電路原理圖,AT89C2051的P1.7,、P1.6,、P1.5分別與AT45D041的SI、SO,、SCK相連,,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的三線串行通信。其中C9與C10是IC卡座的接通開(kāi)關(guān),,當(dāng)IC卡插上時(shí),,開(kāi)關(guān)閉合,C1端連上+5V,,AT45D041被供電,,讀寫(xiě)器正常工作;當(dāng)IC卡拔出后,,C1端通過(guò)74HC09向AT89C2051的INT0端發(fā)出中斷請(qǐng)求,P1.2判斷是計(jì)數(shù)器滿(mǎn)中斷還是掉卡中斷,,從而轉(zhuǎn)到相應(yīng)的中斷處理程序,。

?

1.3 顯示驅(qū)動(dòng)電路

  顯示驅(qū)動(dòng)電路主要由MAX7221芯片外加亮度調(diào)節(jié)電位器W1構(gòu)成,其原理框圖如圖3所示,。MAX7221是一8位七段共陰極顯示驅(qū)動(dòng)芯片,,它采用了3線串行輸入/輸出接口方式與單片機(jī)直接連接,無(wú)須外接任何外圍元器件,,電路設(shè)計(jì)與調(diào)試非常方便,。在本系統(tǒng)中,單片機(jī)每隔一段時(shí)間就發(fā)送要顯示的數(shù)據(jù),通過(guò)編程預(yù)設(shè)好其動(dòng)態(tài)顯示方式后,,MAX7221就在不需要單片機(jī)干預(yù)的情況下,,自行將鎖存器中的數(shù)據(jù)調(diào)出來(lái),經(jīng)譯碼,、放大后驅(qū)動(dòng)數(shù)碼管動(dòng)態(tài)循環(huán)顯示,,直到單片機(jī)下次再串行地送另一組數(shù)據(jù)時(shí),MAX7221才修改鎖存器的內(nèi)容,,從而改變數(shù)碼管的顯示結(jié)果,。

1.4 隔離驅(qū)動(dòng)電路

  在本系統(tǒng)中,單片機(jī)通過(guò)控制電磁閥門(mén)的工作狀態(tài)來(lái)達(dá)到控制流體回路通/斷的目的,。電磁閥門(mén)屬于強(qiáng)電部分,,因此不能與弱電部分即單片機(jī)控制系統(tǒng)直接相連。此外,,強(qiáng)電控制回路會(huì)對(duì)單片機(jī)控制系統(tǒng)產(chǎn)生嚴(yán)重干擾,,影響單片機(jī)系統(tǒng)的正常工作。這里采用的辦法是在單片機(jī)和強(qiáng)電控制回路之間加隔離驅(qū)動(dòng)電路,,如圖4所示,。該電路還采取了幾個(gè)措施消除繼電器和電磁閥動(dòng)作對(duì)單片機(jī)的電磁干擾:(a)強(qiáng)、弱電控制回路單獨(dú)供電,,而且它們的地線必須隔開(kāi),,以消除脈動(dòng)干擾;(b)給繼電器和電磁閥等易產(chǎn)生磁輻射的元件加裝屏蔽罩,;(c)給單片機(jī)電源回路加濾波電容,;(d)在單片機(jī)的I/O口與噪聲源之間應(yīng)加隔離以及濾波或陷波電路,進(jìn)一步消除沖激干擾,,如圖5所示,;(e)對(duì)單片機(jī)使用看門(mén)狗電路。

?

2 系統(tǒng)的軟件設(shè)計(jì)

  本系統(tǒng)的程序采用模塊化結(jié)構(gòu),,由主程序,、中斷服務(wù)程序、數(shù)據(jù)采集處理子程序,、顯示子程序和讀/寫(xiě)卡子程序組成,。主要程序的流程圖見(jiàn)圖6。

?

  主程序處于循環(huán)狀態(tài),,主要完成各部分電路和中斷系統(tǒng)的初始化,,并不斷地查詢(xún)IC卡的情況和循環(huán)調(diào)用顯示子程序。每當(dāng)?shù)艨ɑ蛴?jì)數(shù)時(shí)間到時(shí),,就發(fā)出中斷申請(qǐng),,CPU響應(yīng)中斷后立即調(diào)用數(shù)據(jù)處理子程序,,并且調(diào)用讀卡寫(xiě)卡子程序修改IC卡里的數(shù)據(jù),最后修改顯示緩沖區(qū)的內(nèi)容(供下一次顯示用)就返回,。返回后繼續(xù)執(zhí)行顯示子程序,,動(dòng)態(tài)地顯示修改后的數(shù)據(jù),等待下一次中斷的到來(lái),。

  為了提高系統(tǒng)的抗干擾能力,,除了在硬件上采取措施外,在軟件設(shè)計(jì)上也采用了相應(yīng)的對(duì)策,。其辦法主要是發(fā)現(xiàn)失常狀態(tài)后能及時(shí)引導(dǎo)系統(tǒng)恢復(fù)到原始狀態(tài),。另外還有:(a)配合看門(mén)狗電路,在程序的不同地方添加一條SETB P3.7指令,,隔一段時(shí)間對(duì)定時(shí)器進(jìn)行刷新,,保證兩次置位指令間的程序執(zhí)行時(shí)間小于1.6s。而當(dāng)程序失常時(shí),, 定時(shí)器因得不到刷新而產(chǎn)生的“溢出”信號(hào)使AT89C2051復(fù)位,,從而就把程序拉回到正常的軌道上來(lái);(b)對(duì)一點(diǎn)數(shù)據(jù)連續(xù)采樣多次,,本程序中采用數(shù)字濾波方法中的算術(shù)平均法來(lái)減少系統(tǒng)的隨機(jī)干擾對(duì)采集結(jié)果的影響,;(c)在非程序區(qū)設(shè)置攔截措施,使程序進(jìn)入陷阱,,然后強(qiáng)行使程序進(jìn)入初始狀態(tài),,在非程序區(qū)反復(fù)用“LJMP #0000H”指令來(lái)填滿(mǎn)。

  本文所介紹的智能化流量計(jì)量系統(tǒng)是筆者應(yīng)天津西清物業(yè)公司的委托而開(kāi)發(fā)研制的,,目前已用于該物業(yè)公司投資建設(shè)的兩個(gè)智能小區(qū)的暖氣計(jì)費(fèi)系統(tǒng)中,,解決了長(zhǎng)期以來(lái)一直困擾該公司的暖氣收費(fèi)計(jì)量問(wèn)題。實(shí)際使用表明,,這種智能化流量計(jì)量系統(tǒng)運(yùn)行效果良好,,實(shí)用方便。

?

參考文獻(xiàn)

1 孫涵芳,, 徐愛(ài)卿.MCS-51/96系列單片機(jī)原理及應(yīng)用.北京:北京航空航天大學(xué)出版社,,1988.2

2 胡漢才.單片機(jī)原理及其接口技術(shù).北京:清華大學(xué)出版社,1996.7

3 于宏軍,,趙冬艷.智能(IC)卡技術(shù)全書(shū).北京:電子工業(yè)出版社,,1996.10

4 MAXIM公司.MAXIM 產(chǎn)品資料全冊(cè).2000.3

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。