• 沒有找到結果。

網路遠端控制系統設計

s

5-2 實驗系統架構

圖 5.4 為這次實驗的系統架構圖,此架構由三個部份所組成,第一個部份 為Ti 的 F2812 DSP 和 Panasonic AC 伺服馬達所組成,馬達工作模式調整為速 度模式,第二部份為一台電腦和USB CAN 所組成的 Server 端,Server 端是連 結 CAN 網路和乙太網路或是無線網路的溝通橋樑,具有閘道器(gateway)的功 用,並且具有簡單的管理功能,第三部份為負責網路控制的電腦。DSP 跟 Server 端的 USBCAN 之間的聯繫是透過 CAN 來聯結,Server 端和負責遠端控制的 Client 端中間透過乙太網路或是無線網路來聯結,資料傳輸的協定則是使用 TCP/IP。把圖 5.4 和圖 4.1 拿來做對應,圖 5.4 中的 Client 相當是圖 4.1 裡面的 Remote 部份,控制器採用 PI 控制器,DSP 加上伺服馬達相當於 Plant,剩下的 Server 和 Ethernet 和 CAN 都屬於 Network 部份,整個控制迴路為位置迴路控制。

圖5.4 實驗系統架構圖

由於本實驗系統是透過網路來控制,Client 端和 DSP 端很難達到 Clock 的 同步,假如兩端要採用時間觸發(time-triggered)的方式來做控制將是非常困難的 事,因此本實驗的架構DSP 端採用時間觸發方式,而 Client 則是採用事件觸發 (Event-triggered)的方式,DSP 每隔固定的時間會將馬達 Encoder 讀到的資料回

傳給Cilent,當 Client 有接收到 DSP 傳過來的回授訊號才經由控制器計算出命 令回傳給DSP。

圖5.5 Ti F2812 ezDSP DSK 板+自製週邊電路+Panasonic AC 伺服馬達

圖5.6 本次實驗 Server+USBCAN

圖5.7 DSP 和 Server 之間透過 CAN 來做連接

圖5.8 Server 和馬達系統

5-3 TCP/IP 與 CAN 封包轉換

TCP/IP CAN Bus

GUI

部份為Server 管理程式,Server 一次僅允許一台 Client 連結到 Server,以防止 在做網路控制時,還有其他 Client 端進來干擾,嚴重將使系統不穩定,當已經 有一台 Client 已經建立好連線,此時若有其他 Client 嘗試連線,Server 會拒絕 該Client 的連線並且給予警告的訊息。第四部份則為使用者介面。

5-3-2 封包轉換方式及過程

當有資料要從DSP 傳送到 Client 的控制端,首先將訊息種類(Type)及傳送 資料(Data)依照第三章所提的訊息 Frame 設定好,設定好訊息 Frame 之後將他 放到CAN 封包的 Data 部份透過 CAN 網路傳到 Server,此步驟如圖 5.10 的(1)。

當Server 接收到 CAN 送過來的封包之後,將整個 CAN 封包放到 TCP 封包的 Data 部份,再利用 Ethernet 或無線網路傳送到 Client 端,此步驟如圖 5.10 的(2)。

Client 收到由 Ethernet 或是無線網路送過來的封包後,先從 TCP 封包 Data 部份 取出CAN 的封包,再由 CAN 封包 Data 部份取出使用者自己定義的資料 Frame,

最後再分析資料Frame 即可完成 DSP 傳送到 Client 的工作,如圖 5.10 的(3)。

照著圖5.10 中(1)Î(2)Î(3)的順序即可將訊息完整的傳送到 Client 控制端。

圖5.10 封包轉換圖

若要將資料由 Client 控制端傳送到 DSP,先將要傳送的訊息種類(Type)和 傳送資料(Data) 依照第三章所提的訊息 Frame 設定好,再把該 Frame 放到 CAN 封包Data 部份,最後把 CAN 封包整個放到 TCP 封包的 Data 部份,利用 Ethernet 或無線網路將封包傳送出去,如圖 5.10 的(4)。Server 收到封包之後,從 TCP 封包Data 部份取出 CAN 封包,將 CAN 封包透過 CAN 網路將封包傳送到 DSP,

如圖5.10 的(5)。DSP 收到 CAN 封包後,將訊息 Frame 由 CAN 封包 Data 部份 取出,再進行解析,如圖5.10 的(6)。只要照著圖 5.10 中(4)Î(5)Î(6)的訊息即

可完成Client 控制端傳送訊息到 DSP 的動作。

5-3-3 程式介面及程式流程圖

圖5.11 Server 人機介面

