CORTEX-M3與STM32_M3內核STM32的三相多功能電能表解決方案

2020-12-20 電子發燒友

電能表作為電能計量的基本設備,受到國家電力部門的長期重視,電能表生產企業更是不遺餘力地尋求設計與開發性能俱佳且成本更低的解決方案。目前國內的電能表設計已經走過了由8位MCU向通用DSP甚至專用DSP的變革,通用DSP的應用方案的劣勢在於DSP的專業應用和嵌入程度不夠深的問題,成本偏高;而專用 DSP功能相對固定,這樣給電能表設計和生產廠家帶來功能差異化空間不足的困難。基於ARM的方案也已經出現,但是適合應用的ARM7 TDMI在性能上不盡人意,同時外設資源不足;而更高端的ARM9系統的複雜程度很高,成本也較高。選擇一顆合適且低成本的微處理器日益成為電能表行業的關鍵所在,直到意法半導體公司(STMicroelectronic公司,下稱ST)STM32的出現為電能表設計的專門化和定製化帶來了嶄新的機遇和空間。

一、關於CORTEX-M3與STM32

2005年ARM公司發布其最新一代ARM v7內核,命名為Cortex,同ARM7/9/10/11相比在架構上有了革命性突破,性能上更是本質的飛越,Cortex系列包含三個系列,-A/-R/-M。Cortex-M3特別針對功耗和價格敏感的嵌入應用領域,同時具備高性能,它採用高效的哈佛結構三級流水線,達到1.25DMIPS/MHz,在功耗上更是達到0.06mW /MHz。Cortex-M3使用Thumb-2指令集,自動16/32位混合排列,具有很高的代碼密度。單周期的32位乘法以及硬體除法器,保證 Cortex-M3的運算能力有大幅提高,在一些對計算能力要求相對較低而嵌入式要求相對較高的場合,STM32就具有取代傳統DSP的潛力甚至優勢。 Cortex-M3包含嵌套向量中斷控制器NVIC,中斷響應速度最快僅6周期,內部集成總線矩陣,支持DMA操作及位映射。

STM32是ST公司在業界最先推出的基於ARMCortex-M3內核產品,繼承了Cortex-M3內核的優良血統,同時增加了ST高性能的外設資源,FLASH、SRAM存儲器,豐富的串行通信接口,如IIC、SPI、USART、CAN、USB等,以及12位的ADC和DAC模塊,支持外部存儲器訪問的靈活的靜態存儲器控制器FSMC。

二、基於STM32的電能表方案

根據電能表的功能和誤差精度的需求,我們選用了ST公司STM32的增強型系列STM32F103xx,最高工作頻率為72MHz。在程序設計上除了完成快速數據處理工作以外,還針對系統非線性失真進行了修正和補償。

電能表系統組成框圖如圖1所示:

(一)採集數據處理與計算

在實際應用中,電力信號通過互感器採集到電能表中,通過一個6通道16位模擬前端處理器(AD73360)進行A/D轉換,轉換成數位訊號並傳輸到STM32中。AD73360是6通道同步採樣的Σ-ΔADC器件,它內置了基本型電壓基準及通道內置獨立的PGA(可編程增益放大器),非常適合三相電流電壓信號的同步採樣,在小信號的時候,通過調整通道PGA可以獲得合適的動態範圍從而保證微弱信號的計量精度。電能表數據採集框圖示於圖2。
 

電壓電流輸入信號首先需要RC濾波網絡濾波和數據採樣,然後進行A/D轉換。AD73360有獨立的時鐘源,可配置為自動數據採集與發送模式,通過SPI總線不斷的將數據傳向STM32。STM32內的Cortex-M3內核對輸入的數位訊號進行處理,完成數字濾波,過零點檢測,得到基本的電流電壓數據,經過時間積分計算和轉換得到相應的電能計量。

(二)採樣電路和濾波網絡

由於被採樣信號為高電壓信號和大電流信號,我們需要對被採樣信號做高保真轉換為雙極性的電壓信號以便用AD電路離散化處理,而AD73360是單電源供電模擬前端,所以我們需要令輸入信號位於AD73360的動態範圍的正中。採用的方法是:定義ADC工作電壓為5伏(動態範圍0~5V),選擇參考電壓2.5伏,將AD差分輸入的負端直接接到參考電壓輸入,差分輸入的正端接被測信號。具體電路如圖3。

在實際電路中,相電流信號經CT變換為低電壓信號,相電壓則通過高精度電阻網絡分壓得到線性的低電壓信號,信號幅度範圍需保證在5V之內。

(三)AD73360與STM32的接口

