波士頓電機公司 (Boston Engineering) 機器控制應用中的高階原型製作硬體與軟體
Author(s):
Erik Goethert - Boston Engineering
Industry:
Machines/Mechanics
Products:
CompactRIO, LabVIEW, Embedded Development Module
The Challenge:
開發嵌入式微處理器系統,不僅具有機器控制功能,亦可處理整個製造程序。
The Solution:
切換至較高階的模型製作 (Modeling) 工具,以於環境中產生「由規格修正」的程式碼;該環境可讓具備有限編碼經驗的工程師評估所需的軟體,並互動地進行變更。
"切換至較高階的模型製作 (Modeling) 工具,以於環境中產生「由規格修正」的程式碼;該環境可讓具備有限編碼經驗的工程師評估所需的軟體,並互動地進行變更。"
在波士頓電機公司 (Boston Engineering),我們提供多種電機設計服務;透過微處理器架構的嵌入式系統,設計電子與機器系統,並控制電機活動。此工作需要傳統的程式設計語言、除錯程式 (Debugger)、連結程式 (Linker),與 IDEs;亦需要簡單的機板原型。
為了符合客戶需要,我們需要相關工具以開發電腦架構的電機、電子,與嵌入式軟體控制模擬系統;圖形化使用者介面 (GUI) 模型;與函式系統原型。
建立張力 (Tension) 控制系統
我們使用多方位的方法,以建立張力控制器,可於數位印刷亭 (Printing kiosk) 中進行影像開發。在影像印刷 (Film printer) 中,可由驅動馬達透過印表機機頭 (Head) 灌充色彩媒介軸(Color media spool),並透過接納 (Take-up) 與饋送 (Feed) 馬達控制張力 (Tension)。裁切頭 (Cutter head) 的振動、列印不同數量的相片,與馬達的不同速度,均將影響基板 (Substrate) 的張力。此專案的主要目的之一,即要能開發低價位的產品。
我們以霍爾效應 (Hall-effect) 的類比感測器,監控 2 個跳動器 (DANCER) 的位置,並間接控制基板張力。控制系統可調整 2 個馬達的位置,於建議的設定點 (Set point) 中保持該接納 (Take-up) 張力。如果無法精確控制此張力,則將造成相片的色度失真。
模擬系統
機器模型製作 (Modeling) 需要多種反覆運算 (Iteration),讓客戶更明確地定義次系統掛載 (Subsystem mounting) 與數量分配。我們也根據控制系統的規格,進一步修正機器模型,如馬達尺寸、運動零件的最大慣性,與感測器選擇。
模擬作業定義了系統的開迴路與閉迴路特性。當決定要減低振動來源的縱向範圍與移動距離時,我們先開發了 3D 模型的反覆運算 (Iteration)。透過模型製作與反饋,簡易的 PID 控制器將無法針對閉迴路的頻寬,提供所需的穩定邊界。若要增加穩定度,則需要小型的 PID 增益,卻無法獲得 20 Hz 的閉迴路頻寬。
因此我們需要更完整的控制運算式。我們使用 4 階次 (Fourth-order) 的相位導向控制器,並以雙 4 元組 (Bi-quad) 的形式建置之。採用此建置方法可減少固定式 16 字元長度的錯誤,與繼承運算捨入誤差所造成的不穩定性。
當我們建立具有使用者介面的系統時,亦於 NI LabVIEW 中進行使用者介面的原型;該圖形化工具可於設計程序中進行後續的原型製作與佈署階段。透過 NI LabVIEW,可輕鬆並快速地拖曳介面要素至面板,讓使用者客制介面的相關位置、內容,與操作。此將減少介面調整週期的次數,與最後程式碼的轉換次數。我們發現此實作可搭配嵌入式系統,同時不需實際的使用者介面。我們使用原型介面以協助進行最高穩定度的系統微調。
系統原型製作
設計階段的下個步驟,即為進行系統的實際原型。原型製作有著多個重要功能。最重要的是,原型將確認設計者已完整了解問題所在。比較模擬作業與原型作業之後,我們可以了解差異處與發生差異的原因。在偶然情況下,於原型製作期間才會發現較高階次的效應。
在原型製作階段,我們一般使用現成的開發介面卡,並搭配某些可程式化的 DSP、FPGA,或可重設的微處理器。但是這些介面卡往往不具有適於重要時脈控制的 I/O,或針對該 I/O 的訊號處理。而即便使用如 FPGA 的可重新程式化要素,我們還是在設計程序中遇到許多問題;包含使用專屬語言、缺少技術文件記錄與支援、最小化的控制器彈性、缺乏效率的 I/O,與無法輕易修改的固定控制器運算式。
針對此專案,我們另外選擇包含控制器的 LabVIEW FPGA 快速原型硬體平台,與透過模組化 I/O 背板中的 FPGA,連接至控制器的模組化 I/O 系統。我們亦使用 NI CompactRIO 原型製作系統,具有 4 個或 8 個擴充槽的背板,可容納數位 I/O、類比 I/O,或通訊匯流排模組。
我們的張力控制硬體需要 2 組脈波寬度的模組輸出;2 組編碼器可提供 2 組馬達的電壓反饋;針對霍爾效應感測器的 2 個類比輸入通道,可偵測振動位置;產生訊號的 2 個數位通道;電熱與空氣讀數的通道。
我們使用客制的訊號處理電路,以於 NI CompactRIO 模組中連接模組至硬體;該模組整合 2 組控制器。第一組控制器為 266 MHz 的嵌入式微處理器,連接至乙太網路控制器與固態 (Solid-state) 硬碟。第二個控制器為機箱背板中的 1M 閘 FPGA,連接 I/O 模組與嵌入式微處理器。
我們利用 LabVIEW 圖形化資料流語言,不僅針對模組的遷入式微控制器進行程式設計,並管理背板中的 FPGA。由於該程式碼層次高於 C 語言,我們的控制、機器,與電子工程師可直接於 MCU 中進行程式碼作業。
我們選擇於嵌入式控制器中執行監控程式,並於 FPGA 中執行馬達控制運算式,以於原型製作與末端系統之間,進行較高相似度的程式設計模型。若要於 FPGA 中執行控制運算式,則可轉換零點-極點-增益 (zero-pole-gain) 模型,至相似於 LabVIEW 數位濾波器設計工具組的濾波器,我們可透過工具組,輕鬆轉換濾波器為可於 FPGA 中執行的程式碼。因為浮點架構必須於 FPGA 中佔有極大資源,我們使用工具組以自動產生定點程式碼。我們可以測試量子化 (Quantization) 選項,以穩定最後的濾波器。
我們亦可針對系統介面設計與基底硬體,使用 LabVIEW。每個 LabVIEW 函式包含程式碼代表的程式區,亦具有該函式的控制與指示碼 GUI。當進行跨系統作業時,GUI 將於系統中顯示視窗,可用來監控系統的內部情況,或調整程式的參數。我們可以針對嵌入式微處理器所執行的程式碼,使用人機介面以調整系統。
透過開放的 LabVIEW 圖型化系統設計平台,從設計、原型,到佈署,均節省了大量的時間。在我們所屬的產業中,節省的時間即為省下的成本;而 LabVIEW 嵌入式技術讓我們更受顧客青睞,並更具有競爭力。若要開發完整的嵌入式運動控制系統,則可使用標準設計工具,並於 LabVIEW 中整合模擬資料與實際資料,以最佳化整個設計。
替代模型、設計、測試,與系統設計的多種工具和環境,適用於 ADI Blackfin 處理器的 NI LabVIEW Embedded Module,提供了單一的整合工具鏈,讓我們針對工業設計進行作業,而不需注重語法。
Related Case Studies
Drivven 使用 NI CompactRIO 開發 FPGA 架構的引擎控制系統原型Sanarus 醫療公司使用圖形化系統設計進行腫瘤療程
聯邦快遞 (FedEx) 使用 NI LabVIEW 與 NI 單卡式 RIO 建立嵌入式滅火系統
列墨瑞克大學 (University of Limerick) 使用圖形化系統設計,進行無人水下載具 (UUV) 的開發與控制
新加坡南洋理工學院 (Nanyang Polytechnic) 使用嵌入式圖形化系統設計 (GSD) 強化救生蜘蛛機器人
|
|

