• 沒有找到結果。

CAD 先進運動控制器設計軟體之實現

本章中將介紹電腦輔助設計軟體之內容、實現方法、執行方式與其執 行結果,此軟體包含了自動系統識別、線性控制器設計、非線性摩擦力補 償器設計與控制系統模擬等功能。第一節為簡介此軟體的功能、操作方式 和其製作方法。第二節將介紹本軟體所使用的系統識別方法。第三節為介 紹如何使用此軟體連結 Coder Composer Studio 自動取得機台系統識別資 訊。第四節介紹如何使用已取得的機台系統識別資訊或使用者自行輸入的 model 來設計線性控制器和非線性摩擦力補償器。第五節為介紹此軟體的 控制器和補償器之模擬功能。最後一節則為實例說明。

5-1 CAD 先進運動控制器設計軟體介紹

此軟體由 Matlab 語法所建立,其架構在 Matlab 的平檯上,所以必須 電腦系統有Matlab 軟體才可使用。此軟體包含三個部份,第一個部份為連 結DSP F2812 硬體以取得機台識別資訊;第二個部份為線性控制器和非線 性摩擦力補償器設計,其model 的來源可以是機台取得的資訊或是使用者 自行輸入的model;第三個部份為線性控制器與非線性摩擦力補償器模擬。

此軟體的開始如圖 5-1 所示,有三個選項,第一個選項”Model”是使用 者可以自行填寫速度迴路的 model、馬達的參數與位置迴路的 model 來進 行線性控制器或非線性摩擦力補償器設計,進而模擬其控制與補償器的效 果。第二個選項”Sampled data”為使用已經存在的機台識別資訊來進行線性 控制器或非線性摩擦力補償器設計。第三個選項”On-line sampling data”為 連結Code Composer Studio 以透過 DSP F2812 進行機台的系統識別程序,

取得資訊後,軟體會直接進入第二個選項進行控制器的設計。其主畫面 (Main G.U.I.)之程式的流程圖如圖 5-2 所示。

圖5-1 電腦輔助控制器設計軟體主畫面

圖5-2 電腦輔助控制器設計軟體主畫面流程

5-2 運動系統識別之方法

在本軟體中有線性控制器與非線性摩擦力摩擦力補償器設計,本節將 介紹此軟體中所用到的速度迴路與位置迴路之識別方法與非線性摩擦力 摩擦力的識別方式。

5-2-1 速度迴路與位置迴路之識別方法

在軟體中速度迴路與位置迴路 model 參數的取得,是採取送虛擬隨機 二進訊號(pseudo random binary sequence, PRBS)的法式,獲得輸出的響 應,再利用ARX 模式以得到速度或位置迴路的 model。而 PRBS 的範圍則 需取決於機台的實際物理參數,在本 CAD 中之預設值為速度迴路的製作 方式以±1500mm/min 為其測試之基準,位置迴路則是以±1000 pulses 範圍 為其測試之基準。ARX 的數學模式為:

5-2-2 非線性摩擦力之識別方法

在非線性摩擦力的識別方面,如第 3-2-3 節之討論,本軟體是採用送 入不同速度命令,在速度到達穩態時量得其輸出轉矩為其摩擦力。在實際 的應用方面,在速度命令較小時,其非線性的成份較大,故在送速度命令 時,低速的命令間隔較小。本軟體將摩擦力的曲線分為 5 段,第一段為 -5RPM~+5RPM,第二段為+5RPM~+(F3000/mm_Rev)RPM,第三段為 -5RPM~-(F3000/mm_Rev)RPM,第四段為+(F3000/mm_Rev)RPM 以上,

最後一段則為-(F3000/mm_Rev)RPM 以下,其中 mm_Rev 為馬達每轉一圈 機台的移動距離。每一段均使用最小平方法曲線揉合(least square curve fitting)的方式得到其模型,在第一段到第三段為使用五階的模型,在第 4 段及第5 段則是使用一階的模型,其式子分別為

第 1 段到第 3 段:

τ ( v ) = P

o

+ P

1

v + P

2

v

2

+ P

