關(guān)鍵詞:CAN總線;Smith預(yù)估器;伺服控制系統(tǒng);延時補(bǔ)償
現(xiàn)場總線是計算機(jī)網(wǎng)絡(luò)在現(xiàn)代控制技術(shù)領(lǐng)域的應(yīng)用和發(fā)展,是應(yīng)用在生產(chǎn)最底層的一種總線型拓?fù)渚W(wǎng)絡(luò),可作為現(xiàn)場控制系統(tǒng)的、直接與所有受控(設(shè)備)節(jié)點(diǎn)串行相連的通信網(wǎng)絡(luò).傳統(tǒng)的控制系統(tǒng)難于實(shí)現(xiàn)設(shè)備之間以及系統(tǒng)與外界的信息交換,形成一個信息孤島.而現(xiàn)場總線控制系統(tǒng)既是一個開放式通信網(wǎng)絡(luò),又是一種全分布式控制系統(tǒng).
CAN(controller area network)稱為控制器局域網(wǎng).作者將CAN總線應(yīng)用到伺服控制系統(tǒng)中組成一個具有總線式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的分布式控制系統(tǒng),構(gòu)建基于CAN總線的運(yùn)動控制系統(tǒng)實(shí)驗(yàn)平臺,并將CAN總線運(yùn)用于伺服控制系統(tǒng).
1 運(yùn)動控制系統(tǒng)實(shí)驗(yàn)平臺的搭建
1.1 系統(tǒng)總體組成
CAN總線系統(tǒng)的設(shè)計采用上位機(jī)與節(jié)點(diǎn)的方式,上位機(jī)與節(jié)點(diǎn)之間采用CAN總線進(jìn)行通信。傳輸介質(zhì)采用屏蔽雙絞線.上位機(jī)由一臺工控機(jī)和一塊插在ISA總線中的CAN適配卡組成,監(jiān)控各節(jié)點(diǎn)的狀態(tài)和發(fā)送控制命令;而各節(jié)點(diǎn)由單片機(jī)、CAN控制器及其它外圍電路組成,接收上位機(jī)發(fā)送的命令并執(zhí)行之,同時返回狀態(tài)信息.運(yùn)動控制系統(tǒng)的總線式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示.
系統(tǒng)的主要功能是采集電機(jī)運(yùn)動的實(shí)時信息,并根據(jù)所得信息發(fā)送控制命令來控制電機(jī)運(yùn)動.
上位機(jī)(PC機(jī)或工控機(jī))通過CAN接口適配卡與各節(jié)點(diǎn)通信,規(guī)劃步態(tài)、啟停電機(jī),應(yīng)用閉環(huán)控制算法計算并發(fā)送控制信號,完成總體決策與控制;智能控制節(jié)點(diǎn)接收上位機(jī)發(fā)送的控制信號,將其轉(zhuǎn)換成模擬信號驅(qū)動速度單元,實(shí)現(xiàn)對速度單元的控制;智能傳感器節(jié)點(diǎn)以定時中斷的方式周期性編碼粗、精自整角機(jī)傳送的信號,得到負(fù)載的軸角信號并通過CAN總線發(fā)送給上位機(jī)用于控制決策.這樣就組成了一個基于CAN總線的分布式運(yùn)動控制系統(tǒng).
智能節(jié)點(diǎn)中,作為微處理器的單片機(jī)負(fù)責(zé)CAN控制器的初始化,通過控制CAN控制器實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù);CAN總線驅(qū)動器提供了CAN控制器與物理總線之間的接口,提供對總線的發(fā)送和接收功能;D/A轉(zhuǎn)換器和自整角機(jī)-數(shù)字轉(zhuǎn)換器及其外圍電路分別構(gòu)成了控制系統(tǒng)的模擬量輸出通道和模擬量輸入通道.
1.2 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)的控制對象是一個FANUC公司生產(chǎn)的PWM功率放大器速度單元,如圖2所示.設(shè)計中將CAN總線技術(shù)應(yīng)用于控制系統(tǒng),通過研制CAN適配卡、智能控制節(jié)點(diǎn)、智能傳感器節(jié)點(diǎn)來構(gòu)建基于CAN總線的運(yùn)動控制系統(tǒng)實(shí)驗(yàn)平臺.
采用在PC總線中插入CAN通信適配卡,由單片機(jī)、CAN通信電路、信號檢測、A/D、D/A及它們的接口電路等構(gòu)成智能控制器節(jié)點(diǎn)和智能傳感器節(jié)點(diǎn),各部分通過CAN總線連接在一起構(gòu)成實(shí)驗(yàn)系統(tǒng).這樣,一方面可實(shí)現(xiàn)系統(tǒng)各功能的模塊化分離和設(shè)計,另一方面有助于網(wǎng)絡(luò)系統(tǒng)的組建.
選用工業(yè)PC機(jī)作為主控機(jī),完成規(guī)劃步態(tài)、啟停電機(jī)、實(shí)現(xiàn)閉環(huán)控制算法等.采用80C196作為智能節(jié)點(diǎn)的微處理器,智能控制節(jié)點(diǎn)通過CAN總線接收上位機(jī)傳送的控制信號,由DACl210完成D/A轉(zhuǎn)換,實(shí)現(xiàn)對電機(jī)的驅(qū)動;智能傳感器節(jié)點(diǎn)通過電子斯科特變壓器以及RDC完成A/D轉(zhuǎn)換,得到軸角信號并通過CAN總線傳送給上位機(jī).至此,基于CAN總線的電機(jī)位置閉環(huán)運(yùn)動控制系統(tǒng)搭建完成.
2 問題描述及控制算法
2.1 問題描述
與傳統(tǒng)控制系統(tǒng)相比,分布式控制系統(tǒng)具有簡單、快捷、連線少、便于安裝與維護(hù)等諸多優(yōu)點(diǎn),但在具有總線式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的分布式控制系統(tǒng)中,由于數(shù)據(jù)傳輸延時不可避免,因此,一定程度上影響了控制系統(tǒng)的性能,甚至造成系統(tǒng)不穩(wěn)定.
傳統(tǒng)的控制系統(tǒng)為點(diǎn)對點(diǎn)控制,傳感器采集到的數(shù)據(jù)直接反饋到控制器,控制器將計算得到的控制量直接輸出到D/A,得到的電壓控制信號立即作用于被控對象完成閉環(huán)控制.系統(tǒng)中的延時主要來自于控制算法的計算時間和硬件電路的延遲時間在將CAN總線引入閉環(huán)控制系統(tǒng)之后,系統(tǒng)結(jié)構(gòu)的改變帶來了控制行為的巨大差異,傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)通過總線傳遞到控制器節(jié)點(diǎn),反饋回路中的數(shù)據(jù)傳輸延時使得控制器無法實(shí)時獲得被控對象的狀態(tài)信息.同樣,控制器節(jié)點(diǎn)產(chǎn)生的控制信號必須通過總線傳遞到執(zhí)行器節(jié)點(diǎn),傳輸延時的存在使得控制信號亦無法及時作用于被控對象.此種情況下,數(shù)據(jù)傳輸延時變?yōu)橛绊懴到y(tǒng)性能和破壞系統(tǒng)穩(wěn)定性的主要因素,因此,必須采取能夠有效補(bǔ)償傳輸延時的控制算法.
2.2 控制器的設(shè)計
Smith預(yù)估算法是克服純滯后的另一個有效的控制方法,其基本原理是通過預(yù)估對象的動態(tài)特性,用一個預(yù)估模型進(jìn)行時間滯后的補(bǔ)償,補(bǔ)償器與被控對象共同構(gòu)成一個沒有時間滯后的廣義被控對象.這樣,控制器相當(dāng)于對一個沒有時間滯后的系
統(tǒng)進(jìn)行控制,從而有效地克服了純滯后的影響.
在本系統(tǒng)中,CAN總線的波特率和傳輸數(shù)據(jù)的字節(jié)數(shù)為固定值,在不考慮算法計算時間和硬件電路延遲時間的情況下,系統(tǒng)中的延時可以近似地用純滯后來模擬.由于通過Smith預(yù)估器的補(bǔ)償,可以近似地認(rèn)為廣義被控對象中已不含有時滯部分.控制器采用大誤差、中誤差、小偏差三段控制算法,其中,大誤差時數(shù)字控制器輸出飽和值(即D/A飽和輸出),這樣伺服系統(tǒng)的速度環(huán)將以最大加速度啟動直到最大速度,并以這個速度恒速運(yùn)動;到達(dá)中等誤差以后,控制器按最大減速度規(guī)律ω=(2еε)1/2給出,引導(dǎo)伺服系統(tǒng)以最大減速度制動,平穩(wěn)地到達(dá)協(xié)調(diào)點(diǎn).式中:ε為減加速度;e為誤差.小偏差時控制算法采用