• 沒有找到結果。

泛用型嵌入式運動控制系統設計(I)

N/A
N/A
Protected

Academic year: 2021

Share "泛用型嵌入式運動控制系統設計(I)"

Copied!
9
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 期中進度報告

泛用型嵌入式運動控制系統設計(1/2)

計畫類別: 個別型計畫

計畫編號: NSC92-2213-E-011-030-

執行期間: 92 年 08 月 01 日至 93 年 07 月 31 日 執行單位: 國立臺灣科技大學電機工程系

計畫主持人: 施慶隆

報告類型: 精簡報告

處理方式: 本計畫可公開查詢

中 華 民 國 93 年 5 月 11 日

(2)

泛用型嵌入式運動控制系統設計

第一年:馬達運動控制晶片設計 期中精簡報告

計劃編號:NSC 92-2213-E-011-030 執行期限:93 年月 8 日到 94 年月 7 日 主持人:施慶隆教授 台灣科技大學電機工程系

計畫參與人員:李文猶、許祿岳 一. 摘要

為滿足日趨複雜且多樣的運動控 制工程應用,兼具工業電腦及單晶片 控制系統優點的嵌入式控制系統便因 應而生。嵌入式系統為硬體及軟體的 綜合體,包括核心硬體電路、作業系 統以及應用程式的建立。本計劃預計 分二年執行完成泛用型嵌入式運動控 制 系 統 原 型 , 並 應 用 於 多 軸 工 作 平 台。第一年本計劃將設計運動控制晶 片實現 S 型運動曲線,以提高路徑規 劃的精確度及節省軟體負擔。同時為 因應多軸平台的負載變化及命令值差 異,也將設計 PID 控制器 IC。第二年 將設計嵌入式運動控制系統之系統硬 體及相關軟體,諸如作業系統、應用 程式及硬體驅動程式的建立。第一年 計劃之運動控制晶片設計包含括運動 控 制 曲 線 產 生 電 路 及 閉 回 路 控 制 電 路。運動曲線產生電路的功能為接收 微控制器或讀取記憶體中的多軸位置 命令,並產生脈衝訊號或脈衝寬度調 變訊號(PWM)。閉迴路控制電路為接 受運動曲線產生電路的命令訊號,並 且與馬達回授訊號做比較,經計算後 產生閉迴路控制訊號輸出至馬達驅動 器以控制馬達。本計劃將完一個具有 運動控制曲線產生電路及閉回路控制

回路的控制晶片。

關鍵字:嵌入式系統、運動控制 IC、S 型曲線、PID 控制器

二. 運動控制晶片架構設計

在第一年計畫中我們將運動控制 晶片包含了參數輸入模組,命令解譯 模組,曲線產生模組,定位控制器模 組,控制命令訊號輸出模組,脈波解 譯模組,以及絕對位置記錄模組。運 動控制晶片的與外界進行資料交換的 模 組 為 通 用 型 的 串 列 資 料 傳 輸 單 元 (UART),亦即常見的 RS232 通訊介 面。使用者的資料可藉由通訊介面將 參數及命令下達給控制晶片,透過命 令解譯模組將 RS232 傳入的資料進行 指令碼分析後,將輸入資料區分為參 數及命令,而後進行參數存取或命令 執 行 。 當 使 用 者 完 成 參 數 資 料 設 定 後,即可進行馬達運動控制。

運動控制晶片內具有 256 個控制 命令,當特定命令碼下達後命令解譯 單元會立即送出觸發脈波,激發相對 應的模組化執行單元,並依伴隨的指 令碼要求模組執行特定程序。這些控 制 模 組 目 前 包 含 了 記 憶 區 塊 上 傳 模

(3)

組,曲線產生模組,馬達定位控制模 組,與馬達定速度控制模組,將來最 多可擴充到 256 個模組。記憶區塊上 傳模組可將控制晶片內部的 4K 位元 組 的 資 料 , 依 指 定 的 位 址 區 間 透 過 RS232 傳出。曲線產生模組則會將曲 線參數轉換成曲線插值輸出。馬達定 位控制模組則可於激發後進行馬達之 定位控制,此模組包含了 PID 控制器,

