基于ADUC7026的PID算法在基站功率控制中的應(yīng)用
圖5 改變期望輸出功率后的變化曲線(位置式PID算法)
圖6 增量式PID算法流程圖
對(duì)應(yīng)圖6算法流程圖,PID控制部分實(shí)現(xiàn)程序如下:
ActualOutputPower = 25*(float)ADCForwardPowerResult/1024-43;
Error = SetOutputPower - ActualOutputPower;
DeltaAttenuation = Proportion*(Error-LastError) + Integral*Error +
Derivative*(Error-2*LastError + PrevError);
Attenuation = DeltaAttenuation + LastAttenuation;
DACVoltageValue = (float)(Attenuation*3/31 + 3.887);
SetDACValue = (unsigned int)(DACVoltageValue*4096/2.5);
PrevError = LastError;
LastError = Error;
LastAttenuation = Attenuation;
這里,DACVoltageValue的值由可調(diào)衰減器的傳遞函數(shù)決定,實(shí)際程序中給出的參數(shù)是經(jīng)系統(tǒng)線性校正后的參數(shù)。理想情況下,假設(shè)可調(diào)衰減器的傳遞函數(shù)為:衰減量=k*控制電壓+b,則DAC的輸出應(yīng)為式(8)所示。
(8)
圖7所示為采用增量式PID算法,在系統(tǒng)輸出功率為-1dBm時(shí),調(diào)整其輸出功率為-10dBm的實(shí)測(cè)曲線。
圖7 改變期望輸出功率后的變化曲線(增量式PID算法)
5.結(jié)論
由前面的測(cè)試結(jié)果可見(jiàn),在同樣的測(cè)試條件下,采用位置式PID算法的時(shí)候會(huì)出現(xiàn)過(guò)沖的情況,增量式控制雖然只是算法上作了一點(diǎn)改進(jìn),卻避免了這種情況的發(fā)生。且由于計(jì)算機(jī)輸出增量,所以誤動(dòng)作時(shí)影響小,必要時(shí)可用邏輯判斷的方法去掉。算式中不需要累加,控制增量 的確定僅與最近幾次的采樣值有關(guān),所以較容易通過(guò)加權(quán)處理而獲得比較好的控制效果。因此,建議采用增量式PID算法來(lái)實(shí)現(xiàn)基站功率的穩(wěn)定控制。
pid控制器相關(guān)文章:pid控制器原理
評(píng)論