<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設計應用 > 采用TMS320F2812變頻電源的交流采樣系統(tǒng)設計方案

          采用TMS320F2812變頻電源的交流采樣系統(tǒng)設計方案

          作者: 時間:2011-05-15 來源:網(wǎng)絡 收藏

          概述:本文介紹利用HCNR200及TMS320F2812內(nèi)置ADC采集交流電壓和負載電流信號的系統(tǒng)設計。HCNR200是一款專門用于模擬信號隔離采樣的高精度線性光耦。它的使用能有效地將主電路與控制電路進行隔離,并具有較高的線性度,檢測誤差小。DSP內(nèi)置ADC為12位轉(zhuǎn)換器,具有轉(zhuǎn)換精度高,轉(zhuǎn)換時間短(12.5 MSPS),設計簡單等優(yōu)點。

          在三相變頻電源設計中,需要采樣交流電壓及負載電流,用以實現(xiàn)雙閉環(huán)控制和保護,因此交流電壓、電流采集系統(tǒng)的設計直接關(guān)系到變頻電源的性能。三相變頻電源以TMS320F2812(簡稱F2812)為控制芯片,該芯片內(nèi)置16通道的12位ADC。采用F2812內(nèi)置ADC進行交流采樣時,避免了復雜的硬件設計,并降低了成本。電源要求輸出線電壓為380 V,輸出功率為3 kW。要采集該交流電壓、電流信號并送到DSP芯片,必須設計隔離電路,用以防止高電壓、強電流串入控制系統(tǒng),燒壞低壓器件。HCNR200是一款用于模擬信號隔離的專用高精度線性光耦。本文詳細介紹了利用F2812的內(nèi)置ADC,并結(jié)合HCNR200進行交流電壓、電流的采樣。

          1 TMS320F2812內(nèi)置ADC簡介
          TMS320F2812芯片系TI公司于2003年底推出的32位定點DSP,是一款高性能、滿足電機實時性控制要求的控制器,工作頻率最高可達150 MHz,其內(nèi)置了16通道,12位ADC,含兩路采樣保持器,一個轉(zhuǎn)換單元,可實現(xiàn)雙通道同步采樣,最小轉(zhuǎn)換時間為80 ns。內(nèi)置ADC的外設內(nèi)部結(jié)構(gòu)如圖1所示。

          模擬量由16個通道輸入,被分為A,B兩組,ADCINA0~7為A組,ADCINBO~7為B組,每組都有一個完全獨立的多路選擇器和采樣保持器,共用一個12位ADC。整個轉(zhuǎn)換時序和轉(zhuǎn)換過程都由ADC時序控制自動機完成,不需要DSP中央處理單元的干預。編程時只需要配置寄存器,設定合適的值,自動機就會按照設定的順序和模式自動地實現(xiàn)多通道ADC,并將其結(jié)果寫入到16 Word的轉(zhuǎn)換結(jié)果寄存器中。結(jié)果寄存器為雙緩沖結(jié)構(gòu),這就保證對于結(jié)果寄存器、自動機的寫操作和中央處理單元的讀操作不會產(chǎn)生時序沖突,大大提高了DSP的并行運行能力。輸入管腳ADCSOC是ADC的外部觸發(fā)輸入,用于要求嚴格同步觸發(fā)采樣的場合。ADC的時序基準頻率由處理器的主頻分頻提供,可以通過改動相關(guān)配置寄存器的值來設定分頻系數(shù),從而改變ADC的轉(zhuǎn)換速率。TMS320F2812的ADC有4種工作模式:觸發(fā)順序模式、觸發(fā)同步模式、周期順序模式和周期同步模式。
          通道的模擬電壓容許輸入范圍在0~3 V之間。對于交流采樣系統(tǒng),必須為前級的運放電路提供電平偏置和保護。

          2 HCNR200簡介及其工作原理
          HCNR200光電耦合器的內(nèi)部結(jié)構(gòu)如圖2所示。其中,LED為發(fā)光二極管;PD1,PD2是兩個相鄰匹配的光敏二極管。光敏二極管的PN結(jié)在反向偏置狀態(tài)下運行,它的反向電流與光照強度成正比,這種封裝結(jié)構(gòu)決定了每個光敏二極管都能從LED得到近似相等的光強,從而消除了LED的非線性和偏差特性所帶來的誤差。當電流If流過LED時,LED發(fā)出的光被耦合到PD1和PD2,在器件輸出端產(chǎn)生與光強成正比的輸出電流IPDI和IPD2。PD1用來調(diào)節(jié)If,以補償LED的非線性和漂移特性;IPD2與PD1發(fā)出的伺服光通量成線性比例。其中。If,IPD1和IPD2滿足以下關(guān)系:

          式中:K1,K2分別為輸入/輸出光電二極管的電流傳輸比,其典型值均在0.05%左右,K為傳輸增益。當一只HCNR200被制造出來后,其輸出側(cè)光電流IPD2和輸入側(cè)光電流IPD1之比是一個恒定值K,K在1±O.15之間。

          這種先進的光電二極管調(diào)整設計確保了光電耦合器HCNR200的高線性度和穩(wěn)定性,可以較好地實現(xiàn)模擬量與數(shù)字量之間的隔離。

          3 硬件電路設計
          假設三相變頻電源接三角形負載,則在三相負載的每相上串一精密小電阻,通過檢測小電阻的端電壓就可以由DSP中斷程序計算出所需的電壓、電流值。由HCNR200構(gòu)成的電壓采集電路如圖3所示。電路由反饋電路、隔離電路、電流電壓轉(zhuǎn)換電路、限幅電路等幾部分構(gòu)成。兩個運放接在不同的工作電源和地上,實現(xiàn)了隔離。運放選擇高精度運放CA3130A,該運放采用15 V單電源供電,最大共模輸入電壓為15 V,最大輸出電壓為13.3 V,負載為2 kΩ。

          圖3中,U1構(gòu)成反饋電路。利用PD1檢測LED的光輸出量,并自動調(diào)整通過LED的電流,以補償LED光輸出的變化及任何其他原因引起的非線性,因此該反饋主要用于穩(wěn)定LED的光輸出,并使其線性化。輸入信號Vin是被測量,由采樣電阻兩端的交流電壓經(jīng)二極管整流得到,其范圍取在O~5 V之間。U2組成輸出電路。進行電流與電壓之間的轉(zhuǎn)換,用以將輸出光敏二極管PD2輸出的穩(wěn)定、線性變化的電流轉(zhuǎn)換成電壓信號并輸出。
          If的范圍為1~20 mA。根據(jù)運放最大輸出電壓為13.3 V,結(jié)合IPD1=0.005If,R3不宜過大,取200 Ω。光電二極管PD1的電流為:

          由于IPD1的取值一般小于50μA,且實驗發(fā)現(xiàn),在選用R2時,實際值比理論計算值要大一些,這樣才能取得更好的隔離效果,故選取R2=200 kΩ。

          在實際工程中,選用R4=470 kΩ的電位器,用以調(diào)節(jié)放大倍數(shù)。
          在輸出端加一個二極管限幅電路,限制Vout在O~3 V以內(nèi)。

          4 軟件設計
          運用TMS320F2812內(nèi)置ADC進行數(shù)據(jù)采集時,程序首先對ADC進行初始化,當ADC非常忙時,啟動ADC通道進行轉(zhuǎn)換,主程序進入死循環(huán);當ADC正常轉(zhuǎn)換完畢后,進入中斷服務子程序。中斷服務程序?qū)DC轉(zhuǎn)換結(jié)果讀入存儲器中,進行必要數(shù)字濾波、補償?shù)忍幚?,然后再次啟動A/D通道進行轉(zhuǎn)換,如此循環(huán)往復。程序設計使用C語言編寫源程序,主程序流程圖如圖4所示。

          5 結(jié) 語
          實踐證明,利用TMS320F2812內(nèi)置ADC,并結(jié)合模擬信號隔離用高精度線性光耦HCNR200構(gòu)成的交流信號采集電路,具有硬件電路及軟件設計簡單、高精度、高線性度、抗干擾能力強等優(yōu)點,有效地解決了模擬信號與數(shù)據(jù)采集系統(tǒng)隔離的問題。在電流、電壓雙閉環(huán)控制的變頻電源設計中發(fā)揮了重要的作用。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();