PWM 產生器,DDA 產生器,A/B 相 位脈波解析器,絕對位置計數器與命 令回授減法器。馬達速度控制模組則 為位置控制迴路的內迴路。運動控制 晶片架構圖,如圖 1 所示。

本計畫所規劃的運動控制晶片架 構,具有分散設計的優點,使用者可 以藉由 RS232 將參數存入記憶體;同 時可利用 RS232 下達模組執行命令,

各模組可至規劃好之記憶體位置讀取 執行參數,並執行特定程序。每一個 模組可以分開設計,分開進行驗證測 試,如此不但可以提昇研究開發的效 率同時可以降低除錯的複雜度。控制 晶片中的曲線產生模組,被觸發後會 至記憶體讀取曲線參數,並可將曲線 插值結果儲存於記憶體中。而後可利 用記憶區塊上傳模組將結果傳回 PC,

利用高階軟體驗證。另一方面,設計 馬達定位控制模組時,可先測試點到 點的控制命令,並將馬達的回授儲存 於記憶體。同樣利用記憶區塊上傳模 組將結果傳回 PC,利用高階軟體繪出 位置輸出結果。如此依序將各個模組 分別設計測試完成後,再進行整合。

這整設計概念不但可以避免晶片複雜 度過高時的設計及除錯困難,設計者 無需於開發初期就將馬達的硬體電路

配接完成,而後又因執行資訊不足,

接著進行漫無目的的反覆設計與盲目 的除錯。

在本階段,我們已經完成了各項 模組的程式設計,並利用 ALTERA 的 Quartus II 進行模擬與實驗測試。我們 採用 ALTERA 的 DSP Development Board 進行設計與驗證,而發展板上所 採 用 的 FPGA 晶 片 為 EP20k1500 EBC625-1X。我們將一個運動制控制 晶片區分成:資料通訊模組、命令解 譯模組、記憶體區塊讀取模組、記憶 體模組、匯流排多工模組、定位控制 模組、曲線插值模組等。設計這些模 組前我們必須先定義並規劃各個模組 的功能以及相關模組間的電氣介面。

以下分別對各個模組進行功能分析。

1. 資料通訊模組

此為串列通訊模組,即 RS232。

採用的 RS232 標準,並將其傳輸參數 設定為 9600-8-N-1,即鮑率為 9600 Bit/Sec(可選擇 2400~15200),8 位元,

無同位元檢查,一個停止位元。而此 模組除了滿足通訊協定外,具有 256 位元組的 FIFO(First In First Out)佇 列,用以暫存由 RS232 傳入的資料。

其對 PC 端的介面只有 Tx 與 Rx 兩條 通訊線,對內部則有指示 FIFO 已滿或 已空的訊號,並可發出已接收到資料 觸發脈波以及發出傳送已完成的觸發 脈波,以及資料輸入輸出介面。

2. 命令解譯模組

此模組內有一個 FSM(Finite State Machine),可以不斷地檢查 RS232 通 訊模組是否有收到資料,判斷 FIFO 是 否為空,若有資料則取出來判斷。若 輸入為 P 則表示接下來的資料為參數 的讀寫;若為 C 則表命令,接下來的 資料為執行命令。若 FSM 收到 P 便會

(4)

開始等待 R 或 W 的輸入,接著接收記 憶體位置(Row,Col),最後為參數。如 PW0203AA,表示將 AA 寫入(02,03) 的記憶體位置,而 PR013B 則讀出記憶 體 位 置 (01,3B) 的 資 料 , 並 且 立 即 由 RS232 模組送出。

3. 記憶體區塊讀取模組

透過 RS232 進行參數的設定或讀 取,均會動用到資料匯流排與位址匯 流排,而分散式的功能模組亦必須與 記憶體進行資料交換。但就 IC 設計而 言每個晶片的輸入控制線或匯流排,