3

v

3

+ P

4

v

4

+ P

5

v

5

第 4 段到第 5 段:

τ ( v ) = P

o

+ P

1

v

其中 v : 速度輸入 P0~P5 : 多項式係數

τ(v) : 對應於速度 v 的摩擦力

5-3 取得 CNC 機台識別資訊方法

此節將介紹如何使用此軟體連結 Coder Composer Studio 自動取得機台 的系統識別資訊。當在圖5-1 的 G.U.I.中按下”On-line sampling data”時,會 出現如圖 5-3 的畫面。畫面中分成二個部份,第一部份為輸入機台的相關 資料與使用者欲執行哪一種識別。在識別的型式(Identification type)中分為 線 性 識 別 (Linear identification) 與 非 線 性 摩 擦 力 識 別 (Non-linear identification);在識別迴路(Identification loop)中,使用者可以選擇速度迴 路或是位置迴路,此選項只對於線性識別有效;在選擇軸方面,使用者可 以選擇要進行哪一軸的識別工作。

為了使此軟體可以在其它不同的機台上應用,使用者必須輸入機台相 關的參數,像是馬達每轉一圈其encoder 的 pulses 數是多少(在 DSP 的應用 中須將此pulses 數乘 4);馬達每轉一圈機台移動的距離是多遠與識別程序 中PRBS 的範圍是多大,這些輸入欄只允許輸入數字,若使用者填入非數 字符號,軟體將會出現錯誤訊息。在速度迴路的識別方面,其預設的值是 以feedrate 為 3000 mm/min 時當成標準;在位置迴路其預設值則是以馬達 的十分之一圈為其識別時之範圍。

當輸入完所有機台資訊並選擇好要識別的項目後,按下”OK”鍵,則在 畫面右邊的”File Saves”裡二個欄位會被填入檔名,一個為命令檔,另一個 為迴授檔。這二個檔案為之後要進行系統識別工作時所須用到的檔案。當 使用使按下”Launch CCS and load program”時,此軟體會自動開啟 Code Composer Studio,並且自動載入程式,按下”Start ID”時,機台即啟動識別 動作,等識別完畢後,按下”Close CCS Project”即可關閉 CCS project。整 個操作流程如圖5-4 所示。

圖5-3 取得機台資訊畫面

圖5-4 取得機台資訊之操作流程

5-4 線性控制器與非線性摩擦力補償器設計

在線性控制器與非線性摩擦力補償器設計方面,可以有二個方式進 行。第一個方式為已經有機台的識別資料,即 Main G.U.I.中的”Sampled data”,第二個方式為使用者自行輸入各軸的 model,即 Main G.U.I.中 的"Model",以下就此二種情形做說明。

5-4-1 已存在機台識別資料

當使用者在軟體主畫面選擇”Sampled data”時,即會出現如圖 5-5 之 G.U.I.畫面。在此畫面出現的同時也會出現一對話方塊,詢問是否進入 default mode,若進入 default mode,軟體會以改變按鍵顏色之方法引導使 用者。在此G.U.I.中,Type selection 框架中可以選擇線性識別或非線性摩 擦力識別、速度迴路或位置回路與欲設計哪一軸的控制器或補償器。在選 定資料後,按下”Select Type”鍵,軟體即會把預設的檔名填入”File selection”

內各欄的值。在按下"Load File"後,被識別的資料將繪於左下角的繪圖 區中。之後即進行識別工作,取得model 之後,在 Message 視窗內會出現 此model 的轉移函式。若使用者選擇速度迴路的識別,此時就會出現 DDOB 鍵,按下此鍵後軟體會產生DDOB 的設計結果,並將 model 的轉移函式呈 現在 Message 視窗;若使用者選擇的為位置迴路的識別,此時即會出現 ZPETC 鍵,按下此鍵後軟體會產生 ZPETC 的 model,並將 model 的轉移 函式列於 Message 視窗。使用者也可按下"CCC"鍵指定 CCC 控制器的 增益值。按下"Save >> simulation ",這些產生的 model 將會存成*.c 與

