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