“自抗扰控制器”初探之InstaSPIN-MOTION
對于馬達(dá)控制,標(biāo)準(zhǔn)的PI速度控制器具有許多內(nèi)在缺陷:
1)需要調(diào)節(jié)多個(gè)參數(shù),這些參數(shù)又相互依賴,從而可能存在多組參數(shù)解,參數(shù)需要通過大量試驗(yàn)才能確定,參數(shù)整定較為困難;
2)一組PI參數(shù)對應(yīng)的轉(zhuǎn)速和負(fù)載運(yùn)行范圍非常小,需要針對不同的轉(zhuǎn)速和負(fù)載點(diǎn),設(shè)置不同的PI參數(shù)。
TI的InstaSPIN-MOTION內(nèi)部集成了SpinTAC控制器,可以解決上述問題。SpinTAC使用了自抗擾控制器(ADRC,Active Disturbance Rejection Control),自抗擾控制器能夠?qū)ο到y(tǒng)擾動進(jìn)行實(shí)時(shí)估算并補(bǔ)償,其所要整定的參數(shù)只有一個(gè)即帶寬,一旦整定,控制器可以工作在較寬的轉(zhuǎn)速和負(fù)載范圍內(nèi)。
觀察TI提供的Demo程序,可以發(fā)現(xiàn),ADC中斷中,在FOC運(yùn)行之前運(yùn)行了SpinTAC控制。
進(jìn)入ST_runVelCtl()函數(shù),可以發(fā)現(xiàn)其輸出就是轉(zhuǎn)矩參考值,即Iq參考值,作為q軸電流PI調(diào)節(jié)器的輸入。
void ST_runVelCtl(ST_Handle handle, CTRL_Handle ctrlHandle) {_iq speedFeedback, iqReference;ST_Obj *stObj = (ST_Obj *)handle;CTRL_Obj *ctrlObj = (CTRL_Obj *)ctrlHandle;// Get the mechanical speed in puspeedFeedback = EST_getFm_pu(ctrlObj->estHandle);// Run the SpinTAC Controller// Note that the library internal ramp generator is used to set the speed referenceSTVELCTL_setVelocityReference(stObj->velCtlHandle, TRAJ_getIntValue(ctrlObj->trajHandle_spd));STVELCTL_setAccelerationReference(stObj->velCtlHandle, _IQ(0.0)); STVELCTL_setVelocityFeedback(stObj->velCtlHandle, speedFeedback);STVELCTL_run(stObj->velCtlHandle);// select SpinTAC Velocity ControlleriqReference = STVELCTL_getTorqueReference(stObj->velCtlHandle);// Set the Iq reference that came out of SpinTAC Velocity ControlCTRL_setIq_ref_pu(ctrlHandle, iqReference); }參考文獻(xiàn):《InstaSPIN Projects and Labs User’s Guide》,TI文檔。
總結(jié)
以上是生活随笔為你收集整理的“自抗扰控制器”初探之InstaSPIN-MOTION的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现代制造技术产品设计与柔性制造系统的预测
- 下一篇: 基于Simulink与SimMencha