1 概述
現(xiàn)在的位置伺服系統(tǒng)一般采用所謂的“軟伺服”系統(tǒng),使位置增益不很大,這樣系統(tǒng)容易穩(wěn)定,并且增加一個閉環(huán)調(diào)速單元,速度環(huán)的增益很大。因此,很小的位置偏差就能產(chǎn)生很明顯的速度偏差,速度環(huán)就以很高的增益修正,從而使系統(tǒng)得到很高的位置分辨率[1]。作者在研制一種數(shù)控刨齒機(jī)時,設(shè)計并完成了單軸位置伺服系統(tǒng),該系統(tǒng)采用半閉環(huán)結(jié)構(gòu),框圖如圖1所示。本文將結(jié)合該系統(tǒng),闡述位置伺服系統(tǒng)的組成及硬件實現(xiàn)。
圖1 單軸位置控制系統(tǒng)的框圖
2 位置伺服系統(tǒng)的組成
在圖1中,位置控制器和速度控制器均由486個人微機(jī)編程實現(xiàn)。電機(jī)采用北京數(shù)控設(shè)備廠的FANUC-BESK(15型)直流伺服電機(jī),并采用該廠的A06B-6054-H005作為功率驅(qū)動模塊。由于該速度控制單元是模擬系統(tǒng),因此采用12位D/A轉(zhuǎn)換器,把微機(jī)根據(jù)控制算法輸出的數(shù)字量轉(zhuǎn)換為合適的模擬電壓,控制電機(jī)向減小位置偏差的方向轉(zhuǎn)動。位置反饋采用光電編碼器,分辨率為4000線/轉(zhuǎn),經(jīng)四倍頻電路,由可編程計數(shù)器8254記錄位置脈沖數(shù),位置控制器則根據(jù)此脈沖數(shù)和指令脈沖數(shù)計算出速度指令電壓,再輸出
到一個12位D/A轉(zhuǎn)換器,即得到模擬的速度指令電壓。速度反饋也利用同一個光電編碼器和計數(shù)電路,速度控制器通過對位置求一階差分計算出實際轉(zhuǎn)速,然后輸出到另一個12位D/A轉(zhuǎn)換器,將得到的模擬電壓反饋至速度控制單元的速度反饋輸入端。實際轉(zhuǎn)速ω按ω=ΔN/Ts式求取,其中ΔN為在采樣周期內(nèi)的位置脈沖增量,Ts為采樣周期,該系統(tǒng)取8毫秒。
作者編寫的CNC控制程序采用前、后臺軟件結(jié)構(gòu),前臺程序是一個中斷服務(wù)程序,由硬件實現(xiàn)8毫秒定時中斷,主要完成精插補(bǔ)和位置控制功能;后臺程序是一個循環(huán)運(yùn)行程序,主要完成數(shù)據(jù)輸入、粗插補(bǔ)及其它輔助功能。
3 伺服系統(tǒng)的實現(xiàn)
數(shù)模轉(zhuǎn)換采用芯片DAC1210,為了不降低分辨率,用一個電子開關(guān)CD4052處理正負(fù)號,使數(shù)模轉(zhuǎn)換達(dá)到雙極性12位,為了提高驅(qū)動能力和抑制干擾,輸出采用集成運(yùn)放OP07做成射極跟隨器的形式,電路如圖2所示。
圖2 雙極性12位D/A轉(zhuǎn)換
3.1 四倍頻器
四倍頻器[2,3]采用微分電路來實現(xiàn),其抗干擾能力較差。作者設(shè)計了一種四倍頻器,采用積分型單穩(wěn)態(tài)電路,如圖3所示。電路的工作原理:A、B兩路相位差90°的方波脈沖,電機(jī)正向轉(zhuǎn)動時,A領(lǐng)先B;電機(jī)反向轉(zhuǎn)動時,B領(lǐng)先A。該電路在A及A的反相-A和B及B的反相-B各接了一個積分型單穩(wěn)態(tài)電路[4],在A的上升沿、下降沿分別產(chǎn)生一個短脈沖A′和-A′,在B的上升沿、下降沿分別產(chǎn)生一個短脈沖B′和-B′。當(dāng)A為低電平時,Va為高電平,G2輸出為低電平;當(dāng)A上升沿來到后,G1輸出為低電平,但由于電容兩端的電壓不能突變,所以在一段時間里Va仍在閾值電平之上,G2輸出為高電平,電路進(jìn)入暫穩(wěn)態(tài)。隨著電容的放電,Va不斷下降,當(dāng)Va低于閾值電平時,G2輸出為低電平,待A回到低電平后,G1輸出為高電平,電容又開始充電,當(dāng)Va恢復(fù)為高電平時,電路又達(dá)到穩(wěn)態(tài),為下一次上升沿的到來作好準(zhǔn)備。由以上分析可知,A′的脈沖寬度TW等于電容開始放電到Va下降至閾值電平所經(jīng)歷的時間,根據(jù)對RC電路暫態(tài)過程的分析,可知電容上的電壓Va放電時間由下式?jīng)Q定[4]:

(1)
式中 R′——RC電路放電回路的電阻
C′——RC電路放電回路的電容
VC(∞)——電容電壓的穩(wěn)態(tài)值
VC(0)——電容電壓的初值
VC(t)——經(jīng)過t時間放電后的電容電壓值
設(shè)LSTTL電路的輸出高電平為VOH,輸出低電平為VOL,VTH為閾值電平,R0為G1輸出低電平時的輸出電阻,將R′=R0+R、C′=C、VC(∞)=VOL、VC(0)=VOH、
VC(t)=VTH代入式(1)可得脈沖寬度TW為:

