摘要:針對目前我國電能數據的采集方法不便的這一現狀,提出并實現了一種電能裝置無線性表系統。介紹電能表無線自動抄表系統的原理、構成、特點,并敘述AT90S2313單片機在電能表自動抄表系統中的應用。
引言
電能表自動抄表簡稱ARM(Automatic Reading Meter),是供電部門將安裝在用戶處的電能表所記錄的用電量等數據通過遙測、傳輸和計算機系統匯總到營業部門,代替人工抄表及一連串后續工作。
隨著經濟體制改革的深入,電能計量、電費核算及收繳的及時性和準確性已成為用電企業的重要課題;而目前我國電能數據的采集基本上為手工抄表,需要抄表人員走家串戶,每月或每兩月抄一次,再通過微機或手工制作的電費單催繳用戶電纜,存在著錯抄、漏抄、估抄等問題。自動抄表系統的研制與應用是解決上述問題的有效途徑之一,而無線抄表系統則是自動抄表系統中 種較優的方式。該系統的實現是邁向配電自動化的第一步,并有助于提高電力系統用電管理的水平。
一、系統硬件構成
這套電能計量裝置無線抄表系統包括2塊SA68D11無線數傳模塊和1片ATMEL公司生產的AVR系列AT90S2313單片機。模塊有來實現無線數據傳遞;單片機用來進行數據采集作一些相應的處理。系統硬件框圖如圖1所示。
圖1中,8路脈沖輸入信號來自8個單相脈沖電能表。工作時,單片機只需定時測量輸入的脈沖,再根據脈沖數與用電量之間的比例關系即可得到用戶的用電量。
圖1中虛線框內的單片機數據采集部分是整個系統的核心部分,通過軟件的編輯可實現數據采集、數據保存、數據發送和控制命令的接收以及其他數據掉電保護等重要功能。本系統采用的AT90S2313單片機構成圖1中虛線框內所有功能模塊。它內含2KB的FLASH存儲器;128字節片內EEPROM、128字節片內RAM和片內模擬比較器;8位和16位可預分頻定時器各一個;中斷源11個(中斷優先級已定);全雙工的UART以及可編程的WatchDog定時器等。在本系統中,單片機的資源分配為:T1作為時器,實現單片機對脈沖量的定時采集。模擬比較器檢測系統交換電源工作是否正常。一旦發生掉電情況,模擬比較器中斷標志位就被置1,在主程序中不斷檢測這一位;一旦檢測到該位為1,則立即將數據寫入EEPROM中保存。從掉電到保存時間很短,在這段時間內靠濾波大電容儲能供電。在儲能放完之前,將保存數據工作完成即可。EEPROM存儲器用來保存單片機所測的脈沖數和單片機的地址等一些重要裝飾。Watch Dog定時器防止單片機“死機”或“跑飛”。串行口UART實現單片機發射/接收模塊之間的數據交換。
在本系統中,數據的無線傳遞是通過無線數傳模塊實現的。為了使模塊與單片機、計算機之間的數據傳送正確,必須嚴格按照計算機(單片機)與模塊間的傳輸格式進行數據傳送。模塊的輸出電平為TTL電平,它可與AT90S2313單片機直接連接。與計算機連接時間需接一個RS-232C電閏轉換芯片。模塊與單片機、計算機之間的通信速率為9600b/s,采用1個起始位、8個數據位、1個停止位的格式,與AT90S2313單片機的通信接口方式完全相同。計算機和模塊之間的數據傳輸格式為:
標志字節D7H | 控制字節M | 數據或參數字節 |
第一個字節為標志字節,其值為十六進制數D7,作用是標志數據傳送的開始。第二字節為控制字節,當第二字節小于等于48(30H)時,其值代表傳送數據長度。后面字節為數據,當第二字節大于48(30H)時為控制字,后面不再跟數據和參數。模塊傳給計算機時帶CRC校驗字節防誤措施。
二、系統軟件設計
本系統的軟件主要包括二大部分:一是數據采集部分,是以AT90S2313單片機與核心的匯編語言的設計;二是PC機通信軟件的設計部分。這里要介紹AT90S2313單片機的匯編語言設計問好。其軟件設計思想是采用模塊化編程,即系統的總體功能由各子程序完成。主要的子程序有定時器中斷、數據算是和接收發送中斷服務程序等。
1.單片機初始化部分
主程序部分首先對單片機進行初始化,其包括堆棧指針設置;端口的工作方式設置;定時器的預分頻系數和初值設置;串行通信的控制寄存器和波特率寄存器的設置;看門狗定時器的周期及初值設置;單片機的地址設置;開全局中斷等,其流程圖如圖2所法。初始化子程序如下:
start:
ldi tmp,$d9 ;設置堆棧指針
out spl,tmp
clr tmp ;設置B口、D口為輸入且不帶上拉
out ddrb,tmp
out ddrd,tmp
out portb,tmp
ldi tmp,2 ;設置定時器分頻系數及定時器賦初值
out timsk,tmp ;定時周期為6.4ms,開定時器中斷
ldi tmp,timer T
out tccr0,tmp
ldi tmp,$d8 ;允許接收中斷和發送中斷
out ucr,tmp
ldi tmp,baud ;設置波特率為9600baud
out ubrr,tmp
ldi tmp,watchT ;設置看門狗定時器的周期及初值
out wdtcr,tmp
ldi tmp,$0a ;設置模塊比較器工作方式
out acsr,tmp
ldi r26,address ;給單片機賦初始地址
ldi tmp,$2d
st x+,tmp
ldi tmp,$d0
st x+,tmp
ldi tmp,$77
st x+,tmp
ldi tmp,$07
st x+,tmp
ldi tmp,$02
st x,tmp
ldi r26,figa0 ;清所有標志位
clr tmp
st x+,tmp
st x,tmp
sei ;開全局中斷
2.定時器中斷服務程序
定時器中斷服務程序主要是測量各電表的脈沖數。由于電表輸出脈沖寬度為80ms,其誤差為±20%,即最窄脈沖寬度約為64ms,最寬脈沖寬度約為96ms。因而本系統設計的定時時間為6.4ms,為了抗以免發生脈沖誤計,采用了數字濾波的方法,要求脈沖輸入的引腳電平連續保持10次為高電平時才計1次脈沖,避免了窄脈沖的干擾引起的誤計。
3.串行通信接收和發送中斷服務程序
串行通信的接收中斷和發送中斷服務程序主要完成單片機和上位機之間的數據交換。其中接收中斷服務程序主要是接收從上位機傳來的各種命令,發送中斷服務程序是單片機對上位機的各種命令的響應,如上位機叫單片機發送地址等。接收和發送中斷服務程序流程圖如圖3和圖4所示。
4.數據處理子程序
數據處理子程序是軟件設計中的重要部分。它通過對串行通信接收到的數據進行分析、比較、判斷并轉入相應的子程序。由于要實現上位機對單片機的控制,自行規定了一些控制命令。為了不與模塊和計算機(單片機)之間的控制命令傳輸格式相沖突,自行規定的一些控制命令都采用數據傳送的方式傳送,有別于命令傳送方式,因此開始字符小于30H。
5.片內EEPROM操作子程序
片內EEPROM操作子程序包括對EEPROM的讀操作和寫操作。其中讀操作是在主程序初始化后進行的,寫操作是在掉電時由模擬比較器產生的標志被主程序查詢到而進入的。這一部分內容雖然不多,但對于數據的保存和恢復非常重要,因為系統一旦開始工作后,它所記錄的數據是絕對不能丟失的。
EEWrite_seq: ;對EEPROM的寫操作
.def EEwtmp =r24
.def EEdwr_s=r18
.def counter=r22
sbic EECR,EEWE
rimp EEWrite_seq
out EEAR,Eewtmp
out EEDR,Eedwr_s
sbi EECR,EEMWE
sbi EECR,EEWE
in Eewtmp,EEAR
inc Eewtmp
ret
EERead_seq; ;對EEPROM的讀操作
.def EErtmp=r24
.def EEdrd_s=r0
sbic EECR,EEWE
rjmp EERead_seq
out EEAR,Eertmp
sbi EECR,EERE
in EEdrd_s,EEDR
in EErtmp,EEAR
inc EErtmp
ret
值得注意的是,AT90S2313單片機的片內EEPROM被分隔為一些連續的單元。對EEPROM的讀寫都必須從每個單元的初始地址開始,否則不能正確完成對EEPROM的讀寫。因此,在主程序中要進行EEPROM的讀寫操作時,都是從EEPROM的00地址單元開始。
三、系統可靠性設計
無線抄表系統必須在電力系統中準確、可靠地長期運行。可靠性是系統成功的關鍵,因此本系統設計時著重考慮了以下方面的可靠性設計:
(1)數據傳輸采用CRC校驗,可驗出傳輸中的絕大部分錯誤;
(2)數傳模塊采用金屬封裝,抗干擾能力強;
(3)AT90S2313單片機片內帶EEPROM,掉電時可以保護數據;
(4)AT90S2313單片機片內帶看門狗電路,防止系統鎖死。
(5)單片機所有功能模塊均在芯片內,其總線不出芯片,不需外擴任何器件,提高了系統可靠性。
結論
本系統最大特點是充分應用了單片機的硬件資源,成本低、體積小、攜帶方便,能方便、快捷、準確、可靠地進行自動抄表。目前,本系統的設計和樣機調試已經完成,可以預計它的運算將為合理用電提供高效、科學的管理手段,為電力部分的電能表管理網絡化、抄表自動化提供一種可選擇的有效方法。
評論
查看更多