胡叨福,王凡,趙科杰
(珠海格力電器股份有限公司,廣東珠海,519070)
磁懸浮軸承具有無機械接觸、無需潤滑油路系統(tǒng)等一系列優(yōu)點,轉子可以實現(xiàn)無摩擦高速旋轉,其轉速只受轉子材料強度的限制。這些優(yōu)點使磁懸浮軸承廣泛應用于暖通壓縮機、軌道交通、航空航天、高精度主軸等領域。
磁懸浮軸承控制器是磁懸浮軸承系統(tǒng)的核心部分,其中位移信號采集系統(tǒng)又是磁懸浮軸承控制器的關鍵組成部分之一,控制器通過位移傳感器獲取轉子的位置信息,然后通過CPU進行分析處理,輸出控制信號到功率放大器。磁懸浮軸承的各項基本性能,如剛度、阻尼、轉子懸浮精度和不平衡響應都主要取決于它的控制性能。隨著智能化、數(shù)字集成化的發(fā)展,采用數(shù)字控制器是磁懸浮軸承系統(tǒng)發(fā)展的必然趨勢,大部分磁懸浮軸承的位移信號采集系統(tǒng)都由數(shù)字信號處理器來實現(xiàn)。
本文以項目中的主動磁懸浮軸承為研究對象,采用TI公司高性能DSP芯片TMS320F28335(以下稱F28335)作為控制器的CPU,以16位AD作為模擬數(shù)字轉換器,采用FIR濾波器對采集的信號進行濾波處理,用VS2010編寫軟件接收并保存采集的數(shù)據(jù),以便對磁懸浮軸承的運行數(shù)據(jù)進行離線分析。
系統(tǒng)的硬件結構如圖1所示,由信號采樣及預處理、模數(shù)轉換、DSP和上位機組成,由DSP采集的位移信號經(jīng)處理后可通過以太網(wǎng)通信發(fā)送給上位機,上位機實現(xiàn)網(wǎng)絡接收、顯示程序,可實時顯示和保存DSP發(fā)送來的數(shù)據(jù)。
圖1 采集系統(tǒng)總體結構框圖
AD976是AD公司的一種高速、低功耗、單通道同步采樣轉換,單+5V供電的16位高速并行接口的高性能模數(shù)轉換器,內部集成2.5V基準電壓源、高速并行接口和時鐘。它還有一個更重要的特點就是它的模擬信號輸入范圍為-10V到+10V,這是其他很多AD轉換芯片所不能及的。REF為外部參考電源輸入,AGND為REF的參考地,無論在是使用內部或者外部參考電源,在REF和AGND之間都要跨接2.2μF的鉭電容;CS為片選信號,低電平有效[1]。
F28335是TI公司的一款用于控制的高性能、多功能、高性價比的32位浮點DSP,它具有豐富的IO口、數(shù)據(jù)、地址總線等外設接口資源[2],由于F28335的IO口電平為3.3V,AD976電平為5V,為提高電路可靠性,兩個芯片之間需要增加電平轉換芯片,具體連接原理圖如圖2所示。
圖2 F28335與AD976連接原理圖
本系統(tǒng)采用WIZnet公司的高性能以太網(wǎng)接口芯片W5500作為DSP與上位機之間的以太網(wǎng)通信橋梁,該芯片集成了硬件TCP/IP協(xié)議棧、以太網(wǎng)數(shù)據(jù)鏈路層和以太網(wǎng)物理層,支持TCP、UDP等協(xié)議[3],還集成了SPI(外設串行接口)通信接口,可與 F28335無縫對接,實現(xiàn)DSP與PC機之間的互聯(lián)網(wǎng)連接,具體通信原理圖如圖3所示。
圖3 F28335以太網(wǎng)通信電路
通過定時中斷能精準控制AD采樣節(jié)拍,保證采樣頻率固定,AD976的初始化、開始采樣和數(shù)據(jù)讀取均用軟件實現(xiàn),部分功能程序如下:
void StartSample(void) //啟動AD
{
ADCS=0;
ADRC=0;
delay_ns(t1) ;
while(!ADBUSY);
delay_ns(t2) ;
ADRC=1;
}
void ReadData(void) //讀取數(shù)據(jù)
{
ADRC=1;
ADCS=0;
result=ptrChannel;
}
由于轉子位移信號的準確性在磁懸浮軸承系統(tǒng)中作用非常關鍵,由于磁懸浮軸承工作在強磁場環(huán)境,采集系統(tǒng)的濾波性能占有非常重要的地位,目前,數(shù)字濾波器是數(shù)字信號處理的常用方法,在下位機反饋數(shù)據(jù)給上位機之前,利用數(shù)字濾波器對采集的數(shù)據(jù)進行濾波處理,用DSP芯片實現(xiàn)數(shù)字濾波具有運算速度快、穩(wěn)定性好、移植方便等優(yōu)點,在程序中通過修改濾波器的相關系數(shù)可十分方便地改變?yōu)V波器的帶寬、截止頻率等特性。本系統(tǒng)采用有限沖激響應(FIR)濾波器,其獨特的優(yōu)點為:FIR系統(tǒng)只有零點,系統(tǒng)總是穩(wěn)定的,另外容易實現(xiàn)線性相位和允許實現(xiàn)多通道濾波。FIR濾波器的一個主要特征就是其單位沖激響應是有限長的,令x[n]表示時刻n的輸入信號,則n時刻的輸出信號y[n]可以表示為:
其中hi和h[i]等價,即hi=h[i](i= 0 ,1,2,???,N)是濾波器的系數(shù)[5]。
實際中可采用MATLAB的數(shù)字信號處理軟件包提供的專用函數(shù)來直接計算FIR濾波器系數(shù),也可通過MATLAB工具箱中的FDATool(Filter Design&Analysis Tool)生成相應的濾波器系數(shù)[4],本設計采用FDATool生成的系數(shù)頭文件不要做任何修即可加載到DSP的工程中實現(xiàn)濾波效果,圖4為DSP對所采集混合信號濾波前后的波形,從圖中可明顯看出所設計的濾波器有很好的濾波效果。
本文采用VS2010設計了基于TCP/IP協(xié)議的上位機界面,使用C#編寫通信及數(shù)據(jù)實時顯示程序,使用Socket接口與下位機進行以太網(wǎng)連接,在上位機界面里輸入IP地址和端口號完成與下位機的匹配連接,部分程序如下:
//建立基于TCP/IP協(xié)議的套接字
SocketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//識別輸入的IP地址
IPAddress ip = IPAddress.Parse(txtClientIP.Text.Trim());
//將IP地址和端口號映射到endPoint
IPEndPoint endPoint = new IPEndPoint(ip,int.Parse(txtClientPort.Text));
//將套接字連接到endPoint上
SocketClient.Connect(endPoint);
//保留10像素環(huán)繞控件的外部邊緣
zedGraphControlV.Location = new Point(10, 10);
//建立采集數(shù)據(jù)鏈表
PointPairList listPrecisionFX1 = new PointPairList();
//采集緩沖區(qū)
List<double> tempPrecisionFX1 = new List<double>();
//FX1位移曲線顯示
LineItem myCurveFX1 = myPane.AddCurve(“FX_Accu”, listPrecisionFX1, Color.Red, SymbolType.Circle);
控制器作為服務器,上位機作為客戶端,建立使用TCP/IP協(xié)議的套接字,用戶通過界面輸入服務器的IP和端口號, SocketClient.Connect(endPoint)用來建立與服務器的鏈接,使用zedGraph進行波形繪制,通過PointPairList()建立不同的波形繪制窗口,通過myPane.AddCurve()實現(xiàn)波形數(shù)據(jù)實時顯示,具體顯示效果如圖5所示。
圖5 VS界面顯示位移曲線效果
本文闡述了基于DSP和網(wǎng)絡通信的磁懸浮軸承位移信號采集系統(tǒng)設計與實現(xiàn),該系統(tǒng)可快速、有效采集轉軸在運轉中的位置信號,實踐結果表明,該系統(tǒng)具有實時性高、抗干擾能力強、傳輸距離遠等特性,滿足磁懸浮軸承的應用要求。