,,,,
(1.西北工業(yè)大學(xué)明德學(xué)院,西安 710124; 2.西安晨曦航空科技股份有限公司,西安 710077;3.陜西捷普控制技術(shù)有限公司,西安 712000)
車載雷達(dá)[1]系統(tǒng)因其具有良好的機(jī)動性而被廣泛應(yīng)用在民用和軍事領(lǐng)域。車載雷達(dá)在運(yùn)輸?shù)倪^程中,一般都要將天線撤收在天線艙內(nèi),工作的時候,打開天線艙,將天線伸出,然后再工作[2]。在傳統(tǒng)車載雷達(dá)天線艙開合系統(tǒng)中,天線艙的打開和關(guān)閉采用繼電器組合來控制電動推桿電機(jī)的電流方向,從而實現(xiàn)電機(jī)的正反轉(zhuǎn),達(dá)到控制電動推桿伸縮的目的。由于采用繼電器直接加電,車載雷達(dá)天線艙在剛打開的時候,電動推桿瞬間加電,天線艙由靜止轉(zhuǎn)為運(yùn)動,此時電動推桿電機(jī)的電流很大,容易造成電動推桿的電機(jī)以及機(jī)械結(jié)構(gòu)損壞,同時,由于采用開環(huán)控制,沒有對左、右推桿的實時位移進(jìn)行采集和比較,并作出相應(yīng)的調(diào)整,左、右兩個電動推桿因個體差異和受力的不同,其速度不一致,導(dǎo)致左、右推桿的位移不一致,在位移差較大的情況下,容易造成天線艙結(jié)構(gòu)的變形和損壞。
新型車載雷達(dá)天線艙開合系統(tǒng)電動推桿的驅(qū)動采用PWM+MOS管的全橋驅(qū)動電路和全數(shù)字控制技術(shù),可以方便、可靠地實現(xiàn)電動推桿啟動時的加速過程和停止時的減速過程,有效地解決了傳統(tǒng)雷達(dá)天線艙開合系統(tǒng)電機(jī)啟動時瞬間電流過大和停止時產(chǎn)生的反向電動勢對系統(tǒng)造成的損害。
同時,新型車載雷達(dá)天線艙開合系統(tǒng)與傳統(tǒng)的開合系統(tǒng)相比,增加了鉸鏈直線位移傳感器,將其與電動推桿并聯(lián)安裝,如圖1所示。天線艙左、右兩側(cè)各安裝一對,用于實時測量左、右電動推桿的位移,控制程序根據(jù)左、右電動推桿的位移,實時調(diào)整左、右電動推桿的速度,使左、右電動推桿的位移保持一致,確保天線艙在打開和關(guān)閉的過程中,結(jié)構(gòu)不發(fā)生變形、損壞。該方案還可以特別有效的防止當(dāng)兩個電動推桿中的一個電動推桿出現(xiàn)故障停止運(yùn)行,而另一個電動推桿仍在運(yùn)行導(dǎo)致天線艙損壞的情況。
圖1 鉸鏈直線位移傳感器和電動推桿的安裝
控制電路主要由微控制器、全橋驅(qū)動電路、濾波電路、AD/C和觸摸顯示屏等組成,如圖2所示。
圖2 控制電路組成
微控制器是整個控制電路的核心,采用STM32F103ZGT6高性能ARM處理器,其內(nèi)核是32位的Cortex-M3,工作頻率高達(dá)72 MHz,具有很高的運(yùn)算速度,在進(jìn)行PID運(yùn)算,處理一般的浮點(diǎn)數(shù)據(jù)時,也顯得游刃有余。STM32F103ZGT6豐富的IO資源,使得其很容易與其他外部設(shè)備進(jìn)行連接,特別是其采用的一種新型的存儲器擴(kuò)展技術(shù)-可變靜態(tài)存儲控制器(FSMC),可以簡單方便地與TFT液晶顯示器連接。
在新型車載雷達(dá)天線艙開合系統(tǒng)中,由于TFT液晶顯示器要顯示彩色圖片以及大量漢字信息,因此,程序中需要大量的存儲空間對圖片、漢字等常量數(shù)據(jù)進(jìn)行存儲,而STM32F103ZGT6內(nèi)部1MB的內(nèi)部Flash和96kB的SRAM正好可以滿足這個需求,而無需擴(kuò)展片外大容量NAND FLASH芯片,降低了系統(tǒng)成本,簡化了系統(tǒng)的軟、硬件設(shè)計工作。
PWM信號在現(xiàn)代數(shù)字控制技術(shù)中廣泛應(yīng)用,特別是電機(jī)驅(qū)動、測量、功率控制與變換等方面。STM32F103ZGT6內(nèi)部有多個可以工作于PWM模式的定時器,為系統(tǒng)的設(shè)計和精確控制帶來了極大的方便。
在新型車載雷達(dá)天線艙開合系統(tǒng)中,STM32F103ZGT6作為控制核心,主要用于對采集到的左、右鉸鏈直線位移傳感器的數(shù)據(jù)經(jīng)過PID算法[3]處理后,轉(zhuǎn)換成對左、右電動推桿速度[4]控制的控制量,即PWM信號的占空比[5],并輸出相應(yīng)的PWM信號。PWM信號由STM32F103ZGT6的定時器8[6]產(chǎn)生,通過PC6和PC7兩個引腳輸出兩路PWM信號,用于控制左、右電動推桿。在STM32F103中,PWM信號的頻率(Fpwm)由ARR寄存器的值和PSC寄存器的值決定,占空比(Duty)由CCRx和ARR的值決定,分別如式(1)和式(2)所示:
Fpwm= 72000000/((ARR+1)*(PSC+1))
(1)
Duty=CCRx/ARR
(2)
在驅(qū)動直流電機(jī)的過程中,如果PWM信號的頻率太低,電機(jī)的振動比較大,產(chǎn)生較大的刺耳聲,如果PWM信號的頻率太高,驅(qū)動電路的MOS管開關(guān)損耗比較大,管子發(fā)熱厲害??紤]到系統(tǒng)選用的直流電機(jī)的特性以及為了避免電機(jī)產(chǎn)生刺耳的聲音,并降低開關(guān)損耗,在新型車載雷達(dá)天線艙開合系統(tǒng)中,PWM信號的頻率采用20 kHz。
新型車載雷達(dá)天線艙開合系統(tǒng)的電機(jī)選用兩個24 V/5A的直流電機(jī),直流電機(jī)驅(qū)動電路采用IR2104和IRF3205組成的H橋驅(qū)動電路[7],電路如圖3所示。
圖3 電機(jī)驅(qū)動電路
在圖3電機(jī)驅(qū)動電路中,4個IRF3205的驅(qū)動采用2片IR公司的IR2104,IR2104是一款內(nèi)置520 ns(典型值)死區(qū)時間的高壓、高速半橋驅(qū)動芯片,具有非常高的可靠性和非常優(yōu)良的驅(qū)動性能。內(nèi)置死區(qū)時間的存在,可以有效的防止上、下橋臂的導(dǎo)通,提高驅(qū)動電路的可靠性。圖3中,C31、C32為IR2104的自舉電容,C35、C36、C37、C38為MOS管驅(qū)動的加速電容,可以有效的加速M(fèi)OS管的導(dǎo)通和關(guān)斷速度。
PWM_1即為用于控制電機(jī)轉(zhuǎn)速的PWM信號。U1B、U1C、U1D為74LVC00,形成組合邏輯電路,用于控制電機(jī)的轉(zhuǎn)動方向。通過改變IN1_A和IN1_B的電平即可改變電機(jī)的轉(zhuǎn)動方向。即當(dāng)IN1_A和IN1_B分別為高、低電平時,電機(jī)正轉(zhuǎn);當(dāng)IN1_A和IN1_B分別為低、高電平時,電機(jī)則反轉(zhuǎn);當(dāng)IN1_A和IN1_B電平相同時,電機(jī)則停止轉(zhuǎn)動。IN1_A和IN1_B與STM32F103ZGT6的兩個普通IO連接。
新型車載雷達(dá)天線艙開合系統(tǒng)在運(yùn)行的過程中,有可能發(fā)生意外情況,導(dǎo)致天線艙無法正常打開,致使電動推桿電機(jī)電流過大,因此,微處理器在通過電機(jī)驅(qū)動電路對電動推桿進(jìn)行驅(qū)動的同時,需要對兩個電動推桿的電流進(jìn)行實時采樣,實現(xiàn)對電動推桿電機(jī)的過流保護(hù)。
由于電機(jī)驅(qū)動采用PWM控制,且電機(jī)為感性負(fù)載,流經(jīng)電動推桿電機(jī)的脈沖電流會發(fā)生畸變,因此需要對電機(jī)的電流信號進(jìn)行濾波,才能得到穩(wěn)定有效電流信號。電流信號濾波電路如圖4所示。
圖4 電流信號濾波電路
圖4中,RS1為電流采樣電阻,電機(jī)電流流過采樣電阻,在RS1上形成電壓信號,該信號經(jīng)過以雙通道運(yùn)算放大器AD8552[8]為核心的三階巴特沃茲低通濾波器[9]后,由AD/C進(jìn)行采樣。巴特沃茲濾波器具有通帶內(nèi)最大平坦的振幅特性。三階巴特沃茲低通濾波器由前、后兩級組成,前級由R1、R2、C1、C3、U1A構(gòu)成增益(K)為1的二階Sallen Key有源低通濾波電路,其截止頻率fc1和Q值分別如式(3)和式(4)所示。后級由R3、C2組成一階無源RC濾波器,其截止頻率fc2如式(5)所示:
(3)
(4)
(5)
式(4)中,K等于1。
在新型車載雷達(dá)天線艙開合系統(tǒng)中,為了提高控制的精度以及良好的過流保護(hù)性能,電動推桿的位移數(shù)據(jù)以及電動推桿電機(jī)電流的采集,不采用STM32F103ZGT6內(nèi)部的12位AD/C,而采用外部專用AD轉(zhuǎn)換芯片ADS8344。
ADS8344為8通道單端或者4通道差分輸入的16位AD轉(zhuǎn)換芯片,高達(dá)100 kHz的轉(zhuǎn)換速率以及84dB的信噪比。ADS8344通過SPI接口與STM32F103ZGT6連接,只需5根控制信號線,分別為DIN、BUSY、DOUT、CS、DCLK,大大簡化了電路設(shè)計工作。AD轉(zhuǎn)換電路如圖5所示。
圖5 AD轉(zhuǎn)換電路
觸摸顯示屏主要用來控制天線艙、天線等部件的打開、關(guān)閉動作,同時實時顯示左右電動推桿的位移、電流、工作狀態(tài)以及故障代碼等信息??紤]到電阻屏需要校準(zhǔn)的問題,給使用帶來不便,因此,車載雷達(dá)天線艙開合系統(tǒng)的觸摸顯示屏采用800×480的TFT電容觸摸屏,與電阻觸摸屏相比,電容式觸摸屏具有耐磨損、壽命長、用戶使用時維護(hù)成本低,且電容觸摸屏在生產(chǎn)后只需要一次或者完全不需要校正等特點(diǎn)。STM32F103ZGT6通過FSMC接口與電容觸摸屏連接,這樣微處理器就可以像讀寫外部存儲器一樣來讀寫電容觸摸屏,大大提高了程序的運(yùn)行效率。
在理想狀態(tài)下,微處理器輸出兩路頻率和占空比固定的PWM信號時,左、右電動推桿將以相同的速度勻速運(yùn)行。實際上,雖然左、右電動推桿采用的是同一型號的電機(jī),但電機(jī)個體存在一定的差異,且左、右電動推桿的受力情況并不一定相同,導(dǎo)致左、右電動推桿的實際運(yùn)行速度存在差異,這個差異可能不是特別明顯,但經(jīng)過時間的積累,累計誤差將會較大,最終可能導(dǎo)致天線艙結(jié)構(gòu)變形,甚至損壞。
PID算法具有原理簡單、易于實現(xiàn)、適用面廣、各控制參數(shù)相互獨(dú)立等特點(diǎn),在自動控制中廣泛應(yīng)用。應(yīng)用較多的有增量式算法和位置式算法。位置式PID算法的輸出與整個控制的過去狀態(tài)有關(guān),用到了誤差的累加,因此位置式PID算法的累積誤差相對來說較大,位置式PID算法更適用于執(zhí)行機(jī)構(gòu)不帶積分部件的對象,如電液伺服閥等。由于增量式PID算法的輸出只與當(dāng)前拍和前兩拍的誤差有關(guān),且輸出的是控制量增量,并無積分作用,如果控制系統(tǒng)出現(xiàn)故障,由于執(zhí)行機(jī)構(gòu)本身有記憶功能,可仍保持原位,誤動作影響較小,適用于執(zhí)行機(jī)構(gòu)帶積分部件的對象。
根據(jù)電動推桿和系統(tǒng)的特性,新型車載雷達(dá)開合系統(tǒng)的控制算法采用增量式PID[10]控制算法,其控制原理如圖6所示。
圖6 PID控制原理
圖6中,r(k)為設(shè)定的控制量,即正常情況下PWM信號的占空比,u1(k)和u2(k)分別為左、右電動推桿的實際控制量,u1(k)=r(k)+u(k),u2(k)=r(k)-u(k),y1(k)和y2(k)分別為左、右電動推桿的位移量,e(k) 為左、右電動推桿的位移差,e(k)=y1(k)-y2(k),u(k)為PID調(diào)節(jié)器的輸出。
在本車載雷達(dá)天線倉開合系統(tǒng)中,控制的最終目的是要使左、右電動推桿的實時位移差e(k)到達(dá)預(yù)定的值,該預(yù)定的值即為在機(jī)械安裝時,左、右電動推桿的安裝公差。該公差可以在系統(tǒng)安裝完成后,進(jìn)行實際測量,并將該參數(shù)寫入控制程序,在程序中進(jìn)行標(biāo)定。
控制算法流程[11]如圖7所示,其中e(k)為當(dāng)前誤差,e(k-1)為上一次誤差,e(k-2)為上上一次誤差。
圖7 算法流程
PID控制算法具體程序如下:
int dtIncPIDCalc(PID *sptr,int NextPoint)
{
register int iError,iIncpid;
//當(dāng)前誤差
iError = sptr->SetPoint-NextPoint;
//增量計算
iIncpid= (sptr->Proportion*iError)-(sptr->Integral*sptr->LastError)+(sptr->Derivative*sptr->PrevError);
//誤差更新,用于下次計算
sptr->PrevError = sptr->LastError;
sptr->LastError = iError;
//返回增量值
return(iIncpid);
}
void PID_Control(unsigned char Status)
{
int dtpwm,dTotal,Lpwm,Rpwm;
//左、右推桿的固有安裝誤差,單位:mm
dSPEED.SetPoint = -2;
//左、右推桿的位移差
dTotal = Displacements_L -Displacements_R;
dtpwm = dtIncPIDCalc(&dSPEED,dTotal);
//基準(zhǔn)速度+差分速度
Lpwm = Speed+dtpwm;
if(Lpwm>100)
{
Lpwm = 100;
}
else if(Lpwm<30)
{
Lpwm = 30;
}
//基準(zhǔn)速度-差分速度
Rpwm = Speed-dtpwm;
if(Rpwm>SetSpeed)
{
Rpwm = SetSpeed;
}
else if(Rpwm<30)
{
Rpwm = 30;
}
switch(Status)
{
//天線艙打開
case 0x0F:
//修改占空比
TIM8->CCR1=Rpwm;
TIM8->CCR2=Lpwm;
break;
//天線艙關(guān)閉
case 0xF0:
//修改PWM占空比
TIM8->CCR1=Lpwm;
TIM8->CCR2=Rpwm;
break;
default:
break;
}
return;
}
控制程序采用“基準(zhǔn)速度±差分速度”的控制思想,即控制軟件接收到打開或者關(guān)閉天線艙的指令后,其速度Speed按照斜線規(guī)律不斷增加,直至達(dá)到最大值,然后將最大值作為基準(zhǔn)速度,開始運(yùn)動。在運(yùn)動的過程中,對左、右電動推桿的位移進(jìn)行采集并進(jìn)行減法運(yùn)算,得到的位移差dTotal作為PID控制器的輸入量,送入DIP控制器,DIP控制器的輸出量dtpwm作為差分速度,左電動推桿的控制量Lpwm = Speed+dtpwm,右電動推桿的控制量Rpwm = Speed-dtpwm。將控制量Lpwm和Rpwm限幅后,賦值給TIM8的CCR1和CCR2寄存器,從而改變PWM信號的占空比,調(diào)節(jié)左、右電動推桿的速度,使左、右電動推桿的位移差接近左、右推桿的固有安裝誤差。
PID控制算法具有非常強(qiáng)的靈活性,在實際應(yīng)用中,PID算法的難點(diǎn)并不是編程,而是控制器的比例(P)、積分(I)和微分(D)3個參數(shù)的確定,特別是在對電機(jī)的控制過程中,要求系統(tǒng)運(yùn)行是穩(wěn)定的,在負(fù)載變化時,被控制量應(yīng)能迅速、平穩(wěn)地被跟蹤、控制。在確定PID控制器參數(shù)時,可以根據(jù)控制器的參數(shù)與系統(tǒng)動態(tài)性能和穩(wěn)態(tài)性能之間的定性關(guān)系,用實驗的方法來調(diào)節(jié)控制器的參數(shù)。新型車載雷達(dá)天線艙開合系統(tǒng)PID算法的3個參數(shù),通過實驗的方法,最終確定為P=10,I=2,D=4。
為了驗證新型車載雷達(dá)天線艙開合系統(tǒng)的性能,在系統(tǒng)安裝完成以及控制程序調(diào)試完成后進(jìn)行了測試,主要測試系統(tǒng)開、合時間以及打開、關(guān)閉天線艙動作的過程中,左右電動推桿的最大位移差。新型車載雷達(dá)天線艙開合系統(tǒng)的測試數(shù)據(jù)如表1所示。
表1 測試數(shù)據(jù)
從表1的測試數(shù)據(jù)來看,打開天線艙的時間比關(guān)閉天線艙的時間要長,主要是因為在打開天線艙的時候,電動推桿要克服天線艙頂蓋的重力作用做功,而在關(guān)閉天線艙的時候,由于天線艙頂蓋的重力作用,加速了天線艙關(guān)閉的速度,減少了關(guān)閉動作所需要的時間。如果采用更大功率、更小減速比的電動推桿,可以有效的減少打開、關(guān)閉天線艙的時間。
從打開和關(guān)閉過程中,左右推桿的最大位移差來看,位移誤差均小于1 mm,說明高精度的數(shù)據(jù)采集為精確控制提供了重要前提,同時PID算法以及“基準(zhǔn)速度±差分速度”的程序設(shè)計思想對系統(tǒng)的精確控制起到了決定性的作用。
本車載雷達(dá)天線艙開合系統(tǒng)吸收了傳統(tǒng)車載雷達(dá)天線艙開合系統(tǒng)的優(yōu)點(diǎn),改變了傳統(tǒng)開合系統(tǒng)中電動推桿的驅(qū)動方式,并增加了鉸鏈直線位移傳感器,融入了PID控制算法,通過反復(fù)試驗,確定了PID控制算法的比例(KP)、積分(KI)和微分(KD)3個參數(shù),使車載雷達(dá)天線艙在打開和關(guān)閉的過程中,左、右電動推桿的實時位移誤差始終保持在1 mm以內(nèi),且整體運(yùn)行非常平穩(wěn),無明顯的噪聲,并具有完善的保護(hù)功能。該系統(tǒng)具有較高的實用價值,在民用和軍用領(lǐng)域有著廣泛的應(yīng)用前景。