(2)
考慮到電路恢復(fù)時間,應(yīng)使方波脈沖序列的周期為TW的7~8倍,這樣電路才能可靠地工作??梢該?jù)此選擇合適的電阻和電容。將得到的四個短脈沖序列A′、-A′、B′、-B′按圖3所示進(jìn)行與或非的邏輯組合,在U1、U2的輸出端將產(chǎn)生表示正轉(zhuǎn)和反轉(zhuǎn)的四倍頻脈沖序列,如圖4所示。該電路有較好的抗干擾性能,因為高頻時容抗很小,而且脈沖經(jīng)過二級與門的選擇。
圖3 積分型四倍頻計數(shù)電路
圖4 正、反轉(zhuǎn)四倍頻器脈沖波形(左:正轉(zhuǎn) 右:反轉(zhuǎn))
3.2 脈沖計數(shù)電路與初值跳動
8254是與微機(jī)接口非常方便的可編程計數(shù)器,在方式2下計數(shù)器可自動重復(fù)計數(shù),利用它的兩個
計數(shù)通道分別記錄正轉(zhuǎn)和反轉(zhuǎn)脈沖,在程序里讀入計數(shù)值并使二者相減,便可得到在采樣周期內(nèi)的位置脈沖增量,給后續(xù)程序作進(jìn)一步處理。作者在應(yīng)用中發(fā)現(xiàn)8254有一個缺陷:對它進(jìn)行初始化后,輸出鎖存器殘留有隨機(jī)數(shù),這時程序讀數(shù)就會讀到這個隨機(jī)數(shù),所以當(dāng)?shù)谝粋€計數(shù)脈沖到來后,計數(shù)器開始從編程初值減一計數(shù)。當(dāng)實際位置脈沖沒有來到時,程序里讀到的位置脈沖值為一隨機(jī)數(shù),當(dāng)有實際位置脈沖輸入到計數(shù)器后,采樣程序讀到的是正常的位置脈沖值,所以采樣程序第一次計算出的正轉(zhuǎn)或反轉(zhuǎn)脈沖數(shù)是不正確的,而隨后計數(shù)才進(jìn)入正常狀態(tài)。第一次讀數(shù)的這一隨機(jī)性將引起系統(tǒng)的劇烈跳動,稱之為“初值跳動”。這種跳動對數(shù)控機(jī)床來說是不可接受的,必須予以消除。
作者通過程序處理解決了這一問題,其方法:初始化后先記錄下輸出鎖存器的起始內(nèi)容,在采樣程序里把讀入輸出鎖存器的內(nèi)容與此起始數(shù)值比較,若數(shù)值不變,說明沒有計數(shù)脈沖,位置增量為零;若數(shù)值發(fā)生變化,說明已有計數(shù)脈沖到來,經(jīng)過程序計算得到第一次的位置增量。此后不再判別“初值跳動”,進(jìn)行正常計數(shù)。解決“初值跳動”的程
序如下(用Turbo C語言實現(xiàn)):
實時采樣程序:
……
unsigned char cl,ch;
unsigned int clk0;
outportb(P8254+3,0xd6);
cl=inportb(P8254);
ch=inportb(p8254);
clk0=cl|(ch<<8);
if(clk0!=Old-clk0)first=1;
if(first)
?。?
dsp0=……;
……
?。?
else
dsp0=0;
……
初始化程序:
……
unsigned char ch,cl;
cl=inportb(P8254);
ch=inportb(P8254);
Old-clk0=cl|(ch<<8);
……
有關(guān)變量的說明:
Old-clk0:輸出鎖存器的起始初值
clk0:輸出鎖存器的讀數(shù)值
first:判斷是否有第一個脈沖到來的邏輯變量
dsp0:位置增量
P8254:8254的片選地址
8254的第三個計數(shù)通道用來產(chǎn)生8毫秒的定時中斷,用來觸發(fā)中斷服務(wù)程序。
4 實驗與結(jié)論
該伺服系統(tǒng)采用4000線/轉(zhuǎn)的光電編碼器,再經(jīng)過四倍頻電路,脈沖當(dāng)量為δ=360°/(4000×4)=0.0225°/脈沖,位置控制算法采用前向差分控制算法,調(diào)整速度反饋的D/A轉(zhuǎn)換,使輸出滿足速度控制單元A06B-6054-H005的要求:3V/1000r/min,速度環(huán)反饋系數(shù)調(diào)節(jié)為1.2,電機(jī)能在不同的恒值速度指令電壓下平穩(wěn)運(yùn)轉(zhuǎn),線性度為2000r/min/7V。
表不同速度下的穩(wěn)態(tài)跟蹤誤差
經(jīng)過實驗,調(diào)整位置增益為2,電機(jī)定位誤差為±8脈沖,即±0.18°。在不同的進(jìn)給速度指令下,測得的穩(wěn)態(tài)跟蹤誤差見下表。電機(jī)到工作臺有150∶1的減速比,上述性能指標(biāo)已能滿足實際的加工要求。另外,經(jīng)過軟件處理,系統(tǒng)徹底消除了“初值跳動”的現(xiàn)象。