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