數(shù)字運動控制方法可在機(jī)器人系統(tǒng)中精確調(diào)節(jié)電動機(jī)和執(zhí)行器驅(qū)動末端執(zhí)行器的運動和定位。然而,在實踐中,開發(fā)基于傳統(tǒng)比例積分(PI)控制器的運動控制系統(tǒng)的工程師通常會發(fā)現(xiàn)他們的項目因為難以調(diào)整敏感的控制器參數(shù)而停滯不前。更有效的方法可降低調(diào)諧復(fù)雜度,同時在各種工作條件下提供穩(wěn)定的性能。
低成本,高性能微控制器推動了數(shù)字電機(jī)控制的迅速發(fā)展,能夠廣泛應(yīng)對通過軟件控制的操作條件。通過在軟件中設(shè)計PI控制器,工程師可以創(chuàng)建具有最少數(shù)量組件的高響應(yīng)電機(jī)控制系統(tǒng)。然而,在實踐中,找到最佳的PI控制器參數(shù)集給開發(fā)人員帶來了重大挑戰(zhàn)。很多時候,工程師發(fā)現(xiàn)每個電機(jī)的獨特特性(以及相關(guān)的電機(jī)控制系統(tǒng)實現(xiàn))使確保電機(jī)在不同速度和負(fù)載下穩(wěn)定運行的任務(wù)變得非常復(fù)雜。因此,電機(jī)控制開發(fā)團(tuán)隊發(fā)現(xiàn)自己被迫擴(kuò)展項目進(jìn)度并解決微妙的調(diào)整問題。
PI控制器挑戰(zhàn)
傳統(tǒng)PI控制器使用生成的控制回路用于減少某些過程中預(yù)期值和測量值之間誤差的輸出。在控制回路的串行形式(圖1)中,Kb設(shè)置PI控制器的零點,而Ka設(shè)置閉環(huán)系統(tǒng)響應(yīng)的帶寬。
圖1:在傳統(tǒng)PI控制器的串行形式中,工程師必須找到其零(Kb)和帶寬(Ka)的最佳設(shè)置 - 經(jīng)常延遲運動控制項目的過程。 (圖像來源:德州儀器)
在電機(jī)控制應(yīng)用中,PI控制器優(yōu)化的復(fù)雜性變得更加復(fù)雜,因為工程師需要控制電流來控制速度。在典型的電機(jī)速度控制回路中,工程師將使用兩個PI控制器 - 一個在內(nèi)環(huán)中控制電機(jī)電流,另一個在外環(huán)中控制電機(jī)速度(圖2)。當(dāng)電機(jī)速度低于指令值時,外環(huán)需要更多電流;內(nèi)環(huán)糾正電機(jī)電流以匹配所需的值。
圖2:典型的速度控制回路使用兩個PI控制器來控制電機(jī)電流和速度本身,從而使尋找最佳控制器參數(shù)的任務(wù)更加復(fù)雜。 (圖像來源:德州儀器)
實際上,在整個運行條件下實現(xiàn)穩(wěn)定的性能變成了一項復(fù)雜,耗時的任務(wù)。工程師需要調(diào)整多個參數(shù)以針對特定速度和負(fù)載工作點調(diào)整控制器。然而,特定的調(diào)整解決方案可能只能解決非常小的速度和負(fù)載范圍。因此,工程師可能會發(fā)現(xiàn)具有不同速度和負(fù)載點的高動態(tài)系統(tǒng)可能需要為每個點調(diào)整PI控制器,從而進(jìn)一步延遲項目進(jìn)度。
高級控制算法
TI InstaSPIN-MOTION解決方案為數(shù)字電機(jī)控制設(shè)計提供了一種簡單明了的方法。作為InstaSPIN-MOTION的核心,LineStream Technologies的SpinTAC可在系統(tǒng)的動態(tài)速度,位置和負(fù)載范圍內(nèi)提供強(qiáng)大的控制。這種專有方法提供先進(jìn)的速度和位置控制,并具有主動干擾抑制控制(ADRC)。
ADRC適應(yīng)電機(jī)模型的高度不確定性。它將未建模的電機(jī)動力學(xué)和系統(tǒng)的不良行為視為可以估計,拒絕或糾正的干擾。這允許SpinTAC控制器通過一個調(diào)整參數(shù)(稱為帶寬)控制各種位置,速度和負(fù)載,這些參數(shù)決定了系統(tǒng)的剛度,并決定了系統(tǒng)拒絕干擾的積極程度。
當(dāng)設(shè)計人員通過這種調(diào)諧方法增加控制器的帶寬時,對扭矩干擾的響應(yīng)變得更快并且具有更小的過沖(圖3)。如果帶寬設(shè)置得太高,則當(dāng)從系統(tǒng)中消除扭矩干擾時,系統(tǒng)開始圍繞目標(biāo)速度振蕩。設(shè)計者只需找到帶寬,當(dāng)扭矩消除時,該帶寬導(dǎo)致目標(biāo)速度值附近的最小振蕩。
圖3:SpinTAC調(diào)整只需要設(shè)置一個參數(shù) - 帶寬。在該示例中,理想帶寬是40rad/s。在該帶寬處,當(dāng)扭矩被移除時,響應(yīng)在目標(biāo)速度附近表現(xiàn)出最小的振蕩。 (圖片來源:德州儀器公司)
簡化開發(fā)
InstaSPIN-MOTION不是處理傳統(tǒng)PI控制器中優(yōu)化多個參數(shù)的復(fù)雜性,而是讓工程師只需設(shè)置單帶寬參數(shù)。與使用傳統(tǒng)PI控制器的設(shè)計相比,這種簡單而強(qiáng)大的方法可以顯著縮短開發(fā)時間。同時,這種方法提供的解決方案具有更少的過沖和更快的建立時間,從而最終降低了最終應(yīng)用的功耗(圖4)。
圖4:響應(yīng)應(yīng)用的扭矩干擾,InstaSPIN比傳統(tǒng)的PI控制器回路明顯更快地恢復(fù)。 (圖片來源:德州儀器)
TI進(jìn)一步提供了一個結(jié)合了軟件和硬件的廣泛的開發(fā)和部署平臺。 TI的MotorWare產(chǎn)品包括特定于器件的驅(qū)動器和支持軟件,以及完整的系統(tǒng)示例和技術(shù)培訓(xùn)。
為了更快地部署這些設(shè)計,TI提供了包含InstaSPIN-MOTION庫的C2000 Piccolo MCU的專用版本在片上ROM和Flash中,無需額外電荷(圖5)?;?0 MIPS C28x處理內(nèi)核,C2000 InstaSPIN TMS320F28069M MCU將片上InstaSPIN-MOTION電機(jī)控制軟件與完整的片上外設(shè)相結(jié)合,包括一個16通道模數(shù)轉(zhuǎn)換器(ADC),用于采集電機(jī)控制算法中使用的數(shù)據(jù)(例如,參見圖5右側(cè)的ADC輸入)。
圖5:德州儀器(TI)的TMS320F28069M MCU采用片上InstaSPIN-MOTION軟件庫,進(jìn)一步簡化了運動控制系統(tǒng)的開發(fā)。 (圖像來源:德州儀器)
TMS320F28069M還具有8個片上增強(qiáng)型脈沖寬度調(diào)制器(ePWM)模塊,提供16個PWM通道。因此,工程師可以使用最少的附加組件快速設(shè)計完整的電機(jī)控制系統(tǒng)。 MCU的PWM可以直接驅(qū)動專用隔離柵極驅(qū)動器,如TI ISO5851(圖6)。 ISO5851具有CMOS輸入,使微控制器能夠直接驅(qū)動它們 - 與典型的基于光耦合器的柵極驅(qū)動器不同,后者需要外部電流驅(qū)動器和偏置電路來提供輸入控制信號。
圖6:與高度集成的微控制器(如TI TMS320F28069M)配合使用,CMOS隔離柵極驅(qū)動器(如TI ISO5851)使設(shè)計人員能夠創(chuàng)建具有最少數(shù)量附加組件的復(fù)雜電機(jī)控制系統(tǒng)。 (圖像來源:德州儀器)
在軟件方面,由于SpinTAC控制器算法,電機(jī)控制實現(xiàn)同樣簡單明了。工程師以最少的步驟配置SpinTAC速度控制,包括適當(dāng)?shù)念^文件(例如,spintac_velocity.h)以將SpinTAC軟件組件帶入應(yīng)用程序。 (此示例解決了SpinTAC速度控制,但SpinTAC位置控制配置遵循類似的方法。)
然后開發(fā)人員在主源文件中聲明全局結(jié)構(gòu):
ST_VelCtl_t stVelCtl;//SpinTAC速度控制器對象
ST_VELCTL_Handle stVelCtlHandle;//SpinTAC速度控制器句柄
在應(yīng)用程序的主要功能中,開發(fā)人員會將配置變量初始化為其默認(rèn)值。對于許多電機(jī),此配置通常包括以下變量:
復(fù)制
ST_VelCtl_t stVelCtl;//SpinTAC速度控制器對象
ST_VELCTL_Handle stVelCtlHandle;//SpinTAC速度控制器句柄
在應(yīng)用程序的主要功能中,開發(fā)人員會將配置變量初始化為其默認(rèn)值。對于許多電機(jī),此配置通常包括以下變量:
//初始化SpinTAC速度控制器組件stVelCtlHandle = STVELCTL_init(& stVelCtl,sizeof(stVelCtl));
//設(shè)置PU中的最大電流
_iq maxCurrent_PU = _IQ(USER_MOTOR_MAX_CURRENT/USER_IQ_FULL_SCALE_CURRENT_A);
//速度控制器的實例
STVELCTL_setAxis(stVelCtlHandle,ST_AXIS0);
//采樣時間[s],(0,1)
STVELCTL_setSampleTime_sec(stVelCtlHandle,_IQ(ST_SPEED_SAMPLE_TIME));
//系統(tǒng)慣性上限(0,127.9999)和下限(0,SgiMax)限制[PU/(pu/s ^ 2)] STVELCTL_setInertiaMaximums(stVelCtlHandle,_IQ(10.0),_IQ(0.001));
//系統(tǒng)控制信號高(0,OutMax)和低[OutMin,0]限制[PU] STVELCTL_setOutputMaximums(stVelCtlHandle,maxCurrent_PU,-maxCurrent_PU);
//系統(tǒng)最大值( 0,1.0]和最小[-1.0,0]速度[pu/s] STVELCTL_setVelocityMaximums(stVelCtlHandle,_IQ(1.0),_ IQ(-1.0));
//系統(tǒng)上限(0,0.2/(T * 20)]和帶寬標(biāo)度的下限[0,BwScaleMax]限制STVELCTL_setBandwidthScaleMaximums(stVelCtlHandle,
_IQ24((0.2)/(ST_SPEED_SAMPLE_TIME * 20.0)),_ IQ24(0.01));
//系統(tǒng)慣性[PU/(pu/s ^ 2)],[SgiMin,SgiMax]
STVELCTL_setInertia(stVelCtlHandle,_IQ(USER_SYSTEM_INERTIA));
//控制器帶寬比例[BwMin,BwMax]
ST VELCTL_setBandwidthScale(stVelCtlHandle,_IQ24(USER_SYSTEM_BANDWIDTH_SCALE));
//最初未啟用ST_VelCtl
STVELCTL_setEnable(stVelCtlHandle,false);
//最初ST_VelCtl未重置
STVELCTL_setReset(stVelCtlHandle,false);
在運行期間,主中斷服務(wù)程序?qū)⒏滤俣葏⒖迹铀俣葏⒖己退俣确答?,然后以適合該部件的抽取率(在ISR_TICKS_PER_SPINTAC_TICK中指定)調(diào)用SpinTAC速度控制功能。
< p> 復(fù)制
CTRL_Obj * obj =(CTRL_Obj *)ctrlHandle;//獲取指向CTRL對象的指針
//獲取pu/s中的機(jī)械速度
_iq speedFeedback = EST_getFm_pu(obj-> estHandle);//獲取pu/s中的機(jī)械速度//更新速度參考
STVELCTL_setVelocityReference(stVelCtlHandle,
STVELMOVE_getVelocityReference(stVelMoveHandle));
//更新加速參考
STVELCTL_setAccelerationReference(stVelCtlHandle,
STVELMOVE_getAccelerationReference(stVelMoveHandle));
//更新速度反饋STVELCTL_setVelocityFeedback(stVelCtlHandle,speedFeedback);//運行SpinTAC速度控制器STVELCTL_run(stVelCtlHandle);
//從SpinTAC速度控制器獲取扭矩參考
iqReference = STVELCTL_getTorqueReference(stVelCtlHandle);
//設(shè)置來自SpinTAC速度控制的Iq參考
CTRL_setIq_ref_pu(ctrlHandle,iqReference);
開發(fā)人員可以使用TI C2000 Piccolo F28069M LaunchPad快速啟動電機(jī)控制開發(fā),該產(chǎn)品具有所有硬件和功能?;贔2806x微處理器開發(fā)應(yīng)用程序所需的軟件。 TI還提供完整的電機(jī)控制解決方案套件,如高壓電機(jī)控制套件,該套件全面介紹了對最常見類型的高壓三相電機(jī)的控制,包括交流感應(yīng)(ACI),無刷直流(BLDC)和永磁同步電機(jī)(PMSM)。 TI還提供補(bǔ)充套件,如BLDC電機(jī)套件,其中包括帶內(nèi)置霍爾效應(yīng)傳感器的無刷直流電機(jī),可直接與電機(jī)控制套件軟件配合使用。
結(jié)論
使用傳統(tǒng)PI控制器的傳統(tǒng)電機(jī)控制設(shè)計由于調(diào)整這些控制器的復(fù)雜過程而可能面臨嚴(yán)重的延遲。 TI的InstaSPIN-MOTION內(nèi)置于專用微控制器中,可將調(diào)諧功能簡化為單一參數(shù),為設(shè)計人員提供簡單性和穩(wěn)定性的組合,使其成為機(jī)器人系統(tǒng)等多種狀態(tài)轉(zhuǎn)換或體驗動態(tài)變化等應(yīng)用的理想選擇。
-
mcu
+關(guān)注
關(guān)注
146文章
17008瀏覽量
350350 -
控制器
+關(guān)注
關(guān)注
112文章
16212瀏覽量
177454 -
電動機(jī)
+關(guān)注
關(guān)注
74文章
4101瀏覽量
96034
發(fā)布評論請先 登錄
相關(guān)推薦
評論