胡東軒,史偉民,魯文其,劉 虎,王 瑋
(浙江理工大學(xué)機(jī)械與自動(dòng)控制學(xué)院,浙江杭州310018)
交流伺服系統(tǒng)以其高精度、高性能而廣泛應(yīng)用于各種場(chǎng)合[1],對(duì)于id=0的矢量控制方式,電流反饋、位置反饋以及速度反饋的精度在很大程度上影響了整個(gè)伺服系統(tǒng)的性能和精度[2-9]。國(guó)內(nèi)比較通用的方案是直接將電流檢測(cè)模擬信號(hào)傳送到DSP中,雖然DSP自身帶有 A/D轉(zhuǎn)換環(huán)節(jié),但是其精度一般較低,如TMS320F2812的A/D轉(zhuǎn)換通道精度只有12位,在實(shí)際的使用過程中,A/D的轉(zhuǎn)換結(jié)果誤差較大,如果直接將此轉(zhuǎn)換結(jié)果用于控制回路,必然會(huì)降低控制精度。由文獻(xiàn)[10]中檢測(cè)得到的數(shù)據(jù)可以看到:在未加軟件補(bǔ)償算法情況下,實(shí)測(cè)2812的ADC通道分辨率只有5位,誤差在5%左右,遠(yuǎn)不能滿足高精度要求,在添加了復(fù)雜的補(bǔ)償算法之后,雖然2812的A/D轉(zhuǎn)換精度有所提高,但是增加了算法的復(fù)雜性。由此可見,采用直接將電流模擬信號(hào)送入DSP讓其轉(zhuǎn)化的方案在要求伺服系統(tǒng)高性能的場(chǎng)合不可取。
目前高性能伺服系統(tǒng)多采用“DSP+CPLD”的結(jié)構(gòu),DSP負(fù)責(zé)復(fù)雜的控制算法,CPLD負(fù)責(zé)電流采樣、位置速度采樣、I/O擴(kuò)展等。并將采集的數(shù)據(jù)暫時(shí)存于CPLD,等到DSP需要某個(gè)數(shù)據(jù)時(shí),通過讀取CPLD寄存器或者CPLD內(nèi)部的RAM得到需要的數(shù)據(jù)。
本研究設(shè)計(jì)伺服系統(tǒng)高精度電流采樣硬件電路,利用16位高精度A/D轉(zhuǎn)換芯片AD7655,基于CPLD,并采用VHDL語(yǔ)言控制AD7655來完成電流采樣檢測(cè),最后在DSP中顯示。
高精度伺服系統(tǒng)電流采樣方案設(shè)計(jì)如圖1所示。
由圖1可以看到,永磁同步電機(jī)的A相和B相定子電流IA和IB經(jīng)過采樣電阻,得到相對(duì)應(yīng)的差分電壓信號(hào)UI-U和VI-V,這兩個(gè)差分信號(hào)經(jīng)過光耦隔離放大電路后輸出兩個(gè)放大的差分信號(hào)Uout+-Uout-和Vout+-Vout-,兩者再經(jīng)過調(diào)理電路均變成0~5 V范圍之內(nèi)的電壓信號(hào),分別輸入到AD7655的兩個(gè)模擬輸入通道INB2和INB1,由CPLD控制完成采樣過程。
圖1 系統(tǒng)總體方案
下面進(jìn)行具體電流采樣電路和調(diào)理電路的設(shè)計(jì)。
電流采樣電路需要檢測(cè)永磁同步電機(jī)定子的兩相電流,定子相電流采樣電路如圖2所示。經(jīng)過R1與C1組成的濾波電路輸入到光耦的差分電壓輸入端Vout+和Vout-,經(jīng)過光耦HCPL-7840的隔離放大作用可得:
假設(shè)電機(jī)的U相電流為IA,則IA=(UI-U)/R2,Vout+和Vout-經(jīng)過調(diào)理電路輸出/輸入到AD7655模擬信號(hào)輸入端,電流采樣調(diào)理電路如圖3所示。
圖2 伺服系統(tǒng)電流采樣電路
圖3 電流采樣調(diào)理電路
由圖3中電路及模擬放大器“虛短”、“虛斷”的概念,可以得出輸入電壓與輸出電壓幅值的關(guān)系為:
通過R6與C6組成的低通濾波電路濾波后輸入AD7655,電壓范圍為0~5 V。
由式(1,2)可得:
AD7655是ADI公司生產(chǎn)的具有16位精度的A/D轉(zhuǎn)換芯片,可以選擇轉(zhuǎn)換后的數(shù)據(jù)輸出方式為并行方式或者串行方式,本研究選擇串行輸出方式。
芯片啟動(dòng)轉(zhuǎn)換如圖4所示。
圖4 芯片啟動(dòng)轉(zhuǎn)換時(shí)的時(shí)序
在CNVST的下降沿BUSY在32 ns左右由低電平變成高電平,表明器件進(jìn)入轉(zhuǎn)換狀態(tài)。
AD7655芯片轉(zhuǎn)換完成讀數(shù)據(jù)過程如圖5所示。
圖5 AD7655轉(zhuǎn)換完成串行從模式時(shí)序
由圖5可以看到,BUSY的下降沿顯示AD7655轉(zhuǎn)換完成,此時(shí)可以選通芯片讀數(shù)據(jù),且數(shù)據(jù)輸出具有一定的延時(shí)。
一次完整的轉(zhuǎn)換需要轉(zhuǎn)換INA1、INB1、INA2、INB2共4個(gè)通道,INA1和INB1屬于1通道,INA2和INB2屬于2通道。選擇先轉(zhuǎn)換1通道或者2通道取決于A0的電平狀態(tài),數(shù)據(jù)轉(zhuǎn)換完成之后,在1或2通道中,選擇先讀A通道還是B取決于的電平狀態(tài)(圖5中所示為先讀A通道后讀B通道的方式,即),本研究選擇先讀B通道后讀A通道的方式,即
基于CPLD,本研究設(shè)計(jì)了采用VHDL語(yǔ)言控制AD7655電流采樣的程序。
本研究中用到AD7655的INB2和INB1兩個(gè)轉(zhuǎn)換通道,因此需要在一定的時(shí)刻變換1,2轉(zhuǎn)換通道。筆者選擇在上次通道轉(zhuǎn)換完成后開始讀數(shù)據(jù)時(shí)變換通道。
CPLD控制過程流程圖如圖6所示。
圖6 CPLD控制轉(zhuǎn)換程序流程圖
部分設(shè)計(jì)程序如下。
實(shí)體定義:
結(jié)構(gòu)體定義:
啟動(dòng)轉(zhuǎn)換:
檢測(cè)轉(zhuǎn)換是否完成(檢測(cè)BUSY的下降沿):
轉(zhuǎn)換完成之后利用SCLK時(shí)鐘上升沿讀數(shù)據(jù):
狀態(tài)切換:
本研究采用的CPLD為L(zhǎng)attice公司的LCMXO1200。利用Lattice最新推出的軟件Lattice Diamond,筆者進(jìn)行了CPLD控制下AD7655電流采樣控制仿真。
仿真時(shí)序圖如圖7、圖8所示。
CLK為CPLD系統(tǒng)時(shí)鐘,SCLK為讀轉(zhuǎn)化數(shù)據(jù)的同步時(shí)鐘,兩者頻率均為3.75 MHz,一個(gè)完整的轉(zhuǎn)換周期中各信號(hào)的波形如圖7所示。
圖7 一個(gè)采樣周期電流采樣仿真波形
圖8 INB2,INA2通道采樣時(shí)各信號(hào)仿真波形
通道1轉(zhuǎn)換中和轉(zhuǎn)換后各個(gè)信號(hào)的變化過程如圖8所示,由圖8可以看出:在CNVST的下降沿BUSY信號(hào)立即由低電平跳變?yōu)楦唠娖?,該過程小于32 ns,再經(jīng)過0.875 μs,BUSY跳變成低電平,表明芯片轉(zhuǎn)化完成,ADCS和RD在下個(gè)時(shí)鐘上升沿有效,經(jīng)過數(shù)據(jù)延時(shí)進(jìn)入讀狀態(tài)讀取轉(zhuǎn)換完成的數(shù)據(jù)。data是為觀察數(shù)據(jù)所設(shè)的寄存器。
實(shí)驗(yàn)中采用的CPLD系統(tǒng)時(shí)鐘CLK與AD7655同步采樣時(shí)鐘SCLK頻率均為3.75 MHz,各信號(hào)的波形如圖9~12所示。
由圖9可以看到在CNVST下降沿的時(shí)候,BUSY立即上升,表明AD7655進(jìn)入轉(zhuǎn)換過程,在BUSY的下降沿表明轉(zhuǎn)換完成。
如圖10所示,A0為AD7655的1,2通道轉(zhuǎn)換信號(hào)。A0=1時(shí),轉(zhuǎn)化2通道;A0=0時(shí),轉(zhuǎn)換1通道。
INB2輸入5.03 V時(shí)的各信號(hào)波形如圖11所示,由圖11可以看到:在BUSY的下降沿,芯片轉(zhuǎn)換完成,在下個(gè)CLK時(shí)鐘上升沿ADCS和RD同時(shí)選通,再經(jīng)過一個(gè)CLK周期的數(shù)據(jù)延遲之后,每次在外部同步采樣時(shí)鐘SCLK的上升沿讀數(shù)據(jù),經(jīng)過32個(gè)SCLK脈沖讀完2通道(INB2,INA2)數(shù)據(jù),此時(shí)只需要讀INB2通道,因此只需要16個(gè)SCLK脈沖。
A0=0時(shí)(即1通道轉(zhuǎn)換)且INB1輸入2.5 V時(shí)的各信號(hào)波形如圖12所示。
按照上面的操作流程測(cè)出多組輸入值與轉(zhuǎn)換值如表1所示。
圖9 一個(gè)采樣周期中完整實(shí)驗(yàn)波形
圖10 一個(gè)采樣周期中A0變化實(shí)驗(yàn)波形
圖11 INB2輸入5.03 V的實(shí)驗(yàn)波形
圖12 INB1輸入2.5 V時(shí)的實(shí)驗(yàn)波形
表1 INB2,INB1輸入電壓與二進(jìn)制轉(zhuǎn)化結(jié)果
表1中轉(zhuǎn)換后的二進(jìn)制值為16位A/D轉(zhuǎn)換值,由每次在同步采樣時(shí)鐘SCLK上升沿讀SDO口電平狀態(tài)所得,高電平為“1”,低電平為“0”。將“1111111111111111”代表5 V,據(jù)此,可得轉(zhuǎn)換公式:
式中:Ucon—A/D轉(zhuǎn)換后的電壓,X—16位二進(jìn)制轉(zhuǎn)換值的十進(jìn)制表示。
實(shí)際轉(zhuǎn)化出的結(jié)果換算及誤差如表2所示。
表2 AD7655轉(zhuǎn)換結(jié)果換算及誤差計(jì)算
由表2可以看到,INB2輸入2.51 V時(shí)的A/D轉(zhuǎn)換誤差為0.80%,輸入3.01 V時(shí)誤差為0.66%,有多組轉(zhuǎn)化數(shù)據(jù)誤差均為0??紤]到實(shí)際檢測(cè)輸入電壓時(shí)不可避免的誤差,以及其他一些干擾信號(hào),模擬輸入的電壓信號(hào)經(jīng)過AD7655轉(zhuǎn)換后的轉(zhuǎn)換值較原來模擬信號(hào)誤差小于0.7%,與DSP的ADC通道直接轉(zhuǎn)換產(chǎn)生的5%的誤差相比,前者精度提高明顯,能滿足交流伺服高精度電流采樣的要求。
DSP采用 TI公司的 TMS320F2812,CPLD作為DSP的外擴(kuò)器件。擴(kuò)展在 DSP外部接口的0區(qū)。CPLD將AD7655的串行電流數(shù)據(jù)信號(hào)進(jìn)行串并轉(zhuǎn)換后分別存儲(chǔ)在 CPLD內(nèi)部寄存器 INB2,INA2,INB1,INA1中,對(duì)應(yīng)寄存器的地址分別為0x2001,0x2002,0x2003,0x2004。DSP 每隔20 μs讀一次 CPLD,并顯示出數(shù)據(jù)波形。INB2輸入0.1 Hz正弦波形如圖13所示,最大值為4.5 V,最小值為0.5 V的正弦波形經(jīng)過轉(zhuǎn)化和讀取之后在DSP中的顯示。
圖13 INB2通道采樣0.1 Hz正弦波形
本研究設(shè)計(jì)了高性能伺服系統(tǒng)電流采樣的硬件電路,在此基礎(chǔ)上采用VHDL語(yǔ)言設(shè)計(jì)了軟件程序,并進(jìn)行了仿真,最后進(jìn)行了電流采樣實(shí)驗(yàn)。由輸入與轉(zhuǎn)換輸出數(shù)據(jù)誤差的分析可知:采用該方案,采樣誤差基本低于0.7%,由此可知該設(shè)計(jì)的精度能滿足高精度電流采樣需求,電流采樣作為高性能伺服重要反饋環(huán)節(jié),其精度的提高對(duì)于整個(gè)伺服系統(tǒng)性能和精度的提高具有重要的作用。
[1]阮 毅,陳伯時(shí).電力拖動(dòng)自動(dòng)控制系統(tǒng)[M].4版.北京:機(jī)械工業(yè)出版社,2009.
[2]張 銳,白連平.永磁交流伺服電機(jī)控制系統(tǒng)的研究[J].電氣技術(shù),2011(3):6-9.
[3]薛 青,花銀群,程廣貴,等.基于永磁同步電機(jī)的高性能交流伺服控制系統(tǒng)研究[J].科學(xué)技術(shù)與工程,2009,9(1):29-33.
[4]謝玉春,楊貴杰,崔乃政.高性能交流伺服電機(jī)系統(tǒng)控制策略綜述[J].伺服控制,2011(1):19-22.
[5]阮倩茹,王 輝,施大發(fā),等.基于EtherCAT的高性能交流伺服控制系統(tǒng)設(shè)計(jì)[J].科技導(dǎo)報(bào),2010,28(20):58-61.
[6]李新兵,張繼勇.高性能永磁同步電機(jī)交流伺服系統(tǒng)的研究[J].機(jī)電工程,2005,22(4):30-32.
[7]王 中,黃聲華,萬山明.高精度永磁交流伺服系統(tǒng)及其轉(zhuǎn)速特性分析[J].微電機(jī),2007,40(1):1-4.
[8]周兆勇,李鐵才,高橋敏男.基于矢量控制的高性能交流電機(jī)速度伺服控制器的FPGA實(shí)現(xiàn)[J].中國(guó)電機(jī)工程學(xué)報(bào),2004,24(5):172-177.
[9]劉景林,馬瑞卿,劉衛(wèi)國(guó).基于高性能微控制器的超低速稀土永磁交流伺服系統(tǒng)[J].西北工業(yè)大學(xué)學(xué)報(bào),2003,21(1):10-13.
[10]劉淑琴.基于DSP2812AD轉(zhuǎn)換的傳感器數(shù)據(jù)采集與處理技術(shù)[D].大連:大連海事大學(xué)信息科學(xué)技術(shù)學(xué)院,2009:12-39.