- 相關(guān)推薦
介紹一種高精度位置環(huán)系統(tǒng)
摘要:本文簡要敘述了高精度位置環(huán)系統(tǒng)的組成方法,詳細(xì)闡述了光電編碼器在位置環(huán)中的應(yīng)用原理和速度修正方法。概述了單片機(jī)及串行D/A的應(yīng)用。關(guān)鍵詞:光電編碼器,位置控制,測速發(fā)電機(jī),恒速控制。
0引言:
我們在為某單位開發(fā)一種高精度恒速泵產(chǎn)品時,需要一種速度調(diào)節(jié)范圍達(dá)1:100000以上﹑穩(wěn)定精度≤0.3%調(diào)速系統(tǒng)。我們查閱了國內(nèi)有關(guān)生產(chǎn)伺服控制系統(tǒng)廠家的產(chǎn)品,幾乎沒有一家能滿足要求。為了研制該產(chǎn)品,我們經(jīng)過認(rèn)真分析,仔細(xì)論證后,決定采用光電編碼器作反饋元件,用單片機(jī)測出光電編碼器每分鐘脈沖輸出個數(shù),與給定的速度量進(jìn)行比較然后改變D/A輸出電壓幅度,送給伺服系統(tǒng)調(diào)整電機(jī)轉(zhuǎn)速,最終將電機(jī)速度控制在±0.3%以內(nèi)。試驗(yàn)證明該方案是可行的。
現(xiàn)將該系統(tǒng)的組成原理及實(shí)現(xiàn)方法作一個簡單的介紹。
1實(shí)現(xiàn)原理:
圖1中的系統(tǒng)是傳統(tǒng)的帶PID調(diào)節(jié)的直流伺服速度控制系統(tǒng)。對于控制精度較低的產(chǎn)品雖能滿足要求。但對于精度要求高的場合就不能適應(yīng)了。這是因?yàn)椋寒?dāng)電機(jī)運(yùn)轉(zhuǎn)一段時間后,電機(jī)溫度隨著工作時間加長而不斷上升,而反饋元件(測速發(fā)電機(jī))與伺服電機(jī)同軸連接,故測速發(fā)電機(jī)的溫度也隨之升高。因?yàn)闇y速發(fā)電機(jī)是用永磁磁缸制成,其轉(zhuǎn)子線圈切割磁力線而產(chǎn)生電勢,其值為:
Ea=εa∝N
式中Ea為測速機(jī)輸出電勢
εa為測速機(jī)電勢常數(shù)
N為電機(jī)轉(zhuǎn)速
一般情況下,εa是個常數(shù),測速發(fā)電機(jī)產(chǎn)生的電勢Ea正比于轉(zhuǎn)速N。而實(shí)際上電機(jī)溫度上升后εa已經(jīng)發(fā)生了變化,通常情況下是下降的,εa變小,故Ea也變小。而此時電機(jī)轉(zhuǎn)速并未下降,反饋到速度環(huán)的電壓Δu隨之上升,促使電機(jī)轉(zhuǎn)速上升,迫使Ea上升,從而達(dá)到Δu維持不變。這樣,隨著電機(jī)溫度上升,電機(jī)的速度也慢慢上升,而給定值并未改變,這就引起電機(jī)轉(zhuǎn)速的誤差增大。根據(jù)實(shí)際測量一般電機(jī)溫度每上升100℃,電機(jī)轉(zhuǎn)速的誤差會增大1-3%左右。電機(jī)轉(zhuǎn)速越低,相對誤差越大。
為了糾正電機(jī)轉(zhuǎn)速的偏差,采用600線/轉(zhuǎn)的光電編碼器作反饋元件,與電機(jī)同軸安裝,就可以準(zhǔn)確測出電機(jī)的轉(zhuǎn)速。因?yàn)楣怆娋幋a器是由激光照射光珊發(fā)出脈沖的,而光珊安裝在光電編碼器的轉(zhuǎn)軸上,轉(zhuǎn)軸每轉(zhuǎn)一周(3600)編碼器就產(chǎn)生600個脈沖,該脈沖只與轉(zhuǎn)軸速度有關(guān),而與溫度無關(guān)。因此,只要準(zhǔn)確測出光電編碼器的脈沖個數(shù),就可確切知道電機(jī)的轉(zhuǎn)速。
例如,當(dāng)電機(jī)的轉(zhuǎn)速ND=1000轉(zhuǎn)/分,則每秒鐘光電編碼器的脈沖個數(shù)應(yīng)為
n光=1000*600/60
=10000(個脈沖)
若
ND=1轉(zhuǎn)/分
n光=1*600/60=10(個)
如果實(shí)際測量值與上述理論計(jì)算值有偏差,則可以通過調(diào)節(jié)D/A輸出電壓調(diào)整電機(jī)的轉(zhuǎn)速,最終使
Δn=ND測-ND理
這樣就可以將電機(jī)的轉(zhuǎn)速控制在我們所希望的誤差范圍內(nèi)。
2元器件的選擇;
2.1伺服系統(tǒng)(速度環(huán))選用SC5HC60型直流脈寬伺服系統(tǒng),調(diào)速范圍可達(dá)1:10000以上,速度精度為0.5%FS。
2.2電機(jī)選用稀土直流寬調(diào)速伺服測速機(jī)組,與伺服系統(tǒng)構(gòu)成速度閉環(huán)系統(tǒng)。
2.3D/A器件選用分辨率為16位串行D/A。控制線為三線串行方式,即:一根時鐘線,一根數(shù)據(jù)線,一根選通線。
2.4光電編碼器每轉(zhuǎn)輸出600個脈沖,五線制。其中兩根為電源線,三根為脈沖線(A、B、Z)。電源的工作電壓為+5~+24V直流電源。
工
作原理:當(dāng)光電編碼器的軸轉(zhuǎn)動時A、B兩根線都產(chǎn)生脈沖輸出,A、B兩相脈沖相差900相位角,由此可測出光電編碼器轉(zhuǎn)動方向與電機(jī)轉(zhuǎn)速。如果A相脈沖比B相脈沖超前則光電編碼器為正轉(zhuǎn),否則為反轉(zhuǎn).Z線為零脈沖線,光電編碼器每轉(zhuǎn)一圈產(chǎn)生一個脈沖.主要用作計(jì)數(shù)。A線用來測量脈沖個數(shù),B線與A線配合可測量出轉(zhuǎn)動方向.
2.5單片機(jī)選用89C51-24PC單片機(jī),晶振頻率為24MHz,用一個定時器作計(jì)數(shù)器來測量光電編碼器的脈沖個數(shù),另一個定時器精確定時,這樣可準(zhǔn)確測出電機(jī)每秒鐘轉(zhuǎn)動的距離,同時根據(jù)設(shè)定值計(jì)算出電機(jī)每秒鐘應(yīng)轉(zhuǎn)動的理論值并與測量值進(jìn)行比較,將誤差值轉(zhuǎn)換成數(shù)字量輸出到D/A芯片的輸入端,從而改變其電壓輸出,送給伺服系統(tǒng)控制電機(jī)的轉(zhuǎn)速,從而達(dá)到恒速的目的。
例如:要將電機(jī)控制在500轉(zhuǎn)/分,根據(jù)伺服系統(tǒng)的指標(biāo),當(dāng)輸入為0~5V信號時,電機(jī)轉(zhuǎn)速為1500轉(zhuǎn)/分,故可求得當(dāng)ND=500轉(zhuǎn)/分時,光碼盤每秒鐘輸出的脈沖數(shù)為:
PD=500×600/60=5000個脈沖
對應(yīng)該轉(zhuǎn)速伺服系統(tǒng)的輸入電壓應(yīng)為:
VD=5.000×500/1500=1.6666V
當(dāng)測出的脈沖個數(shù)與計(jì)算出的標(biāo)準(zhǔn)值有偏差時,可根據(jù)電壓與脈沖個數(shù)的對應(yīng)關(guān)系計(jì)算出輸出給伺服系統(tǒng)的增量電壓△U:
△U=△P×5.000/(1500×600/60)=△P/3000(V)
而輸出到D/A的數(shù)字量的增量應(yīng)為:
△D=△U×216/5.000
電機(jī)的整個工作調(diào)節(jié)過程如下:
工作前通過鍵盤設(shè)定控制轉(zhuǎn)速,計(jì)算出輸出電壓VD并將該電壓對應(yīng)的輸出到D/A的數(shù)字量V數(shù)=VD×216/5.000算出,直接送給D/A,電機(jī)開始起動運(yùn)轉(zhuǎn)。當(dāng)電機(jī)運(yùn)轉(zhuǎn)一段時間后電機(jī)轉(zhuǎn)速不斷上升從而導(dǎo)致測速機(jī)磁性下降,測速機(jī)輸出電勢下降,經(jīng)速度環(huán)調(diào)整后使電機(jī)轉(zhuǎn)速上升,運(yùn)行時間越長,電機(jī)轉(zhuǎn)速上升越多。這時系統(tǒng)起動位置環(huán),通過不斷測量光電編碼器每秒鐘輸出的脈沖個數(shù),并與標(biāo)準(zhǔn)值PD進(jìn)行比較,計(jì)算出增量△P并將之轉(zhuǎn)換成對應(yīng)的D/A輸出數(shù)字量,在原來輸出電壓的基礎(chǔ)上減去增量,迫使電機(jī)轉(zhuǎn)速降下來,當(dāng)測出的△P近似為零時停止調(diào)節(jié),這樣可將電機(jī)轉(zhuǎn)速始終控制在允許的范圍內(nèi)。
3硬件電路的實(shí)現(xiàn)
實(shí)際工作中由于伺服系統(tǒng)工作電流較大,對于微機(jī)干擾較大,故在硬件電路設(shè)計(jì)時應(yīng)考慮到系統(tǒng)的隔離和干擾問題。由于選用的是串行D/A。信號的傳輸只用三根線,故采取隔離措施相對容易些。而光電編碼器工作也容易受到干擾,因此除了正常的接地外,還要將光電編碼器輸出線中的地線可靠接地。光電編碼器的A線做脈沖檢測用,Z線作計(jì)數(shù)器用,速度輸入用鍵盤輸入數(shù)字,顯示用液晶顯示器。
4軟件
根據(jù)電路的連接情況,采用匯編語言編寫了整個程序,F(xiàn)將部分闡述如下:
4.1初始化
初始化內(nèi)容包括定時器、中斷系統(tǒng)及個單元內(nèi)容的初始化
HSTART:MOVSP,#0E0H;設(shè)置堆棧頂?shù)刂?br /> MOVIE,#90H;開中斷及串行口中斷允許
MOVIP,#5;將定時器1和串口中斷設(shè)置高優(yōu)先權(quán)
MOVTCON,#5;外中斷0和外中斷1全部為邊沿觸發(fā)方式
MOVTMOD,#21H;定時器0為方式1定時器2為方式2
MOVPCON,#0;SMOD=0
MOVSCON,#0D8H;串口設(shè)置成方式3,TB8=1,REN=1
MOVTH1,#0FDH;設(shè)定定時器1重裝時間常數(shù)
MOVTL1,#0FDH
CLRET1
SETBREN
SETBES
MOVTH0,#2CH
MOVTL0,#0
SETBTR0
SETBTR1
……
4.2定時器0中斷子程序
CLOCK0:CLRET0&nb
sp;;保護(hù)現(xiàn)場指令
MOVTH0,#2CH;重置時間常數(shù)
MOVTL0,#0
INCQSE0
MOVA,#14H;判別1秒鐘定時到否
CJNEA,QSE0,HCLZ
MOVQSE0,#0;計(jì)數(shù)器清零
MOVA,QSEC
ADDA,#1;秒單元加1
DAA
MOVQSEC,A
MOVA,#5
CJNEA,QSEC,HCLZ;判5秒鐘到否
MOVQSEC,#0;秒單元清零
CLREX0;關(guān)中斷0停止計(jì)數(shù)
HCLZ:恢復(fù)現(xiàn)場指令
SETBET0
RETI;中斷返回
4.3中斷0計(jì)數(shù)程序
POST1:CLREX0
保護(hù)現(xiàn)場指令
MOVA,QLLD;計(jì)數(shù)器低位加1
ADDA,#1
MOVQLLD,A
MOVA,QLLD+1
ADDCA,#0
MOVQLLD+1,A
恢復(fù)現(xiàn)場指令
SETBEX0
RETI
4.4處理程序
處理程序包括加減運(yùn)算程序、數(shù)字轉(zhuǎn)換程序、D/A輸出程序、實(shí)時報(bào)警程序、數(shù)據(jù)采集程序等。
【介紹一種高精度位置環(huán)系統(tǒng)】相關(guān)文章:
全數(shù)字伺服系統(tǒng)中位置環(huán)和電子齒輪的設(shè)計(jì)08-06
一種高精度波形發(fā)生器的設(shè)計(jì)08-06
基于感應(yīng)耦合比率臂的高精度位移測量系統(tǒng)08-06
一種新型高精度激光輪對檢測裝置08-06
基于MSC1210的多路高精度溫度采集系統(tǒng)模塊08-06
用于偶極子聲波測井儀的高精度數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)08-06
基于數(shù)字移相的高精度脈寬測量系統(tǒng)及其FPGA實(shí)現(xiàn)08-06