因為AD73360產生的基礎數據總量龐大,為了儘量少的佔用CPU時間,需要使用STM32內部的硬體SPI和DMA單元實現數據傳輸,而STM32的內核根據DMA的傳輸結果來批量獲取基礎數據並啟動數據處理程序。硬體連接關係如圖4所示。

由STM32的GPIO控制AD73360的SE和RESET,並用一個外部中斷輸入腳來監聽幀同步信號,這樣才可以用程序來保證數據幀內容的字節對應關係。

在STM32的硬體設置程序中,需要關閉SPI的所有中斷,設置SPI為從模式,並選取一個DMA通道與之協同工作,自動將SPI從模式收到的數據保存在指定的內存地址。為了令AD73360正確採集數據,還必須根據使用要求配置AD73360的內部寄存器,令AD73360處於數據模式並主動向STM32發送採樣數據。

三、主要電能參量的計算

AD73360是固定周期採集,我們使用的是150Hz或160Hz,即每周期採集150/160點,為此AD73360採用的時鐘是 6.000MHz或16.384MHz,系統中對AD73360的配置為DMCLK分頻因子為2048。AD73360是差分採集,很方便進行過零點檢測和直流分量調節,以保證信號幅度對稱,從而減小系統誤差。

電壓測量(有效值)計算式:

式中:U-電壓有效值,n-每周期採樣點數, uk —電壓採樣值

電流測量(有效值)計算式:

式中:I-電流有效值,n-每周期採樣點數, ik-電流採樣值

在得到的電流電壓有效值基礎上計算出總功率S(即視在功率),通過對時間積分的電流電壓積得到有功功率P,無功功率Q是總功率S與有功功率P之差,功率因數是有功功率P與總功率S的比。

對於單器件和三相四線星形負載的有功功率和無功功率的計算匯總如下:

單元件有功功率計算式:

式中: P-單元件有功功率,n-每周期採樣點數, uk-元件上電壓採樣值, ik-元件上電流採樣值

單元件無功功率計算式:

式中:Q-單元件無功功率,n-每周期採樣點數, uk-元件上電壓採樣值, ik-元件上電流採樣值(90度移相後)

三相四線三元件有功功率計算式: PΣ=Pu+Pv+Pw

式中: PΣ-三相有功功率,Pk -(k=u,v,w)各相有功功率

三相四線三元件無功功率計算式: QΣ=Qu+Qv+Qw

式中: QΣ-三相無功功率,Qk -(k=u,v,w) 各相無功功率

四、非線性失真的補償與修正

電信號採集過程中可能存在的電磁元件(CT或PT)會造成採集信號和實際信號之間的相位失真以及線性失真。為了補償和修正這些失真帶來的誤差,還需要使用分段矯正和補償的方法。例如,根據CT(PT)的相移曲線選擇合適的兩個點將整個量程分為三段,在測量值分處不同的段時,分別調用不同的相移參數對測量值進行相位補償。

線性度補償參數和相位補償參數的獲取方法(校準過程)如下:

1、零偏校準:令所有通道輸入為零,分別記錄各通道零點位置。

2、電壓校準:令所有電壓通道輸入值為標準電壓值220V(RMS),記錄各相電壓校準參數。

3、電流校準:令所有電流通道輸入值為分界點電流,記錄各通道小電流測量段校準參數。再令所有電流通道輸入值為最大值,分別記錄各通道大電流測量段的校準參數。

4、相移校準:分別令電流電壓通道輸入相位相差60度感性,並且電流通道的電流值處於相位補償段的中間點,並根據有功電能誤差來求取該補償段的相位補償參數。

5、求取的全部補償參數存儲在非易失存儲器中,例如STM32的FLASH。

五、電能表配合電路

除了測量計量功能外,電能表還需要實現通訊,存儲以及時間管理功能,具體的程序和做法在此不再贅述,但為了實現完整的電能表功能,其周邊器件的選擇卻很關鍵。

實時時鐘電路:Intersil的ISL12022M是內置時鐘晶體的高可靠性全自動溫度補償RTC晶片。該RTC依靠工廠預校準,和全工業級溫度範圍的自動溫補來保障電子產品全生命周期的計時精度,免除了電錶的時鐘校準的工藝過程,降低了生產成本。該RTC還具有電池狀態監測、上電/掉電時間戳記錄功能和內置數字溫度傳感器功能,更可以用在除電錶外的綜合電力終端設備中。

電壓參考基準:Intersil的ISL21009系列是低噪聲,高穩定度的精密電壓基準,用於在AD73360內置基準的穩定度(50ppm)不夠的情況下,為測量系統補充提供更高穩定度(5ppm)的參考電壓。

電源管理電路:ON Semiconduction的NCP3063是低成本、高效率的DC/DC穩壓器,它對外圍電路要求簡單,輸入電壓範圍寬達40伏。而電能表往往工作在很寬的輸入電壓範圍條件下,因此,NCP3063非常適合用在電能表工頻變壓器後面做5伏或3.3伏的直流穩壓。