僅可以有一個來源。所以若有多個資 料來源欲存取同一個暫存器時,便需 設計記憶體區塊讀取模組進行匯流排 切換。圖 4 之匯流排多工模組具有兩 組資料來源透過,此模組可判斷資料 來 的 控 制 訊 號 (AccRd1,AccWr1) 或 (AccRd1,AccWr1) 是 否 發 生 單 擊 脈 波,若發生則將動作的匯流排連線到 記憶體的匯流排。此技術將反覆應用 在在其它場合。

4. 記憶體模組

控制晶片中我們設計了一個 4k 位 元組的記憶,做為參數儲存及暫存執 行結果的地方。我將 0~70H 規劃為參 數區塊,包含了 PID 參數,資料區塊 讀取區間,曲線參數…等。

5. 匯流排多工模組

當由 RS232 傳入的資料為命令 時,命令會被送到運算碼解析器,經 判斷後觸發相對應用的模組,並將資 料 及 位 址 匯 流 轉 換 到 對 應 的 執 行 模 組。目前我們定義 8 個模組的對應關 係,而程式乃是由 Verilog 所設計,相 當容易擴充。

6. 定位控制模組

定位控制模組中包含了 A/B 相位 編碼模組,DDA 模組,PWM 模組,

減法器模組,PID 控制器,絕對位置計 數器,與取樣時脈模組。

7. 曲線插值模組

曲線插值模組,負責將 S 型或 T 型 運 動 軌 跡 曲 線 的 參 數 由 記 憶 體 讀 出 後,進行插值演算法。其輸出結果,

可選擇儲存於記憶體 70H~16FH 位置 內,或直接做為定位控制模組的馬達 位置命令。

三. 結果與討論

以下針對與控制相關模組進行模 擬及實驗結果說明。控制模組包含了 A/B 相位編碼模組,DDA 模組,PWM 模組,減法器模組,PID 控制器,絕對 位置計數器,與取樣時脈模組。A/B 相位脈波為馬達編碼器的輸出,其中 A 相與 B 相之相位差 90 度。因此必須利 用邊緣檢測將一個週期的 A/B 相位脈 波轉換成 4 脈波,如此可以使定位精 度增大 4 倍,亦可用來檢測馬達的運 轉方向[3]。轉換的脈波則送至絕對位 置計數器,記錄馬達的位置。DDA 模 組則在一定的 DDA 時間內,如 24 毫 秒,均勻地送出指定的脈波數。此一 技術可增加馬達運轉時的穩定性及平 穩性[4]。訊號則用來脈波型的馬達驅 動器。

PWM 模組則會依控制器的輸出 決定其輸出脈波的責任週期,PWM 模 組的解析度 1/1024。我們將控制器的 輸出分成 1024 等份,當控制器輸出越 大則 PWM 模組的輸出脈波的責任週 期就越大,反之亦然。此模組的主要 功能為控制馬達的轉速及轉向。訊號 則用來驅動類比型的馬達驅動器。

(5)

減 法 器 模 組 則 用 來 計 算 位 置 誤 差,此模組會將絕對位置計數器的計 數值與位置命之相減,並將結運送 PID 控制器。PID 控制器,此一控制器為模 組化設計,因此可以任意的更換為自 我調適 PID 控制器,或其它控制器。

PID 控制器的主要元件為減法器,加法 器與乘法器。透過 Verilog HDL 的開發 設計,這些元件相當容易實現。絕對 位置計數器則為一 24 位元的位置上下 計數器,用來記錄馬達的目前位置。

取樣時脈模組的基頻為 1 毫秒,此乃 是根據馬達控制頻寬所定義之參數。

用來控制整個馬達控制器運作及參數 取樣。

由於目前工業界所採用的 HDL 語 法,大部分為 Verilog HDL。因此我們 於計畫中亦採用此語法設計晶片所需 的模組。程式設計完成後,我們分別 利用波形模擬與下載至 FPGA 進行實 際驗證。

DDA 模組:由 Cmd_data 輸入 DDA 脈 波數,並於 CW 及 CCW 輸出脈波。而 Cmd_data 的數值為具符號的數值,如 圖 2 所示,當輸入為 6 時於 CW 產生 6 個脈波,而輸入為 FAH 時則表反向 6 個脈波。