*.h,並前往模擬的 G.U.I.。使用者在實作上只要簡單的 include 這些檔案,

即可以做精密運動控制。整個程式的操作流程如圖5-6。

圖5-5 對已存在的機台識別資訊進行控制器設計之 G.U.I.

5-4-2 使用者定義機台模型

若使用者只是想用於模擬功能,則可在主畫面中按下”Model”鍵即可 自行輸入機台的model,其畫面如圖 5-7 所示。此 G.U.I.在亦設計了 default case,分為二種,一種為 default model,一種為 default parameter。使用者 若選擇default case,則軟體為自動改變字體的顏色引導使用者使用之。輸 入資料的方式分為兩種,一種為輸入轉移函式(Model),另一個為輸入馬達 與機台之參數(Parameter)。若使用者選擇輸入轉移函式,則馬達的相關參 數欄位將會disable,反之亦然。當使用者填完了馬達與機台之參數後,須 按下”Modeling”,此時軟體將會把這些參數化成 block 的型式,並送入 PRBS 訊號作系統識別工作,出現 loss function 的條狀圖,由使用者選擇要使用 哪一組階次的model,最後會在 Numerator 與 Denominator 欄位自動填入識

別出來的速度迴路轉移函式。

程式開始

進行識別工作

選擇模型階數

為速度或位置 迴路?

選擇線性或非 線性識別?

載入檔案 選擇速度或位置迴

選擇X軸、Y軸或Z

選擇Low-pass filter 的cut-off 頻率

計算DDOB model

計算ZPETC model

載入檔案 線性

速度 位置

進行識別工作 非線性

檔案儲存

進行其它識 別?

結束

速度或位置

輸入CCC的增益值

圖5-6 對已存在的機台識別資訊進行控制器設計之操作流程

在位置迴路方面亦是有二種方式可供使用者選擇,第一種為輸入位置 迴路的轉移函式(Model),另一種為輸入位置迴路的 PI 控制器參數值(PI controller),若選擇其中一種時,另外一種的欄位亦會被軟體自動 disable。

最後使用者可以設定要加入多少的摩擦力,摩擦力可分為庫倫(Coulomb) 摩擦力與黏滯(Viscous)摩擦力。

圖5-7 使用者自行定義機台 model 之 G.U.I.

當使用者選定好之後,即可按下”Save n-axis models”來儲存已經設定 好 的 資 料 , 其 中 的 n 為 使 用 者 所 選 定 的 軸 。 此 資 料 會 被 存 成”user_define_models.dat”檔,爾後若要在不變更 model 的情況下重新設計

控制器時,即可直接叫出此檔,不須再重新輸入一次。整個操作流程如圖 5-8 所示。最後按下 Controller design >>”鍵進入控制器設計階段。

程式開始

圖5-9 為控制器設計之畫面,軟體會自動載入剛才已儲存的機台資訊 檔”user_define_models.dat”,也可以在 File 選單下選”Load models”選不同 之model 檔。首先選擇要設計哪一軸的控制器或補償器,再選擇要設計哪 一個控制器,此軟體提供了ZPETC、CCC 與 DDOB 等三種線性控制器與 一種非線性摩擦力補償器用於模擬,只要依序點選各軸所要加的控制器或 補償器即可,軟體會將該控制器之架構顯示於下方。若選擇了CCC 架構,

則在使用者輸入CCC 的增益值之後,會出現其加入 CCC 之後,系統剩下 的gain margin 和 phase margin,亦會提供最大的 CCC 增益值,若超過此值,

系統將會不穩定。若選擇了DDOB,軟體會出現 Low-pass filter 的截止頻 率對談方塊,使用者必須輸入 low-pass filter 的截止頻率,所得的 model 將出現於右方的Message box 中。使用者也可以選擇”Default”鍵,軟體會

系統將會不穩定。若選擇了DDOB,軟體會出現 Low-pass filter 的截止頻 率對談方塊,使用者必須輸入 low-pass filter 的截止頻率,所得的 model 將出現於右方的Message box 中。使用者也可以選擇”Default”鍵,軟體會

相關文件