新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 智能化流量計(jì)量系統(tǒng)的研究

智能化流量計(jì)量系統(tǒng)的研究

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:介紹了一種基于AT89C2051單片機(jī)和AT45D0411IC智能卡開(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ì)。

本文引用地址:http://butianyuan.cn/article/255695.htm

關(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)電磁閥門通/斷、優(yōu)化算法以及看門狗監(jiān)控等技術(shù)。該系統(tǒng)與同類系統(tǒng)相比具有功能多、成本低、體積小、功耗低、調(diào)試方便、控制精確、抗干擾能力強(qiáng)等特點(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)電路和看門狗電路等組成,其硬件框圖如圖1所示。

儀表放大器將溫度傳感器感應(yīng)的信號(hào)差動(dòng)放大到A/D轉(zhuǎn)換所需要的幅度值范圍,經(jīng)A/D轉(zhuǎn)換、標(biāo)度變換后的數(shù)據(jù)與通過(guò)計(jì)算器測(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ì)提醒用戶往IC卡里加費(fèi),否則系統(tǒng)的驅(qū)動(dòng)電路就自動(dòng)切斷流體的通路(卡里余額可續(xù)存),從而達(dá)到智能化流量控制和科學(xué)計(jì)費(fèi)的功能。系統(tǒng)還采用看門狗電路和隔離電路,提高運(yùn)行穩(wěn)定性和干擾能力。

1.1 單片機(jī)

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

1.2 IC卡讀寫(xiě)器

IC卡讀寫(xiě)器主要由串行可編程閃速存儲(chǔ)器AT89C2051以及少量外圍元器件構(gòu)成。AT45D041有兩大類讀/寫(xiě)操作模式:A類和B類,其中A類能對(duì)閃速存儲(chǔ)器操作,而類則不行。兩種模式的工作流程尖似,即由單片機(jī)向IC卡操作指令,接著SCK端發(fā)送同步時(shí)鐘脈沖,就會(huì)把SO或SI端的數(shù)據(jù)串行地讀出或?qū)懭隝C卡里指定單元。本系統(tǒng)讀卡采用A類模式1,即主存儲(chǔ)讀寫(xiě)方式,讀卡命令為52H,XXH,XXH,XXH;寫(xiě)卡采用A類模式2,即通過(guò)緩沖器2向主存頁(yè)寫(xiě)方式,寫(xiě)命令為85H,XXH,XXH,XXH。圖2為IC卡讀寫(xiě)裝置的電路源理圖,AT89C2051的PI.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的IXNT0卡拔出中斷請(qǐng)求,P2.1判斷是計(jì)數(shù)器滿中還是掉卡中,從而轉(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應(yīng)不需要單片機(jī)干預(yù)的情況下,自行將鎖存器中的數(shù)據(jù)調(diào)出來(lái),經(jīng)譯碼、放大后驅(qū)動(dòng)碼管動(dòng)態(tài)循環(huán)顯示,直到單片機(jī)下次再串行地送中一組數(shù)據(jù)時(shí),MAX7221才修改鎖器的內(nèi)容,從而改變數(shù)碼管的顯示的結(jié)果。

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

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

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

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

主程序處于循環(huán)狀態(tài),主要完成各部分電路和中系統(tǒng)的初始化,并不斷地查詢IC卡的情況和循環(huán)調(diào)用顯示子程序。每當(dāng)?shù)艨ɑ蛴?jì)數(shù)時(shí)間到時(shí),就發(fā)出中申請(qǐng),CPU響應(yīng)中后立即修改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ù)到原始狀太。另外還有:(a)配合看門狗電路,在程序的不同地方添加一條STEBP3.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)填滿。

本文介紹的智能化流量計(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í)用方便。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