A/B 相脈波解碼器:控制器的 A/B 相 脈波乃是由外部輸入,所以在脈波輸 入時會先經由濾波將高頻雜訊濾掉,

其模擬結果如圖 3 所示。

PWM 模組:PWM 模組之模擬結果,

如圖 4 所示。其中 Data_in 為具符號的 參數,當輸入為負時則 DIR 為 0 表反 轉,而當其值為正時則 DIR 為 1 表正 轉。

減法器模組:在此我們將馬達的位置 命令 DDA 輸出(CW1,CCW1)送入位置 命令計數器;並將位置回授之脈波送 至 A/B 相脈波解碼器產生(CW2 與 CCW2),送入位置回授計數器。再利 用減法器相減後,產生 error 輸出送至 PID 控制模組產生正轉或反轉命令來 控制馬達。減法器模組如圖 5 所示,

在控制的最後階段(CW1,CCW1)相抵 後共產生 4 個脈,而(CW2,CCW2)亦為 4 個脈,所以最後 error 的輸出值為 0。

PID 控制器:PID 控制器的目的為當輸 出結果小於命令時,則控制器便會送 出相對的正值要求馬達正加速到指定 位置,反之亦然。由圖 6 可知,當 Err_in 越大是則 Data_out 越大。

RS232 模組:控制器內的 RS232 模組 具有 256 位元組 FIFO,當資料由 Rx 傳入後會使 RcvTrg 產生一個中斷脈 波,並將資料移入 FIFO。同時 FifoEmp 亦由 1 轉為 0 表 FIFO 內有資料,而當 FifoRd 產生並讀出資料後 FifoEmp 則 變成 0。當一個資料由 Tx 傳出後則會 在 TxTrg 產生一個中斷脈波。RS232 模組如圖 7 所示。

由 於 晶 片 中的 程 式 均以 Verilog HDL 撰寫,因此相當容易整合,同時 移植性亦相當好。所以若要將成果應 用於其它場合或其它廠商的晶片,均 不會遭遇困難。在撰寫晶片的過程中 會產生相當多的小模組,而後再將這 些小模組層層包裝,成為最後的一個 晶片。如下列程式即為一個由四個小 晶 片 ParserMem 、 Rs232Fifo 、 RdBlkMem 以及 SwitchBus 所合成的 晶片,這個整合測試晶片對外部電路 只有四個腳位 clk、rst、Tx 以及 Rx。

功能為透過 RS232 存取記憶體,並可 執 行 區 塊 記 憶 上 載 。 此 項 功 能 亦 於 ALTERA 的 DSP Development Board 驗 證完成。表 1 為本晶片與其他晶片之 比較。

(6)

本系統透過 RS232 傳輸線以人機 介面作為與各馬達控制系統的溝通介 面,包括命令傳送與回授位置差值傳 回部分。命令傳送部分包括輸出脈衝 數命令、輸出時間設定命令、最大速 度設定命令、PID 控制參數與速度曲線 規劃命令等。人機介面系統以接收資 料緩衝陣列儲存回授位置差值,並即 時的將各筆回授值依序累加於響應視 窗中,並計算最大超越量、上升時間 與穩定時間,其設計如圖 8 所示。

四. 結論

本計畫已將各個模組設計完成,

同時利用 FPGA 驗證成果。透過 Verilog 設計程式相當容易,但不一定會得到 預計的結果。在設計的過程應遵守下 列的準則,否則可能會耗時且沒有效 率。

(1)儘量將單一功能模組化,即一個 Verilog 程式模組只執行一個功能。

(2)利用多層模組架構晶片。

(3)針對每一模組進行模擬測試,並規 劃時序圖。

(4) FSM 乃是一個最佳的設計手法,但 未用到的狀況應以 default 設計。

五. 參考文獻

1. “Modern Control Engineering” K.

Ogata, Prentice Hall, Inc. 2001.

2. “Computer Control of

Manutacruring Systems”, Y. Koren, McGraw-Hill Book Co. 1990.

