摘 要: 敘述了一個六自由度機構伺服控制系統的基本結構、組成、控制原理、伺服控制算法等;介紹了TE5650A控制器模塊;同時介紹了伺服控制系統的軟件結構和功能,以及對由軟件驅動的手動指令進給的機構抖動問題的解決方法
關鍵詞: 六自由度機構 伺服控制系統 控制算法 伺服控制器 系統軟件 機構抖動
本文所述的六自由度機構是用來進行風洞外掛物可控軌跡實驗的主要設備,它是外掛物模型的支撐和運動執行機構,由它來附帶一個剛性物體,在一定空間范圍內到達任意位置并形成任意姿態。它是由計算機控制的六個自由度相互獨立運動的機電一體化裝置,包括三個作直線運動的部件(軸向X、垂直方向Z、側向Y)和三個作回轉運動的部件(俯仰α、偏轉β、滾轉γ)。各個自由度的示意圖如圖1所示。
機構的每個自由度均由一個直流伺服電機拖動,其中軸向X、垂直方向Z、側向Y采用滾珠絲杠傳動,它們將電機的旋轉運動轉換為機構的直線運動;而俯仰α、偏轉β、滾轉γ三個自由度均采用諧波減速和齒輪傳動相結合的傳動,以形成各個姿態角的旋轉運動。機構的每一個自由度都帶有位置反饋環節和速度反饋環節以形成閉環系統,而用對位置變化量進行編碼的差分增量式光電編碼器產生控制器的位置和速度反饋信號。本文所述的六自由度機構控制系統對機構的各個自由度都能進行精確的運行和位置控制,同時使機構的各個自由度運行平穩。
1 控制系統的基本結構和功能
1.1 控制系統組成
該機構控制系統以一臺工業PC機為核心,通過以太網與進行空間位置、姿態運算的上位機相連,接收上位機發給的各個自由度的行進指令,通過伺服控制器產生控制信號,然后經電機驅動器控制電機運行。其控制系統組成如圖2所示。
控制系統主要包括工控機、2個TE5650A伺服控制器、6個自由度的直流伺服電機、伺服驅動單元(PDC)及光電編碼器、手動輕便操縱箱(MPG)和用于接受、控制機構運行狀態的I/O接口板以及相應的外圍控制線路。其中,TE5650A伺服控制器是實現機構控制的核心,每個TE5650A模塊可以控制四個自由度的伺服電機,在本系統中,每個TE5650A模塊控制三個自由度的伺服電機。第二個TE5650A模塊除控制伺服電機外,還用于對手動輕便操縱箱的進給指令進行計數,以實現軟件驅動的手動指令進給。直流伺服驅動器PDC將TE5650A的控制信號進行功率放大后輸出給電機。
1.2 控制系統原理
各個自由度的控制回路均包含速度環和位置環兩個閉環系統,其中速度閉環主要由伺服驅動器PDC和TE5650A控制器模塊共同構成,而位置閉環則主要由TE5650A模塊構成。系統中的速度和位置反饋信號都來自于一個差分增量式光電編碼器,其速度值是由編碼器的輸出脈沖經過頻率/電壓變換后得到,而位置值通過對光電編碼器的輸出脈沖計數得到。各個自由度的控制原理如圖3所示。
TE5650A模塊實現系統的閉環調節過程,它接受工控機發給的運行指令,控制各個自由度的整個運行過程。伺服控制器的控制算法為典型的PID算法,伺服控制器將當前運行軌跡過程中的目標位置與當前的實際位置相比較產生位置誤差,進行PID調節。PID算法的示意圖如圖4所示,公式如下:
其中,TPn為n時刻應當到達的目標位置;APn為n時刻的實際位置;∑En為n時刻的誤差積分和;Kp、Ki、Kd為不同軸的系統傳遞函數經過計算和實驗得出的PID控制參數。
在本系統中,還采用帶有速度前饋的PID算法(PIDVFF)。PIDVFF算法的示意圖如圖5所示,公式如下:
其中,VEn為n時刻的速度誤差;PCn為n時刻的位置誤差PID算法的輸出;TVn為n時刻的目標速度;AVn為n時刻的實際速度。Kvff為速度前饋系數,由用戶根據實際情況設置。PIDVFF算法可以使得電機運行更加平穩。
2 TE5650A伺服控制器
TE5650A是美國Technology 80公司的基于DSP技術的伺服控制器產品。它在硬件和軟件上均采用了開放式的結構設計,在提供伺服控制功能的同時,也給使用和開發帶來很大的方便。TE5650A模塊采用PC/AT ISA總線形式,使用I/O映射方式與計算機打交道。TE5650A各個軸伺服閉環的最小控制周期為0.4ms,最大刷新頻率為2.5kHz;TE5650A支持模擬信號和脈寬調制信號(PWM)兩種輸出控制信號。
2.1 電機運行方式
TE5650A伺服控制器支持兩種基本類型的電機運行模式:速度方式和點到點方式。在速度方式下,可以設置電機的運行速度,讓電機以恒定速度運行,直到發出指令讓其停止或者改變其速度為止,其示意圖如圖6所示。在點到點方式下,由用戶設置機構運行的目標位置和運行模式,使TE5650A控制電機平穩地運行到目標位置。點到點方式主要包括梯形和S曲線兩種運行模式,其示意圖分別如圖7、圖8所示。可以看出,S曲線運行模式的加速方式是逐漸加速,減速也是如此,它比梯形運行模式更加平穩。兩種模式都需要設置目標位置、最大速率、加速度等參數,S曲線模式還需要設置加加速度參數(jerk),這個參數是指在速度變化過程中的加速度的變化率。
2.2 TE5650A基本結構
圖9示出了TE5650A伺服控制器的基本結構。
每個伺服軸通過增量式編碼器的反饋來驅動各個軸運行到指定位置。運行軌跡發生器產生每個伺服軸在當前運行模式下的每個時刻的目標位置、速度、加速度等參量。數字濾波器用來實現PID和PIDVFF算法,以計算輸出控制信號的大小。為了精確地同步各個軸的運動,TE5650A采用了雙緩存技術來實現各個軸的參數和運行指令的同時發送。每個軸還有正、負限位及零點控制。計算機可以隨時對TE5650A的運行狀態進行監測。
3 PDC直流伺服驅動器
直流伺服驅動器主要將TE5650A輸出的控制信號進行功率放大和整形,以匹配不同的電機特性。同時,它還具有一級速度閉環控制,使系統運行更加平穩。直流伺服驅動器采用了北京寶倫機電技術公司的PDC系列驅動器,它采用了先進的智能型功率模塊和混合集成電路,具有頻帶寬、響應速度快、調速范圍廣、位置與速度檢測二合一等優點,具有良好的可靠性。
4 控制系統軟件的基本結構與功能
TE5650A模塊提供了多種形式的驅動程序,在Windows95\98\NT下,可以采用動態鏈接庫(DLL)形式的驅動程序。它是一個函數集,對TE5650A模塊的所有操作全都包含在這個函數集中,利用這些函數,可以編寫適合于系統實際情況的應用程序,同時還可以利用TE5650A的許多強大的初級功能。驅動程序庫對TE5650A模塊的操作是進行直接的寄存器讀寫,這使得整個系統有很高的處理速度。
控制系統軟件是建立在TE5650A模塊驅動程序之上的,它們之間的關系如圖10所示。
控制系統軟件主要實現機構的實時狀態顯示、伺服系統的電源管理、TE5650A狀態監測、機構故障聯鎖、故障解除、靜態調試、以及通過軟件驅動的手動操作;控制軟件還具備接收上位機發給的網絡控制命令以運行機構的網絡控制功能;另外它還可以實現多個軸聯動的動、靜態調試功能。
5 軟件驅動的手動指令進給的機構抖動問題
該機構可以通過手動輕便操縱箱進行各個自由度的人為手動的小范圍內的位置和姿態調整。手動輕便操縱箱發出的進給信號為可以反映進給方向和速度的差分脈沖信號。為了減少整個系統的硬件開銷,我們使用其中一個TE5650A模塊剩余的一個伺服控制器,利用TE5650A對增量式編碼輸出脈沖的計數功能,將手動輕便操縱箱的手動進給脈沖接入該控制器的編碼器信號輸入端,從而實現手動進給量多少的輸入,同時利用開關量進行軸選通,由工控機發出相應的運行指令,使機構運行。這樣設計避免了用硬件實現手動進給時額外的硬件開銷和控制線路設計。手動進給的硬件結構如圖11所示。
在執行手動時,由控制軟件循環掃描TE5650A對手動進給脈沖的計數值并且清零,同時根據軸選通開關決定哪一個軸運行并且運行多少。由于系統軟件的參與,一個連續的手動脈沖計數過程被程序的循環掃描過程分成了許多小段,如果TE5650A對每一個小段都執行點對點的運行方式,由于每個小段都有升、減速乃至停止的過程,因此機構運行在這種方式下顯得不太平穩,有明顯的抖動現象。由于α、β自由度機構的運動放大作用,這種現象更為明顯。加快程序的循環掃描速度也不能解決這個問題。
經過試驗,我們發現如果在手動過程中每一個循環掃描小段采用TE5650A的速度運行方式,即將每一個小段的手動進給脈沖計數值乘以一個當量系數,用作TE5650A的執行速度值,機構運行就很平穩。即使手動進給的脈沖速度有快有慢,機構運行也只是反映手動速度的快慢,并且在速度變化過程中運行也很平穩。
整個控制系統體積小、結構緊湊,具有較高的可靠性。機構的運行控制精度較高,可以達到±3×編碼器脈沖當量以內,能夠滿足系統運行的需要。采用速度運行方式可以解決軟件驅動的手動指令進給中的機構抖動問題。
參考文獻
1 章燕申,袁曾任.控制系統的設計與實踐.北京:清華大學出版社,1992.3
2 王子才.控制系統設計手冊.北京:國防工業出版社,1993
3 Model 5650.5650A Family of DSP Based Servo Control Boards Software Guide.Technology 80 Inc,1997.6
4 Model 565X DSP Family Hardware Guide.Technology 80 Inc,1997.6