圖5.11 為 Server 的人機介面,具有將 CAN 和 TCP/IP 兩種不同網路協定做 轉換的功能,同時具有連線管理功能和簡單的系統異常偵測功能。在 Ethernet 或無線網路連線發生錯誤的時候,會自動停止程式並且停止DSP 及馬達運轉,

以防止嚴重錯誤的發生。以下為程式個部份的功能介紹:

(a) 該主機可獲得的 IP,當該主機有多張網卡的時候,會把該主機所有可以 得到的 IP 列出來,供使用者選擇欲建立連線的 IP。Port 為建立連線的 埠號。

(b) Start 為建立網路連線,等待使用者跟主機建立連線,並且啟動 USBCAN 的連線。Stop 為停止網路連線,並且關閉 USBCAN 的連線。

(c) 狀態顯示。

(d) 目前主機接收或傳出訊息的狀態,需選取(e)中的 Show Message 才會有 畫面顯示在上面,此畫面可以提供訊息傳收狀態、傳送目的地目接收來 源還有該訊息所帶的資料。此功能是方便使用者監看訊息傳遞還有 debug 而設計,但實際需要大量傳輸的時候,建議不要將 Show Message 勾選起來,因為可能拖累整個系統的性能。

(e) 選擇是否顯示訊息和選擇顯示訊息的模式。

介紹完人機介面,後面再附上Server 的程式流程圖,圖 5.12 為 Server 連線管理 流程圖,圖5.13 為 CAN 轉 TCP/IP 的流程圖,圖 5.14 為 TCP/IP 轉 CAN 的流 程圖。

圖5.12 Server 連線管理流程圖

圖5.13 CAN 轉 TCP/IP 流程圖

圖5.14 TCP 轉 CAN 流程圖

5-4 系統識別實驗

在設計 Smith predictor 之前,必須先取得系統的識別資料。本實驗系統模 型(model)參數的取得,是對系統輸入虛擬隨機二進位訊號(Pseudo Random Binary Sequence, PRBS) 的方式獲取輸出的響應,利用 ARX(Auto-Regresive Exogeneous)模型作為本實驗系統的模型結構,然後對 ARX 模型的參數做最小 平方推測以取得系統模型[19,20]。ARX 的數學模式為下

圖5.15 系統識別流程圖

圖5.16 自動產生 C# 系統模型程式片段

5-4-1 系統識別人機使用介面

圖5.17 為系統識別程式有兩種模式供選用,一個模式為系統識別模式,另 一個模式為線上調整DSP 上面 PI 控制器的KpKi,以下為程式各部份的說明:

(a) 連結 USBCAN

(b) 開始執行系統識別或是調整 PI 控制器。

(c) 相關參數輸入

Kp:PI 控制器的 Kp 控制器 Ki:PI 控制器的 Ki 控制器

Position :調整 PI 控制器時所輸入 Step 的大小,單位 pulse Amplitude:系統識別時 PRBS 訊號輸入的大小,單位 Voltage Ts:系統識別或調整 PI 控制器時的系統取樣週期,單位 ms

(d) 程式執行模式 (e) 訊息顯示介面

圖5.17 系統識別人機使用介面

5-4-2 實驗結果

本次實驗用的馬達輸入電壓範圍為±10V,工作模式為速度模式,馬達轉一 圈輸出10000 個 pulse。系統識別輸入為振幅 5V 的 PRBS 訊號,輸出為馬達位 移角度單位為pulse,取樣時間為 2 ms。圖 5.18 為系統識別的輸入和輸出。

圖5.18 系統識別的輸入(a)和輸出(b)

取得系統識別的輸入和輸出之後,再利用 Matlab 的 System Identification Toolbox (圖 5.19),將系統識別的輸入及輸出響應讀入,識別模型選擇參數型的 ARX 模型,na, nb, nk 的階數範圍階設為 1~10 後執行程式,當執行完後會跳出 圖5.20,圖 5.20 為估測不同階數模型的誤差圖,我們選擇虛線圈起來的的部來 當作是我們馬達系統的模型,雖然階數較高的時候有較少的誤差,但此時誤差 已經非常小了,沒有必要選擇更高的階數來增加計算上面的複雜度。

圖5.19 System Identification Toolbox

5-5 DSP 端程式

本實驗的DSP 端程式分為五大部份分別為(a)系統識別,(b)調整 PI 控制器,

(c)測試延遲時間,(d)Smith predictor 接收端,(e)訊息管理程式,以下為 DSP 各 部份程式的簡單介紹:

(d) Smith predictor 接收端:當收到啟動 Smith predictor 控制,等待設定好 延遲時間 Buffer 和取樣週期之後,即進入此程式,此程式非常簡單,

每個部份都有對應的人機介面程式,其對應程式已經在其他小節提過,再 No. Type Device Data

Data

