光電編碼器在現(xiàn)代電機(jī)控制系統(tǒng)中常用以檢測(cè)轉(zhuǎn)子的位置與速度,是通過(guò)光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的高精度角位置測(cè)量傳感器。由于其具有分辨率高、響應(yīng)速度快、體積小、輸出穩(wěn)定等特點(diǎn),被廣泛應(yīng)用于電機(jī)伺服控制系統(tǒng)中。
編碼器按信號(hào)輸出形式分為絕對(duì)式編碼器和增量式編碼器。絕對(duì)式光電編碼器具有輸出數(shù)字量可與PC機(jī)、ARM或FPGA等器件直接接口,無(wú)累積誤差等優(yōu)點(diǎn),但價(jià)格高、制造工藝復(fù)雜,不宜實(shí)現(xiàn)小型化。增量式光電編碼器不具有計(jì)數(shù)和接口電路,一般輸出A、B、Z脈沖信號(hào),價(jià)格較低,在實(shí)際工程中比較常用。
文中設(shè)計(jì)了一個(gè)基于FPGA的簡(jiǎn)單且精度高的接口電路,其結(jié)構(gòu)簡(jiǎn)單、性能可靠。具有濾波、硬件辨向、4倍頻計(jì)數(shù)和數(shù)據(jù)鎖存等功能。計(jì)數(shù)結(jié)果以并口輸出,可與PC機(jī)、ARM或FPGA等部件進(jìn)行并行通信。同時(shí)在并口之前,用鎖存電路來(lái)消除硬件電路延時(shí)所可能引起韻計(jì)數(shù)錯(cuò)誤,減輕了后續(xù)微機(jī)的負(fù)擔(dān),可提高被控對(duì)象的測(cè)量和控制精度。
1、4倍頻電路設(shè)計(jì)原理
增量式光電編碼器實(shí)際是一種旋轉(zhuǎn)式角位移檢測(cè)裝置,它根據(jù)軸所轉(zhuǎn)過(guò)的角度,輸出一系列脈沖,能將機(jī)械轉(zhuǎn)角變換成電脈沖,輸出信號(hào)如圖1所示。A、B兩相信號(hào)是相位相差90°的正交方波脈沖串,每個(gè)脈沖代表被測(cè)對(duì)象旋轉(zhuǎn)了一定的角度,A、B之間的相位關(guān)系則反映了被測(cè)對(duì)象的旋轉(zhuǎn)方向,即當(dāng)A相超前B相,轉(zhuǎn)動(dòng)方向?yàn)檎D(zhuǎn);當(dāng)B相超前A相,轉(zhuǎn)動(dòng)方向?yàn)榉崔D(zhuǎn)。Z信號(hào)是一個(gè)代表零位的脈沖信號(hào),可用于調(diào)零、對(duì)位和重置計(jì)數(shù)器。
對(duì)于每個(gè)確定的編碼器,每轉(zhuǎn)過(guò)固定角位移θ,就對(duì)應(yīng)一個(gè)脈沖信號(hào),故其量化誤差為θ/2。若將A或B信號(hào)4倍頻,則在此θ角位移內(nèi),就會(huì)產(chǎn)生4個(gè)脈沖信號(hào),其量化誤差下降為0/8,光電編碼器的角位移測(cè)量精度提高4倍。由于伺服系統(tǒng)中編碼器的轉(zhuǎn)速具有不可預(yù)見(jiàn)性,造成脈沖周期r具有不確定的特點(diǎn),從而無(wú)法使用鎖相環(huán)等常用倍頻方案。由圖1可知,在脈沖周期內(nèi),A、B兩相信號(hào)共產(chǎn)生4次變化,盡管T不確定,但由于A、B兩相方波信號(hào)之間相位關(guān)系確定,使這4次變化在相位上平均分布。如果利用這4次變化產(chǎn)生4倍頻信號(hào),則可以實(shí)現(xiàn)光電編碼器測(cè)量精度的提高。
分析發(fā)現(xiàn),4倍頻設(shè)計(jì)的關(guān)鍵在于鑒別出A、B信號(hào)的上升沿和下降沿。輸入信號(hào)與其延時(shí)信號(hào)異或后,就可得到倍頻信號(hào)。
2、接口電路的FPGA總體方案及設(shè)計(jì)實(shí)現(xiàn)
光電編碼器的可靠性與精度直接決定了控制系統(tǒng)的可靠性與控制精度??刂葡到y(tǒng)精度不會(huì)高于檢測(cè)元件的精度,也就是說(shuō)檢測(cè)元件的誤差是決定控制系統(tǒng)穩(wěn)態(tài)誤差的關(guān)鍵,這種誤差也是控制系統(tǒng)無(wú)法克服的。因此,選擇和設(shè)計(jì)高精度的光電編碼器固然重要,但后續(xù)電路對(duì)光電編碼器輸出脈沖的處理精度也不容忽視。因此,一方面要選擇精度高的光電編碼器;另一方面要重視對(duì)光電編碼器輸出脈沖的處理,傳統(tǒng)的處理方法有3種:(1)通過(guò)74LS193、74LS171、RC等搭建一個(gè)硬件電路實(shí)現(xiàn)脈沖的倍頻和鑒相的判斷。(2)直接將光電編碼器的A、B信號(hào)送至微處理器,進(jìn)行純軟件的倍頻和鑒相的判別。(3)通過(guò)硬件電路和軟件結(jié)合的方法進(jìn)行光電編碼器脈沖的處理,一般是指上述兩種方法的結(jié)合。
對(duì)以上3種計(jì)數(shù)方法進(jìn)行分析可知,用純軟件計(jì)數(shù)雖然電路簡(jiǎn)單,但是計(jì)數(shù)速度慢,微處理器工作量大,難以滿足實(shí)時(shí)性要求,想得到更高的指標(biāo),只能不斷地更換高性能微處理器,而且由于光電編碼器的轉(zhuǎn)速具有不可預(yù)見(jiàn)性,采用鎖相環(huán)進(jìn)行倍頻的話會(huì)造成數(shù)據(jù)的不精確;而純硬件電路體積大且穩(wěn)定性、可靠性差、調(diào)試煩瑣,而且當(dāng)電阻、電容等組件參數(shù)變化時(shí),會(huì)導(dǎo)致脈寬發(fā)生變化或不能產(chǎn)生具有穩(wěn)定寬度
的脈沖。此外,RC電路抗干擾能力差,反饋部分易受外界干擾,在實(shí)際應(yīng)用中會(huì)出現(xiàn)丟失脈沖現(xiàn)象,以至影響控制系統(tǒng)的精度和可靠性。
對(duì)于濾波、延時(shí)的處理方法很多,如微分型電路其信噪比小、抗干擾性差,積分型電路可以提高信噪比,但和微分型電路一樣有缺點(diǎn):當(dāng)輸入信號(hào)頻率高時(shí),電容充放電不及時(shí),導(dǎo)致輸出信號(hào)嚴(yán)重變形;對(duì)于各路倍頻電路來(lái)說(shuō),電阻和電容的參數(shù)不可能完全一致,所以倍頻后的各路脈沖寬度不等,而且寬度的調(diào)節(jié)也比較困難。設(shè)計(jì)采用的數(shù)字型延時(shí)電路可以很好地克服以上延時(shí)電路的缺點(diǎn),延時(shí)的時(shí)間和各路倍頻的脈沖寬度由時(shí)鐘控制,倍頻后的脈沖寬度均勻一致。
運(yùn)用FPGA實(shí)現(xiàn)4倍頻、鑒相電路,采用全數(shù)字反饋電路的設(shè)計(jì)方法,由于倍頻、鑒相電路設(shè)計(jì)在同一芯片上,一方面,F(xiàn)PGA門(mén)電路高數(shù)量較大,時(shí)鐘頻率可達(dá)上百M(fèi)Hz的可編程邏輯器件,可以把他設(shè)計(jì)成所需的各種邏輯器件,可并行處理多項(xiàng)任務(wù)。因此處理速度比單片機(jī)或DSP快得多;另一方面,芯片內(nèi)部的門(mén)電路、觸發(fā)器的參數(shù)特性完全一致,能保證在相同轉(zhuǎn)速下4倍頻脈沖信號(hào)的周期保持一致。作為板級(jí)芯片,電路做在芯片內(nèi)部,其抗干擾能力比分離器件有很大提高。同時(shí),由于現(xiàn)場(chǎng)可編程,可以方便地實(shí)現(xiàn)對(duì)電路的重新設(shè)計(jì)或修改,增強(qiáng)了系統(tǒng)的靈活性、通用性和可靠性。
3、仿真波形
用VerilogHDL語(yǔ)言完成電路描述,各功能模塊運(yùn)用原理圖方式進(jìn)行描述,芯片采用Ahera公司Cyclone系列的EP1C12Q240C8N。在Quart-usII10.0環(huán)境下進(jìn)行功能和時(shí)序仿真。編譯后結(jié)果如圖3所示,A、B即為差分整形電路的輸出,當(dāng)A相超前B相時(shí),輸出正向4倍頻脈沖,OA[7..0]為編碼器正轉(zhuǎn)時(shí)4倍頻脈沖個(gè)數(shù);反之,輸出反向4倍頻脈沖,OB[7..0]為反轉(zhuǎn)時(shí)4倍頻脈沖個(gè)數(shù)。利用OA[7..0]與OB[7..0]可以方便地實(shí)現(xiàn)編碼器的可逆計(jì)數(shù)。
4、結(jié)束語(yǔ)
設(shè)計(jì)了增量式光電編碼器的一種簡(jiǎn)單且高精度的鑒相、計(jì)數(shù)和接口電路,可根據(jù)光電編碼器的轉(zhuǎn)向進(jìn)行遞增或遞減計(jì)數(shù),并可與PC機(jī)、DSP、ARM等器件直接進(jìn)行并行通訊。實(shí)驗(yàn)結(jié)果驗(yàn)證了設(shè)計(jì)的正確性。可以看出,利用FPGA設(shè)計(jì)光電編碼器信號(hào)處理模塊,無(wú)論是設(shè)計(jì)過(guò)程,還是電路結(jié)構(gòu)、都變得更加簡(jiǎn)潔。另外,在應(yīng)用中注意FPGA的時(shí)鐘周期應(yīng)小于編碼器脈沖的1/4,通常FPGA的時(shí)鐘已遠(yuǎn)遠(yuǎn)小于編碼器脈沖周期,故在FPGA中進(jìn)行處理與計(jì)數(shù)是沒(méi)問(wèn)題的。
文中FPGA實(shí)現(xiàn)的編碼器倍頻、鑒相電路,已經(jīng)在激光跟蹤系統(tǒng)的項(xiàng)目中得到驗(yàn)證,在系統(tǒng)中存在抖動(dòng)及毛刺等干擾的情況下,仍能獲得穩(wěn)定可靠的測(cè)量結(jié)果,并且可根據(jù)需要,任意改變參數(shù)以達(dá)到目的,這對(duì)正確和合理地使用編碼器,提高功能效益,從而在數(shù)控及機(jī)器人的死循環(huán)位置和速度控制系統(tǒng)中,提高位置調(diào)節(jié)精度、擴(kuò)大速度調(diào)節(jié)范圍,都有良好的效果,是一種提高編碼器分辨率、實(shí)現(xiàn)角位移或轉(zhuǎn)速測(cè)量的優(yōu)選電路。
評(píng)論
查看更多