本文緊接上文,詳細(xì)講解LPC553x雙伺服電機(jī)控制方案的演示環(huán)境。
4.演示操作
4.1.項(xiàng)目文件結(jié)構(gòu)
項(xiàng)目中源文件(*.c)和頭文件(*.h)的總數(shù)較多。因此,我們只詳細(xì)介紹關(guān)鍵項(xiàng)目文件,其余的將被分組描述。
主工程文件夾分為以下目錄:
oardsdual_servo - 包含硬件板的初始化配置文件。
oardsdual_servoiar - 包含編譯器所需的必要文件。
oardsdual_servomc_drivers - 包含各模塊的驅(qū)動文件。
oardsdual_servomotor_control - 包含電機(jī)控制算法文件和狀態(tài)機(jī)文件。
oardsdual_servoparameter - 包含參數(shù)頭文件和配置文件。
CMSIS - Cortex微控制器軟件接口標(biāo)準(zhǔn)。
deviceLPC55S36 - LPC55S36軟件開發(fā)工具包。
FM_ControlPage - FreeMASTER控制頁面文件。
middlewarefreemaster - FreeMASTER支持文件。
middlewareCM33F_RTCESL_4.6.2_IAR - 實(shí)時控制嵌入式軟件電機(jī)控制和電源轉(zhuǎn)換庫。
文件夾中的文件:
M1_statemachine.c和M1_statemachine.h包含當(dāng)應(yīng)用程序處于特定狀態(tài)或狀態(tài)轉(zhuǎn)換時執(zhí)行的軟件例程。
State_machine.c和state_machine.h包含應(yīng)用程序狀態(tài)機(jī)結(jié)構(gòu)定義,并管理應(yīng)用程序狀態(tài)和應(yīng)用程序狀態(tài)轉(zhuǎn)換之間的切換。
Motor_structure.c和motor_structure.h包含專門用于執(zhí)行電機(jī)控制算法的結(jié)構(gòu)定義和子程序(矢量控制算法、位置和速度估計算法、速度控制回路)。
Motor_def.h包含主控和故障結(jié)構(gòu)定義。
4.2電機(jī)參數(shù)
本文中使用的電機(jī)是兩個無刷直流伺服電機(jī),帶1000線的正交編碼器。下表提供了電機(jī)的基本參數(shù):
注:本文中的應(yīng)用參數(shù)(位置、速度和電流控制器)是在電機(jī)軸上安裝有塑料環(huán)的情況下設(shè)置的,使用參數(shù)空軸運(yùn)行可能會出現(xiàn)速度振蕩。
4.3建立雙伺服演示
硬件需求:
LPC55S36-EVK板 REV.B
兩個FRDM-MC-LVPMSM電機(jī)驅(qū)動板
兩個24V伺服電機(jī)
一根Micro USB數(shù)據(jù)線
注意:請確保電源適配器在所有步驟之前關(guān)閉。使用FRDM-MC-LVPMSM板為EVK板供電時,板上的TPS54060 DC-DC轉(zhuǎn)換器會產(chǎn)生電壓毛刺。因此推薦將EVK板上的JP71跳線帽斷開,并使用EVK板上的5V引腳為電機(jī)編碼器供電以獲得更好的效果。
要建立雙伺服演示,請遵循以下步驟:
如圖所示,將LPC55S36-EVK和FRDM-MC-LVPMSM電機(jī)驅(qū)動板通過Arduino接口連接在一起,并連接電機(jī)相線與編碼器接口。
接通24V適配器,為電機(jī)驅(qū)動板供電。
將LPC55S36-EVK與PC間通過USB接口連接。
在軟件包中打開“FM_DualServo.pmp”。(FREEMATER版本不應(yīng)低于3.1.2)
選擇Project->Options,配置串口通信屬性與工程二進(jìn)制文件地址。
點(diǎn)擊GO!按鈕,即可啟用PC與LPC55S36-EVK之間的FreeMASTER通信,如下圖所示。
打開DualServo頁面。
單擊Start按鈕啟用演示。
通過單擊控制頁面上的其他按鈕來操作演示。
4.4參數(shù)配置
如果用戶伺服電機(jī)的參數(shù)與本演示中默認(rèn)電機(jī)的參數(shù)不同,則應(yīng)重新配置參數(shù)以匹配不同的電機(jī)。
打開頭文件M1_Params.h或M2_Params.h,將電機(jī)本體的基本參數(shù)輸入到對應(yīng)的位置。
轉(zhuǎn)速環(huán)、位置環(huán)的PI控制參數(shù)需要在文件中手動輸入并調(diào)試,而電流環(huán)被等效成二階控制系統(tǒng),可以通過設(shè)置衰減、帶寬頻率的方式自動生成對應(yīng)的PI控制系數(shù)。而轉(zhuǎn)速、電壓的使用IIR濾波器,可以手動輸入濾波器的截止頻率進(jìn)行調(diào)試。具體的控制器、濾波器參數(shù)會由公式計算得出并在程序運(yùn)行時賦值到相關(guān)的結(jié)構(gòu)體變量中執(zhí)行。
4.5實(shí)驗(yàn)性能演示
首先,下面所有的實(shí)驗(yàn)結(jié)果都是在電機(jī)負(fù)載輕塑料環(huán)的情況下進(jìn)行測試的,并且所有的實(shí)驗(yàn)波形與數(shù)據(jù)都來自FreeMASTER。
上圖顯示了電機(jī)啟動到2500rpm時的速度和電流波形。
上方的顯示窗口中紅線是速度給定,綠線是電機(jī)實(shí)際轉(zhuǎn)速,下方串口中紅色線是轉(zhuǎn)矩電流給定,藍(lán)線是實(shí)際轉(zhuǎn)矩電流。我們可以看到它可以在0.13s內(nèi)加速到2500轉(zhuǎn),超調(diào)非常小,而且轉(zhuǎn)矩電流的控制響應(yīng)也很迅速。
上圖顯示了位置給定為10Hz正弦波且運(yùn)動范圍為180°機(jī)械角時的位置響應(yīng)。我們可以看到轉(zhuǎn)子位置(綠線)可以很好地跟蹤給定值(紅線)的變化,最大誤差(藍(lán)線)約為2°。
上圖中頂部波形顯示速度響應(yīng),底部波形顯示位置響應(yīng)。紅線是轉(zhuǎn)速與位置給定,綠線是實(shí)際響應(yīng)值,藍(lán)線表示它們之間的誤差。設(shè)置電機(jī)反轉(zhuǎn)180°位置給定的命令后,大約需要0.1秒就能到達(dá)預(yù)定位置。可以看到動態(tài)響應(yīng)的誤差很小,靜態(tài)響應(yīng)也很穩(wěn)定。
如果我們先設(shè)定一個按照周期性變化的變量x,兩個電機(jī)的位置給定分別設(shè)置為sin(x)與cos(x),然后將兩個電機(jī)的轉(zhuǎn)子位置分別作為橫坐標(biāo)與縱坐標(biāo),則坐標(biāo)點(diǎn)的理想軌跡會是一個圓形,圓形的邊沿越平滑意味著位置控制越精準(zhǔn)。在FreeMASTER控制頁面上點(diǎn)擊“X-Y Graph ON”按鍵即可開啟演示,實(shí)驗(yàn)結(jié)果如上圖所示。
4.6CPU負(fù)荷和內(nèi)存使用
以下信息適用于使用IAR Embedded WorkbenchIDE v8.50.9構(gòu)建的演示應(yīng)用程序,優(yōu)化等級為高,開啟Flash cache與預(yù)取指功能。表中顯示內(nèi)存使用和CPU負(fù)荷。內(nèi)存使用是從.map文件(IAR IDE)計算的,包括在RAM中分配的4KB FreeMASTER記錄器緩沖區(qū)。使用SysTick定時器測量CPU負(fù)荷??焖侪h(huán)周期數(shù)是在進(jìn)入ADC中斷后立即使能Systick計數(shù)器,并在快速環(huán)程序執(zhí)行結(jié)束后停止計數(shù),將兩次計數(shù)器的差值用于計算CPU負(fù)載。需要注意的是,表中的CPU總負(fù)載一欄顯示的是運(yùn)行一段時間后統(tǒng)計的兩個電機(jī)占用的負(fù)載的最大值之和,反映了最惡劣條件下的運(yùn)行情況。
在此情況下,它適用于16kHz的快環(huán)頻率和2kHz的慢環(huán)(速度和位置環(huán))頻率。
具體工程代碼實(shí)現(xiàn)和更多詳細(xì)細(xì)節(jié)請參考以下資料:
LPC553x參考手冊:LPC553xRM
應(yīng)用筆記:MCUXpresso SDK 3-Phase PMSM Control(LPC). (3PPMSMCLPCUG)
應(yīng)用筆記:Dual Servo Motor Demo on LPC553x/LPC55S3x
審核編輯:劉清
-
微控制器
+關(guān)注
關(guān)注
48文章
7844瀏覽量
153348 -
LPC
+關(guān)注
關(guān)注
8文章
137瀏覽量
78109 -
伺服電機(jī)控制
+關(guān)注
關(guān)注
0文章
17瀏覽量
7644 -
直流伺服電機(jī)
+關(guān)注
關(guān)注
4文章
55瀏覽量
10769
原文標(biāo)題:LPC553x雙伺服電機(jī)控制方案詳解(下)
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
LPC553x MCU具有硬件I3C外設(shè),“PUR” 上拉電阻控制引腳是否僅提供100引腳封裝?
方案:雙軸伺服電機(jī)驅(qū)動控制器AGV、AMR專用雙伺服電機(jī)驅(qū)動控制器帶
伺服電機(jī)靜電防護(hù)完整方案

伺服電機(jī)原理及控制應(yīng)用
AM243x/AM64x單芯片伺服電機(jī)控制實(shí)現(xiàn)和基準(zhǔn)測試

評論