本文介紹了一種新型同步發(fā)電機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案,硬件設(shè)計(jì)上使用了32位ARM微型處理器,采用具有DSP內(nèi)核的能量專用計(jì)量芯片ADE7758代替普通AD轉(zhuǎn)換芯片。其特點(diǎn)是數(shù)據(jù)采集速度快、實(shí)時(shí)性好、價(jià)格低。
數(shù)據(jù)采集是同步電機(jī)測(cè)控系統(tǒng)中的核心單元之一,目前同步發(fā)電機(jī)的數(shù)據(jù)采集大多是以通用AD轉(zhuǎn)換芯片配合8位或16位單片機(jī)進(jìn)行交流采樣,這種的數(shù)據(jù)采集系統(tǒng)獲得的發(fā)電機(jī)運(yùn)行的電參量基本全靠軟件計(jì)算實(shí)現(xiàn),不僅計(jì)算量大、精度低、實(shí)時(shí)性也受到很大限制。本文針對(duì)以上缺點(diǎn)提出了以具有DSP內(nèi)核的專用電量計(jì)量芯片ADE7758和具有ARM7內(nèi)核的32位ARM微處理器組成的高精度、高可靠性、快速的數(shù)據(jù)采集系統(tǒng)。
1.系統(tǒng)的整體結(jié)構(gòu)及工作原理
基于ARM和ADE7758的同步發(fā)電機(jī)數(shù)據(jù)采集系統(tǒng)整體結(jié)構(gòu)圖如下圖l所示。進(jìn)行數(shù)據(jù)集時(shí)其工作流程為:被測(cè)信號(hào)即同步發(fā)電機(jī)機(jī)端電壓U、定子電流I為三相交流電,分別經(jīng)電壓互感器(PT)和電流互感器(CT)轉(zhuǎn)換為低電壓和小電流的二次信號(hào),再經(jīng)過信號(hào)調(diào)理電路作進(jìn)一步的處理成不超過500mV的電壓信號(hào)后送入計(jì)量芯片ADE7758進(jìn)行轉(zhuǎn)換。ADE7758轉(zhuǎn)換結(jié)束后向ARM處理器提出中斷申請(qǐng),ARM相應(yīng)ADE7758中斷請(qǐng)求,通過高速SPI接口讀取相應(yīng)緩沖區(qū)中數(shù)據(jù),然后根據(jù)互感器、變送器的變換比例計(jì)算出發(fā)電機(jī)運(yùn)行參量的實(shí)際值并將結(jié)果保存到相應(yīng)的數(shù)據(jù)區(qū)中,以備對(duì)發(fā)電機(jī)進(jìn)行實(shí)時(shí)控制。與此同時(shí)ARM處理器通過串口與上位機(jī)進(jìn)行通訊,將最新采集的發(fā)電機(jī)運(yùn)行參量發(fā)送到上位機(jī),利用上位機(jī)軟件將實(shí)時(shí)數(shù)據(jù)顯示出來。該系統(tǒng)還設(shè)計(jì)了一個(gè)USB接口,通過該接口可以和移動(dòng)存儲(chǔ)設(shè)備連接,這樣即使在無計(jì)算機(jī)的情況下也可以實(shí)現(xiàn)大數(shù)據(jù)量的數(shù)據(jù)采集任務(wù)。
本系統(tǒng)選擇的ARM芯片是AT91SAM7A3,AT91SAM7A3芯片與計(jì)量專用芯片ADE7758之間通訊采用標(biāo)準(zhǔn)的3線高速SPI總線;AT91SAM7A3與上位計(jì)算機(jī)之間通過普通雙絞線連
接以串行方式進(jìn)行通訊;AT91SAM7A3與移動(dòng)存儲(chǔ)設(shè)備之間采用USB接口進(jìn)行通訊。
2.系統(tǒng)的硬件設(shè)計(jì)
本系統(tǒng)選擇AT91SAM7A3單片機(jī)作為系統(tǒng)的主控制器,電能計(jì)量專用芯片ADE7758作為A/D轉(zhuǎn)換。下面分別對(duì)這兩種芯片以及以它們?yōu)楹诵牡挠布?a target="_blank">電路設(shè)計(jì)作具體介紹。
2.1 ADE7758簡(jiǎn)介
ADE7758是一款高集成度的三相電能專用計(jì)量芯片,集成了6路2階Sigma-Delta ADC采樣通道,帶有一個(gè)SPI兼容的串行通訊接口,兩路脈沖輸出。采用數(shù)字校準(zhǔn)技術(shù),可通過標(biāo)準(zhǔn)的SPI的三線串行通訊接口完成對(duì)芯片的設(shè)置、電量數(shù)據(jù)的傳輸和校準(zhǔn)。ADE7758內(nèi)部集成有溫度傳感器,單5V供電,低功耗,適用于三相三線和三相四線電力系統(tǒng)中[2]。
ADE7758的電流通道和電壓通道各有一個(gè)可編程增益放大器,放大增益為1,2或4,除了PGA功能外,還用于A/D轉(zhuǎn)換滿刻度量程的選擇。增益的大小由用戶編程來決定。ADE7758具有一個(gè)波形取樣寄存器,其值源自于ADC的輸出。波形采樣部分集成有一個(gè)用于短時(shí)持續(xù)低電平或高電平的檢測(cè)電路,門檻電平和持續(xù)時(shí)間是由用戶編程來決定的。三相中任一相過零檢測(cè)是同步進(jìn)行的,過零檢測(cè)的結(jié)果可用于測(cè)量三路電壓輸人中任一路的周期。ADE7758的所有功能都是通過讀寫ADE7758內(nèi)部的寄存器來實(shí)現(xiàn)的,即ADE7758的各種設(shè)定和操作主要是對(duì)寄存器的讀和寫。每個(gè)寄存器在讀寫時(shí),首先要執(zhí)行一個(gè)寫通信寄存器的操作,然后開始傳輸數(shù)據(jù)。
2.2 AT91SAM7A3簡(jiǎn)介
AT91SAM7A3微控制器是ATMEL公司近期推出的基于ARM7TDMI的嵌入式32位高檔微控制器。該款處理器用高密度的16位指令集實(shí)現(xiàn)了32位RISC結(jié)構(gòu),且功耗低,指令執(zhí)行周期短,運(yùn)行速度快,32位乘除指令小于1US。AT91SAM7A3微控制器使用了ATMEL公司的高密度CMOS技術(shù),通過在一個(gè)單片上集成了ARM7TDMI和256K的Flash程序存儲(chǔ)器、32K片內(nèi)SRAM以及各種外圍功能模塊,使其成為強(qiáng)有力的32位微控制器。AT91SAM7A3微控制器內(nèi)部工作寄存器很多,片內(nèi)外設(shè)豐富,片內(nèi)有62個(gè)多功能復(fù)用的I/0端口、3個(gè)定時(shí)/計(jì)數(shù)器模塊,每個(gè)模塊包含3個(gè)完全相同的16位定時(shí)/計(jì)數(shù)器通道,每一個(gè)通道都可以獨(dú)立編程,實(shí)現(xiàn)包括頻率測(cè)量,事件計(jì)數(shù),間隔測(cè)量,脈沖產(chǎn)生延時(shí)和脈沖寬度調(diào)制等各種功能、多個(gè)中斷源、8個(gè)中斷優(yōu)先級(jí)、3個(gè)增強(qiáng)型全雙工USART,每個(gè)USART都具有自己的波特率發(fā)生器和兩個(gè)專用的數(shù)據(jù)控制器PDC通道、2個(gè)CAN控制器支持CAN2.0B、2個(gè)高速SPI、1個(gè)I2C、1個(gè)USB2.0接口、片內(nèi)振蕩器及看門狗電路[1]。具有256k并行可編程的非易失性FLASH程序存儲(chǔ)器,可實(shí)現(xiàn)對(duì)器件串行在系統(tǒng)編程ISP(In-System Programming)和在應(yīng)用中編程IAP(In Application Programming)。由于片內(nèi)外設(shè)豐富,便于系統(tǒng)擴(kuò)展,片內(nèi)存儲(chǔ)容量大,不用再外擴(kuò)存儲(chǔ)器,大大提高了系統(tǒng)的集成度,為許多需要加強(qiáng)運(yùn)算的嵌入式應(yīng)用提供了高度的靈活性和高性價(jià)比解決方案。
2.3 系統(tǒng)硬件連接
基于ARM和ADE7758的同步發(fā)電機(jī)數(shù)據(jù)采集系統(tǒng)的硬件連接如圖2所示。該系統(tǒng)硬件設(shè)計(jì)包括: 模擬量采集模塊、信號(hào)調(diào)理模塊、交流電量計(jì)量與轉(zhuǎn)換模塊、實(shí)時(shí)數(shù)據(jù)的處理與控制模塊、顯示模塊五個(gè)部分。
同步發(fā)電機(jī)的現(xiàn)場(chǎng)模擬量的采集由CT,PT完成,即將發(fā)電機(jī)機(jī)端電壓、定子電流分別轉(zhuǎn)換成三相100V、5A的二次信號(hào);信號(hào)調(diào)理電路完成信號(hào)進(jìn)人電能計(jì)量芯片前的調(diào)整和濾波,濾除信號(hào)中的高頻部分,該電路模塊主要目的是將信號(hào)處理成ADE7758可以直接接收的信號(hào)即小于等于500mV的電壓信號(hào);交流電量計(jì)量與轉(zhuǎn)換模塊ADE7758有電壓和電流采集通道,它們能接收的交流信號(hào)幅值最大為500mV,通過6路A/D采樣通道完成數(shù)字化。ADE7758內(nèi)的微處理器對(duì)數(shù)字化的被測(cè)信號(hào)進(jìn)行各種判斷、處理和運(yùn)算,并將結(jié)果儲(chǔ)存在18個(gè)只讀寄存器中。ADE7758將數(shù)據(jù)轉(zhuǎn)換結(jié)束后向ARM提出中斷申請(qǐng) (IRQ為低電平有效);實(shí)時(shí)數(shù)據(jù)的處理與控制模塊由AT91SAM7A3芯片來完成,AT91SAM7A3通過SPI接口對(duì)ADE7758進(jìn)行讀寫操作,即ARM和ADE7758的數(shù)據(jù)接口采用中斷IRQ、片選CS和3線的SPI接口方式實(shí)現(xiàn)數(shù)據(jù)交換。整個(gè)過程可描述為:AT91SAM7A3微處理器響應(yīng)ADE7758的中斷后,立即通過低電平片選ADE7758的CS,然后通過SPI總線MOSI,SCLK , MISO和ADE7758的DIN, SCLK ,DOUT相連,完成數(shù)據(jù)操作;系統(tǒng)顯示模塊電路采用MAXIM公司的MAX232芯片完成TTL電平和RS-232標(biāo)準(zhǔn)電平的轉(zhuǎn)換,方便通過串口與計(jì)算機(jī)進(jìn)行通信。
為了保證系統(tǒng)的安全性和可靠性,在系統(tǒng)設(shè)計(jì)中沒有用ARM芯片內(nèi)的看門狗,而專門設(shè)計(jì)了外部看門狗電路。外部看門狗電路采用AD公司生產(chǎn)的ADM691芯片,利用AT91SAM7A3的PWM口產(chǎn)生的占空比可調(diào)的脈沖信號(hào)作為喂狗信號(hào),監(jiān)視電源電壓和微處理器的工作狀態(tài),該電路結(jié)構(gòu)簡(jiǎn)單、功能豐富,大大提高系統(tǒng)的安全性和可靠性。另一方面為了使系統(tǒng)具有一定的廣泛使用性,還設(shè)計(jì)了一個(gè)支持USB2.0的接口,目的是方便在沒有計(jì)算機(jī)的情況下進(jìn)行大量的數(shù)據(jù)采集。
3.系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)包括基于AT91SAM7A3的單片機(jī)程序和PC機(jī)應(yīng)用程序設(shè)計(jì)兩部分。
3.1 AT91SAM7A3單片機(jī)程序設(shè)計(jì)
以AT91SAM7A3單片機(jī)為核心的程序設(shè)計(jì)框圖如圖3所示。對(duì)于中斷的判斷和處理是該程序的核心部分。根據(jù)具體的功能需要,中斷包括外部中斷IRQ0、定時(shí)中斷和串行中斷3種。
3.1.1 外部中斷IRQ0
ADE7758的IRQ腳連接AT91SAM7A3單片機(jī)的IRQ0腳,當(dāng)IRQ腳被置低時(shí),即表示ADE7758有中斷產(chǎn)生,AT91SAM7A3單片機(jī)通過SPI口線查詢中斷類型,如是正常ADE7758轉(zhuǎn)換結(jié)束中斷,則調(diào)用相應(yīng)中斷服務(wù)子程序讀出ADE7758中的電壓、頻率值和電流等數(shù)值。
3.1.2 定時(shí)中斷
AT91SAM7A3單片機(jī)內(nèi)部有3個(gè)定時(shí)器/計(jì)數(shù)器模塊,每個(gè)模塊包含3個(gè)完全相同的16位定時(shí)/計(jì)數(shù)器通道,每一個(gè)通道都可以獨(dú)立編程,實(shí)現(xiàn)包括頻率測(cè)量,事件計(jì)數(shù),間隔測(cè)量,脈沖產(chǎn)生延時(shí)和脈沖寬度調(diào)制等各種功能。此處采用定時(shí)器2做一個(gè)1ms的定時(shí)器,在中斷產(chǎn)生時(shí),單片機(jī)通過SPI口讀取有功功率、無功功率和視在功率。
3.1.3 串行中斷
AT91SAM7A3內(nèi)部有一組32位的串行口控制寄存器,通過設(shè)置各個(gè)寄存器的相應(yīng)位可方便改變單片機(jī)的串口工作模式、波特率、齊偶、幀和過速等。本文采用8位UART,波特率為19200 bit/ s, ADE7758的標(biāo)定及三相電流、電壓、有功功率、無功功率、視在功率、有功電能量、無功電能量、視在電能量、功率因數(shù)等測(cè)量數(shù)據(jù),按照一定的通信規(guī)約,將上面這些數(shù)據(jù)打包成串口通信報(bào)文發(fā)送給上位計(jì)算機(jī)。
3.2 采集數(shù)據(jù)的顯示
上位機(jī)程序設(shè)計(jì)是以Visual Basic 6.0 為平臺(tái)[3],利用MSComm控件,以事件驅(qū)動(dòng)方式實(shí)現(xiàn)計(jì)算機(jī)與AT91SAM7A3之間串行通訊,完成數(shù)據(jù)的交換。上位機(jī)程序包括用戶界面設(shè)計(jì)、通訊和數(shù)據(jù)處理程序等。
3.2.1上位機(jī)用戶界面設(shè)計(jì)
在本系統(tǒng)中,設(shè)計(jì)了兩個(gè)窗體(Form1和Form2)。其中Form1為主界面,主要顯示實(shí)時(shí)數(shù)據(jù)和有關(guān)狀態(tài)量。在Form1中設(shè)計(jì)了一個(gè)MSComm控件、兩個(gè)定時(shí)器控件(Timer1,Timer2)、兩個(gè)按鈕控件(Command1,Command2)和一個(gè)進(jìn)度條(ProgressBar)。Command1是“上送數(shù)據(jù)”按鈕,即按下時(shí)開始和AT91SAM7A3通訊接收錄波數(shù)據(jù),成功接收完畢后即裝載Form2并顯示錄波曲線。Command2是“退出”按鈕,按下它則退出該應(yīng)用程序。Form2為波形顯示操作界面,在Form2中除了設(shè)計(jì)一個(gè)圖片框控件(Picture1),用來顯示圖形曲線外,還有4個(gè)命令按鈕他們分別是“讀取文件”按鈕、“打印曲線”按鈕、“坐標(biāo)修改”按鈕和“返回”按鈕,其中按下“返回”按鈕返回主界面。
3.2.1 通訊和數(shù)據(jù)處理程序
設(shè)置Timer1和Timer2 的Interval屬性都等于100,Timer1定時(shí)提取從串口接收來的數(shù)據(jù)并刷新主界面實(shí)時(shí)顯示數(shù)據(jù)。Timer2用于控制通訊是否超時(shí),即串口在一定時(shí)間內(nèi)沒有收到數(shù)據(jù)就提示錯(cuò)誤信息。Timer1在裝載主界面時(shí)Enable=True,此時(shí)Timer2的Enable=False,而Timer2在按下“上送數(shù)據(jù)”后Enable=True,此時(shí)Timer1的Enable=False。MSComm的InputMode屬性為0即文本方式。對(duì)于RThreshold屬性值,在正常接收實(shí)時(shí)數(shù)據(jù)時(shí)設(shè)為100而在接收錄波數(shù)據(jù)時(shí)設(shè)為137。
下面以上送發(fā)電機(jī)端三相電壓、電流、有功、無功、視在功率和機(jī)端頻率共10個(gè)數(shù)據(jù)為例來說明通訊過程。每一個(gè)實(shí)時(shí)數(shù)據(jù)占2字節(jié),則10個(gè)整型數(shù)據(jù)量共有20字節(jié)。換算成十六進(jìn)制以文本方式發(fā)送共計(jì)40個(gè)字節(jié)。ARM和PC機(jī)的具體通訊格式為:
PC機(jī)通過定時(shí)器TIMER1每1毫秒向下位機(jī)ARM下發(fā)傳送命令,該命令只包含2字節(jié)開始符
4.系統(tǒng)的運(yùn)行與實(shí)驗(yàn)結(jié)果
以深圳凱旋K66計(jì)算機(jī)繼電保護(hù)測(cè)試系統(tǒng)作為標(biāo)準(zhǔn)源,對(duì)本系統(tǒng)電壓、電流測(cè)量精度進(jìn)行試驗(yàn)驗(yàn)證。當(dāng)輸人端電壓范圍為0一100V時(shí),測(cè)定誤差小于士0.2%;輸入電流范圍為0-5A時(shí),測(cè)定誤差不超過士0.4%。根據(jù)交流采樣遠(yuǎn)動(dòng)終端技術(shù)條件的規(guī)定,此系統(tǒng)的準(zhǔn)確度等級(jí)為0.5級(jí),屬于精密級(jí)測(cè)量?jī)x表。
本文作者創(chuàng)新點(diǎn):采用了新技術(shù)、新器件的設(shè)計(jì)思想,用三相電能專用計(jì)量芯片ADE7758代替通用AD芯片,用32位ARM芯片代替普通的8位或16位單片機(jī),實(shí)現(xiàn)了對(duì)同步發(fā)電機(jī)電參數(shù)的快速測(cè)量和控制。本系統(tǒng)充分利用了芯片的內(nèi)置功能模塊,減少了外圍電路,降低了成本,提高了產(chǎn)品的可靠性。
-
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
5842瀏覽量
113439 -
發(fā)電機(jī)
+關(guān)注
關(guān)注
26文章
1612瀏覽量
67485
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論