循序漸進(jìn):進(jìn)行電機(jī)多軸速度和位置控制
我們是否想知道如何設(shè)計(jì)實(shí)時(shí)速度和位置控制應(yīng)用程序?在這篇文章中,我們將逐步展示如何使用 TI C2000? Piccolo? F2806x InstaSPIN-MOTION?在臺(tái)式測(cè)試設(shè)備(圖 1)上實(shí)現(xiàn)最佳雙軸速度和位置控制LaunchPad開(kāi)發(fā)套件。
圖 1. 15"x15" 臺(tái)式測(cè)試設(shè)備
不到 20 小時(shí),測(cè)試設(shè)備就畫(huà)出了正方形、三角形和圓形。
項(xiàng)目時(shí)間表 |
|
周一 2小時(shí) |
收到CNC測(cè)試設(shè)備表 |
周二 4個(gè)小時(shí) |
將伺服電機(jī)連接到 X 和 Y 平臺(tái) 使用 InstaSPIN-MOTION 軟件: · 識(shí)別慣性 · 調(diào)整速度和位置環(huán), · 優(yōu)化加速度和加加速度 |
周三 6個(gè)小時(shí) |
創(chuàng)建方形運(yùn)動(dòng)配置文件 |
周四 6個(gè)小時(shí) |
· 創(chuàng)建三角形運(yùn)動(dòng)配置文件 · 創(chuàng)建圓形運(yùn)動(dòng)配置文件 |
圖 2. 臺(tái)式測(cè)試設(shè)備創(chuàng)建運(yùn)動(dòng)曲線的時(shí)間表
第 1 步 - 將伺服電機(jī)連接到 X 和 Y 平臺(tái)
如果我們正在開(kāi)發(fā)多軸應(yīng)用程序,則需要設(shè)計(jì)自己的電路板。我們使用兩個(gè) TI InstaSPIN-MOTION LaunchPad 開(kāi)發(fā)套件邁出了第一步。LaunchPad 包括與兩個(gè) BoosterPack 接口的硬件,每個(gè) BoosterPack 都可以控制一個(gè)電機(jī),但這樣做的軟件框架仍在最終確定中,并將在未來(lái)版本的MotorWare ? 軟件中發(fā)布。
材料清單:
· 2 個(gè) C2000 Piccolo F2806x InstaSPIN-MOTION LaunchPad 開(kāi)發(fā)套件 ( LAUNCHXL-F28069M )
· 2 個(gè) DRV8301 電機(jī)驅(qū)動(dòng) BoosterPack ( BOOSTXL-DRV8301 )
· 2 帶編碼器的低壓伺服電機(jī) ( LVSERVOMTR )
· MotorWare軟件
我們使用 InstaSPIN-MOTION Position Plan Component 來(lái)創(chuàng)建和執(zhí)行 X 軸和 Y 軸的狀態(tài)轉(zhuǎn)換。使用兩個(gè) LaunchPad 開(kāi)發(fā)套件時(shí),位置計(jì)劃通過(guò) GPIO 進(jìn)行通信,這會(huì)引入少量延遲。當(dāng)我們?cè)O(shè)計(jì)自己的電路板時(shí),我們仍將運(yùn)行兩個(gè) Plan 組件,但它們將通過(guò)變量而不是通過(guò) GPIO 進(jìn)行通信,這將產(chǎn)生更精確的開(kāi)始。此外,我們將能夠通過(guò)單個(gè) TI C2000 Piccolo TMS320F28069M 微控制器控制兩個(gè)軸,這可以節(jié)省大量成本。
第 2 步 - 確定每個(gè)軸的系統(tǒng)慣量
慣性包括剛性耦合到電機(jī)軸的任何東西。它包括任何直接隨電機(jī)移動(dòng)的東西。對(duì)于 CNC 測(cè)試設(shè)備,X 軸與 Y 軸具有不同且獨(dú)立的慣性。
我們使用 InstaSPIN-MOTION 速度識(shí)別組件來(lái)識(shí)別慣性。我們?cè)O(shè)置每個(gè)階段,使其具有整個(gè)正向運(yùn)動(dòng)范圍,因?yàn)閼T性識(shí)別始終使電機(jī)沿正向旋轉(zhuǎn)。然后我們使用了 InstaSPIN-MOTION MotorWare Lab 12a 軟件,該軟件識(shí)別了慣性和摩擦。慣性值是 InstaSPIN-MOTION 位置控制器的輸入,它使用它來(lái)提供適當(dāng)?shù)呐ぞ匾允箲?yīng)用程序移動(dòng)。
這是 X 軸慣性識(shí)別過(guò)程的快速視頻。它移動(dòng)得很快,所以請(qǐng)仔細(xì)觀察!
第 3 步 – 調(diào)整控制器
使用稱為帶寬的單一增益同時(shí)調(diào)整速度和位置。每個(gè)軸都是獨(dú)立調(diào)整的。調(diào)整過(guò)程簡(jiǎn)單明了。使用 MotorWare Lab 13a 軟件,我們調(diào)整了帶寬,注入了干擾并評(píng)估了位置保持。重復(fù)此過(guò)程,直到系統(tǒng)受到干擾時(shí)軸在 0 速度下表現(xiàn)出良好的保持位置。我們將初始帶寬設(shè)置為 10 rad/s,然后手動(dòng)注入干擾。在此設(shè)置下,手臂很容易移動(dòng)。隨著我們?cè)黾訋挘苿?dòng)軸變得更加困難。在 40 rad/s 時(shí),測(cè)試設(shè)備工作臺(tái)的 X 軸很好地保持了該位置。
這是調(diào)整過(guò)程的視頻。
第 4 步 – 優(yōu)化加速和加加速度
然后我們著手優(yōu)化加速度和加加速度(加加速度是加速度的變化率)。梯形曲線用于優(yōu)化加速度,因?yàn)樵撉€忽略了加加速度。當(dāng)加速度緩慢增加時(shí),每個(gè)軸都被命令來(lái)回移動(dòng)。最佳加速發(fā)生在電機(jī)未能達(dá)到指令值之前。
一旦我們找到最佳加速度,我們就使用具有連續(xù)加加速度的 st 曲線優(yōu)化加加速度。調(diào)整了加加速度,使測(cè)試設(shè)備能夠以非常高的可靠性平穩(wěn)啟動(dòng)和停止。
第 5 步 – 創(chuàng)建方形運(yùn)動(dòng)曲線
讓測(cè)試設(shè)備畫(huà)一個(gè)正方形很容易——一次只移動(dòng)一個(gè)軸。為每個(gè)軸創(chuàng)建了一個(gè)位置計(jì)劃。在我們的配置中,X 軸是主軸。X 軸平面圖發(fā)出 Y 軸開(kāi)始移動(dòng)的信號(hào)。Y 軸計(jì)劃在其移動(dòng)完成時(shí)發(fā)出 X 信號(hào)。
|
X軸位置計(jì)劃: 1. 信號(hào) GO 到 Y 2. 過(guò)渡狀態(tài) 3. 等待 Y 完成 4. 信號(hào) GO 到 Y
|
Y軸位置圖: 1. 等待來(lái)自 X 的 GO 2. 過(guò)渡狀態(tài) 3. 向 X 發(fā)出信號(hào) DONE 4. 等待來(lái)自 X 的 GO
|
圖 3. 創(chuàng)建方形運(yùn)動(dòng)曲線
第 6 步 – 創(chuàng)建三角運(yùn)動(dòng)曲線
畫(huà)一個(gè)三角形更難。必須協(xié)調(diào) X 軸和 Y 軸才能繪制傾斜的側(cè)面。需要進(jìn)行一些計(jì)算來(lái)生成每個(gè)軸的運(yùn)動(dòng)計(jì)劃,使用以下公式:
Vel = d位置步長(zhǎng)/t
Vel = 速度
d = 距離
t = 時(shí)間
每個(gè)軸都需要同時(shí)完成移動(dòng),因此:
t x =t y
行進(jìn)距離 (d position_step ) 是已知的。通過(guò)固定 X 軸的速度,這給了我們一個(gè)已知的時(shí)間 (t x ),并且我們能夠從那里計(jì)算 Y 軸的速度 (Vel y )。
圖 4. 創(chuàng)建三角運(yùn)動(dòng)曲線
第 7 步 – 創(chuàng)建圓周運(yùn)動(dòng)曲線
圓周運(yùn)動(dòng)輪廓是三種形狀中最復(fù)雜的。我們?cè)谶@個(gè)上作弊了一點(diǎn)。實(shí)際形狀是一個(gè) 32 邊的多邊形。它近似于一個(gè)圓,但計(jì)算量較小。我們使用 Matlab 來(lái)計(jì)算 X 和 Y 軸的位置。從那里開(kāi)始,我們使用與三角形運(yùn)動(dòng)曲線相同的程序來(lái)確保每個(gè) X 和 Y 運(yùn)動(dòng)同時(shí)結(jié)束。
圖 5. 創(chuàng)建圓周運(yùn)動(dòng)曲線
觀看已完成項(xiàng)目的視頻。