運動控制系統中追蹤誤差 (Following Error)



主要軟體:
主要軟體版本: 7.6
主要軟體修正版本:
次要軟體: Utility Software>>FlexMotion Servotune, Utility Software>>Measurement & Automation Explorer
硬體: Motion Control>>Controllers

問題: 什麼是追蹤誤差?它會如何影響我的運動程式?

解答: 什麼是追蹤誤差?
NI 73xx 運動控制器包含內建於硬體上的PID控制迴圈,這讓控制器能夠使用位置及速度回饋,以調整控制器的指令訊號。這個回饋訊號,讀自編碼器的類比電壓或脈波訊號,代表馬達真正的位置或速度。控制器比較指令訊號以及回饋訊號,以確認法達是否跟上指令。這兩者之間的差,就稱之為追蹤誤差。

為什麼當我下動作指令時,我的程式回報超過追蹤誤差的限制?

有一個可調整的參數是用來限制運動中的追蹤錯誤。當超過限制時,會產生錯誤狀況並回報關於這個限制的錯誤。追蹤錯誤的狀況可能綜合以下原因:機械結構的缺陷、不恰當的輸入與輸出、控制迴圈的缺陷。追蹤錯誤的狀況很難除錯,以下列出常見的原因:

在 Measurement & Automation Explorer (MAX)中設定Encoder Counts Per Revolution時,常常會將這個參數誤設為編碼器的實際解析度。取而代之地,這個設定應該要對應到控制器所讀到的數字,也就是解析度的四倍。
改變允許的最大追蹤誤差
在MAX中,各個軸皆可設定追蹤誤差。要設定時,請到 Devices and Interfaces»PCI-73xx»Default 73xx Settings»Axis x»Trajectory Settings。在MAX中的 1-D Interactive2-D Interactive 視窗中下移動指令時,切換到螢幕下方 Advanced 頁面,在 Advanced Trajectory Parameters群組中,調整標示為 Following Error的數值。在LabVIEW中使用 FlexMotion API時,使用 Load Following Error VI來設定允許的計數數字。

當用C或Visual Basic撰寫程式時,使用flex_load_follow_err函式。

相關連結: Developer Zone Tutorial: Understanding Servo Tune
KnowledgeBase 491HBUP9: Closed Loop Stepper Movement is Inaccurate
KnowledgeBase 320HJPOV: Motor Spins at Full Torque Until it Trips a Following Error on the 734x or 735x

附加檔案:





報告日期: 10/17/2005
最後更新: 08/25/2010
文件偏號: 3QGEF7D3