3. 施慶隆、李文猶,“機電整合控制- 多軸運動設計與應用”,全華科技 圖書,民國 91 年 9 月。

4. 李文猶、劉俊宏、賴志一,“步進 馬達之驅動與運動軌跡設計”,

電機月刊,第 126 期,162-171 頁,

民國 90 年 6 月。

5. 何丕倫、黃清河,”PC-Based 定位 控制技術”,電機月刊,民國 82 年 4 月。

串列資料傳輸單元 RS232

命令解譯模組

4k位元組 記憶體

位址/資 料/控制 匯流排 多工器

命令解譯單元

記憶區塊 上傳模組

曲線產生 模組

馬達定位 控制模組

256th 模組 馬達速度

控制模組 運動控制晶片

圖 1 運動控制晶片系統架構圖

(7)

圖 2 DDA 模組模擬結果

圖 3 A/B 相脈波解碼器模擬結果

圖 4 PWM 模組之模擬結果

(8)

18 pulses 14 pulses

24 pulses 20 pulses

圖 5 減法器模組模擬結果

The Tuning Trend 圖 6 PID 控制器模擬結果

Received one byte

Transferred one byte

Read from FIFO

圖 7 具 256 位元組 FIFO 之 RS232 模組模擬結果

(9)

圖 8 人機介面設計

表 1 本晶片與其他晶片的比較 晶 片 名

稱(廠商)

LM628/LM629

(National)

PCL6045

(NIPPON)

MCX314

(和椿) 本運動控制晶片 驅動脈衝

頻率 20MHz 20MHz 16MHz 24MHz 輸出脈衝

範圍

-1,073,741,824 ~ 1,073,741,824

(30bits)

-134,217,728 ~ 134,217,728

(28bits)

-2,147,488,648 ~ 2,147,488,648

(31bits)

-2,097,152 ~ 2,097,152

(21bits)

輸出脈衝

數誤差 大於零 未知 0.1% 以下 零誤差 最大輸出

速度 8MHz 6.5MHz 4MHz 6MHz 速度曲線 Linear、T-curve Linear、T-curve

S-curve

Linear、T-curve S-curve

Linear、T-curve S-curve

加減速範

Full 1 ~ 65,535 Full Full

數據

圖 3  A/B 相脈波解碼器模擬結果
圖 5  減法器模組模擬結果
圖 8 人機介面設計  表 1  本晶片與其他晶片的比較  晶 片 名  稱(廠商)  LM628/LM629  (National)  PCL6045  (NIPPON)  MCX314  (和椿)  本運動控制晶片  驅動脈衝 頻率  20MHz  20MHz  16MHz       24MHz  輸出脈衝 範圍  -1,073,741,824 ~ 1,073,741,824 (30bits)  -134,217,728  ~134,217,728(28bits)  -2,147,488,648 ~

參考文獻

相關文件

Step 3: : : :模擬環境設定 模擬環境設定 模擬環境設定 模擬環境設定、 、 、 、存檔與執行模擬 存檔與執行模擬

微算機原理與應用 第6

現在,我們要利用 Scratch 來繪製正多邊形。請播放範例影片 正多邊形小畫 家 .mp4 ,觀察程式的執行情形,一起用 Scratch

以角色為基礎的存取控制模型給予企業組織管理上很大的彈性,但是無法滿

針對 WPAN 802.15.3 系統之適應性柵狀碼調變/解調,我們以此 DSP/FPGA 硬體實現與模擬測試平台進行效能模擬、以及硬體電路設計、實現與測試,其測 試平台如圖 5.1、圖

The scenarios fuzzy inference system is developed for effectively manage all the low-level sensors information and inductive high-level context scenarios based

Professional 與 Studio 不同的地方在於前者擁有四種特殊開發套 件,可以開發出更逼真的虛擬實境場景。分別為 CG 模組、Human 模組、Physic 模組與 CAD

覺察與模仿 身-1-1 模仿身體操控活動 身-1-2 模仿操作各種器材的動作 協調與控制 身-2-1