
相關(guān)視頻
文章內(nèi)容
石油管道缺陷檢測爬行器控制系統(tǒng)
DAC 0800D/A轉(zhuǎn)換器 LM628運動控制器位置控制算法
2003年10月(2)
本系統(tǒng)選用DAC 0800D作為D/A轉(zhuǎn)換器,其中8位無鎖存高速電流型輸出的。它的輸出電流需經(jīng)運算放大器LM12轉(zhuǎn)換為電壓信號,本系統(tǒng)中DAC0800采用雙極性接法,以使電機能做前進(jìn)或后退運動。當(dāng)數(shù)字輸入為00H時,輸出電壓為-10V,數(shù)字輸入為FFH時,輸出電壓為+10V。
本系統(tǒng)選用LM628專用的運動控制處理器進(jìn)行運動控制。LM628是為使用增量式編碼器作位置反饋的各種直流或無刷直流伺服電動機伺服系統(tǒng)或其他伺服機構(gòu)而設(shè)計的,它能為先進(jìn)的運動控制提供強大的實時運算能力,為便于與上級主機連接而提供了便利的高級指令集。
LM628實際上是為一個專門用途而設(shè)計的單片機,其特點為:32位的位置、速度、加速度寄存器;可編程數(shù)字PID濾波器;可編程微分采樣間隔;8位或12位D/A轉(zhuǎn)換器輸出數(shù)據(jù);內(nèi)部梯形速度圖發(fā)生器;速度、目標(biāo)位置和PID濾波器參數(shù)在運動過程中可以改變;可選擇位置或速度控制方式;實時可編程的主計算機中斷;8位并行異步主計算機中斷;與增量式編碼器的接口。
LM628功能為:接受主機的指令和向主機提供狀態(tài)和數(shù)據(jù);執(zhí)行梯形速度圖的計算和數(shù)字PID濾波,不論是設(shè)置為位置控制還是速度控制方式,梯形速度圖發(fā)生器計算出需要的梯形速度分布圖;利用增量編碼器反饋實際位置;在運行中進(jìn)行預(yù)定位置(速度圖發(fā)生器計算的位置)與實際位置的減法運算,此位置誤差經(jīng)數(shù)字PID濾波器處理后輸出,由外界D/A轉(zhuǎn)換器的放大,驅(qū)動電動機到達(dá)預(yù)定位置。
LM628采用28引腳雙列直插式封裝,其引腳功能簡述為:
接收從增量編碼器來的標(biāo)記index亦即零位信號;A、B接收從增量編碼器來的兩個正交信號,當(dāng)電動機正轉(zhuǎn)時,A腳信號應(yīng)超前于B腳信號90°
連接主計算機或主處理器的I/O口,利用
和
可向LM628寫入指令和數(shù)據(jù),或從LM628讀出狀態(tài)字節(jié)和數(shù)據(jù);
片選輸入,由主機用來選LM628,進(jìn)行讀寫操作;
由主機用來讀出LM628的狀態(tài)和數(shù)據(jù);
由主機用來向LM628寫入指令或數(shù)據(jù);
由主機用來選擇LM628的指令口或數(shù)據(jù)口,當(dāng)
為低電平時,向指令口寫入指令,或從指令口讀出狀態(tài);當(dāng)
為高電平時,經(jīng)數(shù)據(jù)口寫入或讀出數(shù)據(jù);HI通知主計算機中斷條件已具備;DAC0~DAC7DAC輸出口。
復(fù)位輸入端。
LM628的主機接口為上級機對其編碼和監(jiān)控提供便利,而在軟件上主機的編程和監(jiān)控功能則是通過向LM628下達(dá)用戶指令來實現(xiàn)的。這些指令包括初始化、中斷控制、濾波器控制、軌跡控制、數(shù)據(jù)上報等功能,其中一些指令是單獨的,而另一些指令需要一個支持?jǐn)?shù)據(jù)結(jié)構(gòu),具體列于表1。
表1 LM628的用戶指令集
類型 |
指令 |
說明 |
初始化 |
RESET |
復(fù)位 |
PORT8 |
選擇8位輸出 |
|
PORT12 |
選擇12位輸出 |
|
DFH |
定義原點 |
|
中斷 |
SIP |
設(shè)定位置 |
LPEI |
誤差中斷 |
|
LPES |
誤差停 |
|
SBPA |
設(shè)定斷點,絕對 |
|
SBPR |
設(shè)定斷點,絕對 |
|
MSKI |
屏蔽中斷 |
|
RSTI |
復(fù)位中斷 |
|
濾波 |
LFIL |
裝入PID濾波器參數(shù) |
UDF |
修改PID濾波器參數(shù) |
|
軌跡 |
LTRJ |
裝入軌跡數(shù)據(jù) |
STT |
啟動 |
|
報告 |
RDSTAT |
讀狀態(tài)字節(jié) |
RDSIGS |
讀信號寄存器 |
|
RDIP |
讀位置 |
|
RDDP |
讀預(yù)定位置 |
|
RDRP |
讀實際位置 |
|
RDDV |
讀預(yù)定速度 |
|
RDRV |
讀預(yù)定速度 |
|
RDSUM |
讀積分和 |
在圖2中,運動控制處理器LM628用8位并行總線與主計算機(PC104嵌入式工控機)接口,地址線經(jīng)譯碼后作為LM628的CS輸入;地址的LSB直接驅(qū)動PS輸入。LM628的8位DAC輸出接DAC0800D/A轉(zhuǎn)換器,送LM12線性功率放大器驅(qū)動直流電動機。
增量編碼器三個信號A,B和IN接至LM628。兩個正交信號A與B用來跟蹤電動機的絕對位置,它們組成四個邏輯狀態(tài),此邏輯狀態(tài)的每一次改變,相應(yīng)的LM628內(nèi)位置寄存器增加或減少一個數(shù)。這樣,系統(tǒng)分辨率比該編碼器增加或減少一個數(shù)。這樣,系統(tǒng)分辨率比該編碼器條紋數(shù)高4倍。
信號是每一轉(zhuǎn)出現(xiàn)一次低電平的脈沖信號,當(dāng)編碼器三個信號都是低電平時產(chǎn)生index信號送內(nèi)部專門的寄存器index,用于記錄電動機的絕對位置。
LM628的DAC輸出口可提供鎖存8位并行輸出或雙重12位輸出,這個DAC輸出數(shù)據(jù)是移位二進(jìn)制碼(即8位、12位碼的零點分別為80h、800h)。本系統(tǒng)選擇8位輸出,當(dāng)讀出數(shù)據(jù)小于零點時,電動機產(chǎn)生的是負(fù)轉(zhuǎn)矩(爬行器后退);而當(dāng)輸出數(shù)據(jù)大于零點時,則產(chǎn)生正轉(zhuǎn)矩(爬行器前進(jìn))。
在本系統(tǒng)的位置控制方式中,主計算機確定了加速度、減速度、爬行速度、檢測速度、初始位置、爬行與檢測轉(zhuǎn)換位置、最后位置等信息,并通過用戶命令傳遞給LM628,LM628則利用這些信息使電動機按圖1的位置-速度圖進(jìn)行加速、高勻速、減速、低勻速、降速、停止的規(guī)律運動。
在LM628中有一個數(shù)字PID濾波器用于實現(xiàn)位置控制算法。位置實際值是由聯(lián)于電機的主軸上的旋轉(zhuǎn)編碼器來獲取的,編碼器將爬行器走過的距離轉(zhuǎn)換為一系列脈沖,再由LM628計數(shù)處理,處理后便可知爬行器所處的位置。假定電機輪子的直徑為D,編碼器每轉(zhuǎn)發(fā)出N個脈沖,則每個脈沖對應(yīng)的距離為
D/N。在預(yù)定位置上,對于任何擾動,電動機都產(chǎn)生一個轉(zhuǎn)矩來保持此位置。此回復(fù)轉(zhuǎn)矩正比于位置偏差加上偏差的積分和微分。LM628給電動機的輸出信號可用離散PID算法表示為
式中:e為位置偏差,e(n)=S(n)-Sg(n);S(n)與Sg(n)分別為實際距離、給定距離;n表示為第n次采樣;n′表示以微分采樣速率進(jìn)行的采樣;Kp,Ki及Kd系由用戶設(shè)定的濾波參數(shù),它們可根據(jù)實際情況進(jìn)行事先整定。
4 結(jié)束語
本文介紹了海底石油管道檢測系統(tǒng)的工作過程,并詳細(xì)地討論了海底石油管道檢測智能控制器的缺陷精確定位過程、智能控制器的硬件結(jié)構(gòu)、位置控制算法等,經(jīng)仿真運行和實際試驗運行均表明了本控制器運動控制的正確性和可靠性。

推薦產(chǎn)品