8 DELAY_TIME_SEND DSP Index 4 發送帶有Index 測 試延遲時間訊息 9 DELAY_TIME_FEEDBACK PC Index 4 接收帶有Index 測

試延遲時間訊息

Smith predictor 操 作模式下,傳送給 DSP 的電壓命令

12 FEEDBACK DSP 位置(pulse) 4

Smith predictor 操 作模式下,傳回馬

5-6 Smith predictor 設計

5-6-1 Smith predictor 在數位系統的實現

在5-1 節中提到的 Smith predictor 是在連續系統下所推導出來的,若我們想 在數位系統下使用,我們需將Smith predictor 做一些調整,圖 5.23 為一個 Smith predictor 方塊圖,首先先將Gˆ sp( )換成我們前面完成的系統辨識的數位模型,

) (s

Gc 換成想要使用的數位控制器,etms延遲時間項則用zk來代替,其中 k 為 整數,k 的決定方式如下:

) ( ceil Ts

k = tm (5-8)

其中tm為網路平均延遲時間,Ts為取樣週期,k的決定方式就是將tm除以Ts之 後再無條件進位,經過上述動作後,Smith predictor 即可在數位系統下使用。

圖5.23 Smith predictor 架構圖

5-6-2 實驗環境

在本次實驗,我們會使用兩組PI 控制器分別當作我們 Smith predictor 裡面 的Gc,一組是反應速度較快,另外一組反應速度較慢,如此可以看延遲系統對 反 應 速 度 不 同 的 影 響 , 反 應 速 度 較 慢 的 PI 控 制 器 A : Kp =0.00053,

000004 .

=0

Ki ,反應速度較快的PI 控制器 B:Kp =0.01,Ki =0.0000001,圖 5.24 為兩組PI 控制器在 2ms 取樣週期,輸入命令為步階大小為 30000 個 pulse 下沒 有透過網路直接由DSP 對馬達控制的響應圖:

(a) (b)

圖5.24 DSP 對馬達控制的系統響應圖(a) 控制器 A Kp =0.00053, 000004

.

=0

Ki (b) 控制器 B Kp =0.01,Ki =0.0000001

接下來的實驗分為兩個部份,第一部份為在不同延遲時間下,延遲時間對 網路控制系統的影響,第二部份為長距離的網路控制,並且看延遲時間的變異 量對 Smith predictor 是否造成影響。每部份實驗都會用有線網路和無線網路來 傳輸。

5-6-3 Smith predictor 人機介面介紹

圖5.25 為 Smith predictor 人機介面,此介面是跟延遲時間人機介面共用同 一個程式,要操作此程式非常簡單,首先先連線到 Server,再來將相關數值設 定好之後先按 Measure 量測延遲時間,假如已經知道延遲時間可以不需要量 測,直接將延遲時間填到適當的位置即可,然後就可以按Start 開始下命令給馬 達,此時Start 按鈕會變成 Stop 按鈕,只要按下 Stop 即可停止馬達,再按 Save 按鈕可將實驗所得到的數值存起來。以下為程式各部份的解說:

(a) 連線 Server 的 IP 和 Port

(b) 設定補償的延遲時間,可以手動輸入,或是按 measure 量測完後自動將 數值填上時間,單位為ms

(c) 儲存資料容量

(d) 步階輸入的大小,單位為 pulse (e) KpKi的設定

(f) 設定取樣週期,單位 ms

(g) 設定產生固定延遲時間 Buffer 的大小 (h) 解除跟 Server 連線的按鈕

(i) 啟動馬達的按鈕 (j) 存檔按鈕

圖5.25 Smith predictor 人機械面

5-6-4 不同延遲時間對網路控制的影響

此實驗給系統不同的延遲時間來看在不同延遲時間下會對系統帶來什麼影 響,並且測試 Smith predictor 是否真的可以消除延遲時間對系統造成的影響,

本系統取樣週期為2ms,步階輸入大小為 30000 pulse,圖 5.26、圖 5.27、圖 5.28、

圖5.29、圖 5.30 和圖 5.31 為實驗結果,圖中的虛線為直接使用 DSP 不透過網 路控制馬達的響應,畫出來以供對照之用。

圖5.26、圖 5.27、圖 5.28、圖 5.29 左半邊的圖均沒有加上 Smith predictor,

右半邊則是加上Smith predictor 以後的結果,圖 5.26 和圖 5.27 是使用 Ethernet 來做傳輸,圖5.28 和圖 5.29 則是用無線網路來傳輸。由這些圖可以看出,隨著

右半邊則是加上Smith predictor 以後的結果,圖 5.26 和圖 5.27 是使用 Ethernet 來做傳輸,圖5.28 和圖 5.29 則是用無線網路來傳輸。由這些圖可以看出,隨著

相關文件