通信接口電路:Intersil的ISL3152E是全功能RS485接口晶片,該接口晶片擁有多項特別適合於電能表AMR系統的特性指標。其中包括,1/8標準負載驅動(256節點),正負16.5千伏ESD保護,熱插拔功能(節點電源變化不影響總線通信),20Mbps總線速率,支持星型拓撲網絡等等。

結語

基於CORTEX的STM32的三相電能表方案已經證明是當前的主流的最具優勢的方案,得到了業界的廣泛好評和認可。目前,本方案已成功應用在某大型電錶生產企業0.5S電子式三相多功能電能表中。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • stm32屬於arm嗎_arm和stm32的區別
    stm32屬於arm嗎?業內最強大的產品陣容,基於工業標準的處理器,大量的軟硬體開發工具,讓STM32單片機成為各類中小項目和完整平臺解決方案的理想選擇。按內核架構分為不同產品系列。   ARM本意是微處理器行業的一家知名企業,英國ARM公司是全球領先的半導體智慧財產權 (IP) 提供商。全世界超過95%的智慧型手機和平板電腦都採用ARM架構。
  • stm32開發板例程講解之一:使用IAR 5.3建立工程
    學習stm32,入門是非常關鍵的,而自己建的第一個也就顯得很重要了。儘快入門,建立起學習的信心,對後續的學習有非常大的幫助。本文將講述任何在IAR上建立一個project,並開始自己學習stm32的第一個實驗。
  • STM32 的核心Cortex-M3 處理器
    這種極快的響應速度一方面得益於Cortex-M3 內核對堆棧的自動處理機制,這種機制是通過固化在CPU 內部的微代碼實現的。另一方面,在中斷請求連續出現的情況下,NVIC 使用一種稱為「尾鏈」的技術,使連續而來的中斷可以在6 個時鐘周期內得到服務。在中斷的壓棧階段,更高優先級的中斷可以不耗費任何額外的CPU 周期就能完成嵌入低優先級中斷的動作。具體的細節後面我會繼續總結的。
  • IAR STM32 函數和變量的絕對地址定位
    但是這個可以解決:被調用的函數,在兩邊工程都申明的絕對地址,並且在非固件更新區(就是兩邊工程的固件裡,這些被調用函數的位置都一樣,只需要函數名和地址一樣即可,函數內部可以不同)。那麼被這些調用的函數內,可以隨意調用其他函數,如printf ,strcpy等庫函數了。絕對定位的函數,如果要使用常量,那麼被使用的常量也必須是絕對定位的。
  • 電能表、水錶的正確讀數方法
    一、 電能表的讀法電能表,簡稱電錶。它用於電能測量。電錶分為單相電能表和三相電能表。不同的電錶及不同的接法,電錶的讀取方法也不同。1、 單相電能表的讀數(圖一:電子式單相電能表)上圖(圖一)所示是一塊單相電錶。
  • avr單片機和stm32區別與優缺點分析
    摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那麼avr單片機和stm32單片機有什麼區別呢?有什麼優劣勢呢?   二、stm32單片機介紹   由ST廠商推出的stm32系列單片機,行業的朋友都知道,這是一款性價比超高的系列單片機,應該沒有之一,功能及其強大。
  • 水電工必備技能:電能表、水錶的正確讀數方法圖解
    一、 電能表的讀法電能表,簡稱電錶。它用於電能測量。電錶分為單相電能表和三相電能表。不同的電錶及不同的接法,電錶的讀取方法也不同。1、 單相電能表的讀數(圖二:轉盤式單相電能表)2、 三相電能表的讀法三相電能錶帶互感器和不帶互感器的讀數不一樣。①電能表不帶互感器。電錶不帶互感器時,可直接讀數。
  • Cortex-M3掃盲
    網址:http://www.stmicroelectronics.co … tml-pages-stm32.htm即將提供Cortex-M3晶片的還有ATMEL和NXP。它們已經把寶寶的名字取好了:ATMEL的以AT91SAM3開頭,NXP的以LPC1000開頭。我估計還有其它很多半導體廠商也在醞釀中。
  • Arm技術文檔分享|Cortex-M 系列處理器Cortex-M3 DesignStart FPGA...
    Cortex-M3 DesignStart FPGA-Xilinx Edition相關文檔ARM Cortex-M 系列的 CPU 處理器內核(包括 ARM Cortex-M0、ARM Cortex-M1、ARM Cortex-M3 處理器)的 ARM 文檔集。
  • STM32 (Cortex-M3) 中NVIC(嵌套向量中斷控制)的理解
    6. stm32中對中斷優先級的定義Cortex-M3允許具有較少中斷源時使用較少的寄存器位指定中斷源的優先級,因此STM32把指定中斷優先級的寄存器位減少到4位,這4個寄存器位的分組方式如下:第0組:所有4位用於指定響應優先級第1組:最高1位用於指定搶佔式優先級,最低3位用於指定響應優先級第2組:最高2位用於指定搶佔式優先級
  • STM32 (CortexM3) 中NVIC(嵌套向量中斷控制)的理解
    6. stm32中對中斷優先級的定義    Cortex-M3允許具有較少中斷源時使用較少的寄存器位指定中斷源的優先級,因此STM32把指定中斷優先級的寄存器位減少到4位,這4個寄存器位的分組方式如下:第0組:所有4位用於指定響應優先級第1組:最高1位用於指定搶佔式優先級,最低3位用於指定響應優先級第2組:最高2位用於指定搶佔式優先級,最低2
  • 水電工必備技能之一:電能表、水錶的正確讀數方法
    一、 電能表的讀法電能表,簡稱電錶。它用於電能測量。電錶分為單相電能表和三相電能表。
  • 雙向計量三相智能電能表的原理及設計
    今天為大家介紹一項國家發明授權專利——雙向計量三相智能電能表。另一種是「淨電量計量」政策下的併網方案,此方案長周期計量分布式電站的發電電量和消費電量。對於上述兩種計量併網方案,均需要採用雙電錶計量。而採用兩個電錶不僅成本增加,而且空間需求也更大,同時增加了故障率,提高了維護成本。 發明內容 針對上述問題,本發明提供了一種雙向計量三相智能電能表。
  • 三相三線電能表和三相四線電能表的區別
    三相三線電能表和三相四線電能表的區別三相三線制和三相四線制是什麼意思?各有什麼區別?是用三相三線制還是用三相四線制的電錶,由用戶的進線和用電性質決定。如果用戶是純三相制電器,如三相變壓器,三相電動機等,可以使用三相三線制線路,三相三線制只有三根線,沒有零線,就只能用三相三線制的表。 如果用戶有單相負荷又有三相負荷,那就是三相四線制或三相五線制(多零線接地線)線路,就要使用三相四線制的電錶。 三相三線制線路沒有調整能力,要求三相負荷基本平衡。三相三線制和三相四線制的區別是什麼?
  • 多功能電子式電能表的主要功能及計量外的多種應用
    2 目前多功能電能表的主要特點:20世紀90年代,多功能電子式電能表主要解決了機械式電能表摩擦力的問題,提高了靈敏度;同時多功能電子式電能表在防竊電問題和通訊等方面有了本質的提高。多功能電能表在電能信號的採集方面也經過了兩個階段的發展,即採用霍爾效應乘法器、時分割乘法器等模擬乘法器階段和A/D轉換器階段。
  • ARM Cortex-M3 內核介紹
    內核包含四部分:1.乘法器;2.控制邏輯;3.Thumb指令解碼器;4.內部接口CM3內部包含元素介紹:本文引用地址:http://www.eepw.com.cn/
  • 三相電能表怎麼讀取電錶度數?
    三相四線電錶三相四線電錶有兩種接法,一種是直接式三相電能表,一種是互感器式三相電能表。直接式三相電能表直接式三相電能表的額定電流一般100A以下,根據端子的編號,1-4-7接ABC三相進線,3-6-9接ABC三相出線,最後10號端子接零線的進線和出線。
  • 單相有功電能表的接線,三相有功電能表直入式的接線,附接線圖
    5.三相有功電能表直入式的接線應知:①三相直入式電能表的結構特點及用途;②會畫三相四線表及三相三線表的接線原理圖;③掌握選表要求及實際接線。6.根據給定的三相有功電能表畫出接線原理圖。(1)三相四線電能表(3×380V/220V、DT型、)直入式接線原理圖如圖所示。
  • ARM7、ARM9、ARM11、ARM-Cortex系列的關係
    ARM公司自2004年推出ARMv7內核架構時,摒棄了以往"ARM+數字"這種處理器命名方法(ARM11之前的處理器統稱經典處理器系列),重新啟用Cortex來命名,並將Cortex系列細分為三大類:  Cortex-M系列主要是用來取代經典處理器ARM7系列(比如基於
  • 電能表原理- -電度表是如何對用電量進行計量的呢?
    電能表有多種的分類方式,根據其用途的不同可分為無功電能表、有功電能表、損耗電能表、預付費電能表、智能電能表等;根據其接入電源性質的不同可分為直流電能表和交流電能表;根據其結構的不同可分為分體式電能表和整體式電能表;根據其安裝方式可分為直接接入式電能表和間接接入式電能表