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