技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于VHDL的旋轉(zhuǎn)編碼器接口電路的實(shí)現(xiàn)

基于VHDL的旋轉(zhuǎn)編碼器接口電路的實(shí)現(xiàn)

時(shí)間:2018-07-06 17:54:25來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?旋轉(zhuǎn)編碼器是一種高精度的角位置測量傳感器,具有分辨率高、響應(yīng)速度快等特點(diǎn),被廣泛應(yīng)用在以位置或角度為對(duì)象的控制系統(tǒng)中。

旋轉(zhuǎn)編碼器是一種高精度的角位置測量傳感器,具有分辨率高、響應(yīng)速度快等特點(diǎn),被廣泛應(yīng)用在以位置或角度為對(duì)象的控制系統(tǒng)中。將編碼器安裝在電機(jī)軸的非負(fù)載端跟隨轉(zhuǎn)動(dòng),其反饋信號(hào)傳遞給控制器,構(gòu)成對(duì)電機(jī)的閉環(huán)控制[1]。

增量式旋轉(zhuǎn)編碼器發(fā)出兩路正交脈沖,即兩路(A、B)相位差90°的方波,其相位關(guān)系標(biāo)志電機(jī)的轉(zhuǎn)向,當(dāng)A相超前B相90°時(shí),標(biāo)志電機(jī)正轉(zhuǎn),如圖1所示;當(dāng)B相超前A相90°時(shí),標(biāo)志電機(jī)反轉(zhuǎn),如圖2所示。編碼器旋轉(zhuǎn)一圈,輸出脈沖數(shù)固定,通過累加A、B兩相信號(hào)的脈沖數(shù)可以計(jì)算電機(jī)轉(zhuǎn)過的角度。

本文用VHDL語言設(shè)計(jì)了一種增量式旋轉(zhuǎn)編碼器的接口電路,可以配置在CPLD或者FPGA上,實(shí)現(xiàn)對(duì)編碼器輸出信號(hào)的四倍頻、雙向可逆計(jì)數(shù)和與單片機(jī)接口的功能。下面介紹各個(gè)電路的設(shè)計(jì)原理和實(shí)現(xiàn)源碼。

1四倍頻電路設(shè)計(jì)原理

對(duì)于每個(gè)確定的編碼器,其脈沖周期T對(duì)應(yīng)的角位移固定為q,其量化誤差為q/2。若將A和B信號(hào)四倍頻,則計(jì)數(shù)脈沖的周期將減小到T/4,量化誤差減小為q/8,從而使角位移測量精度提高4倍[2]。

如圖1和圖2所示,在任意一個(gè)周期T內(nèi),A、B兩路信號(hào)各變化了兩次,分別產(chǎn)生一次上升沿和一次下降沿,若用Y對(duì)A、B兩路信號(hào)的跳變沿計(jì)數(shù),則在一個(gè)脈沖周期內(nèi),信號(hào)Y就會(huì)出現(xiàn)4次變化,實(shí)現(xiàn)編碼器信號(hào)的四倍頻。

2轉(zhuǎn)向鑒別電路設(shè)計(jì)原理

在信號(hào)跳變沿時(shí)檢測另一相信號(hào)的電平值可以判斷轉(zhuǎn)向[3]。例如,在A相信號(hào)上升沿時(shí)檢測B相信號(hào)電平,若B為低電平(如圖1),表示電機(jī)正轉(zhuǎn);若B為高電平(如圖2),表示電機(jī)反轉(zhuǎn)。結(jié)合上面所述四倍頻原理,計(jì)數(shù)規(guī)則總結(jié)如下。

(1)檢測到以下狀態(tài)表示電機(jī)正轉(zhuǎn),加計(jì)數(shù):

①A相上升沿,B=0;②A相下降沿,B=1;③B相上升沿,A=1;④B相下降沿,A=0。

(2)檢測到以下狀態(tài)表示電機(jī)反轉(zhuǎn),減計(jì)數(shù):

①B相上升沿,A=0;②B相下降沿,A=1;③A相上升沿,B=1;④A相下降沿,B=0。

3與單片機(jī)接口設(shè)計(jì)原理

編碼器的脈沖計(jì)數(shù)值一般要傳送給單片機(jī)或其他控制器進(jìn)行處理,而CPLD的全局時(shí)鐘的頻率高于單片機(jī)的時(shí)鐘頻率,為保證CPLD和單片機(jī)之間計(jì)數(shù)值傳輸?shù)恼_性,單片機(jī)首先發(fā)送信號(hào)給CPLD,將計(jì)數(shù)值鎖存后再進(jìn)行傳輸。CPLD與單片機(jī)接口示意圖如圖3所示。本設(shè)計(jì)中CPLD檢測到單片機(jī)鎖存信號(hào)的上升沿后將當(dāng)前計(jì)數(shù)值鎖存[4],然后在單片機(jī)位選信號(hào)的上升沿和下降沿分時(shí)將16bit計(jì)數(shù)值的高8位和低8位傳送給單片機(jī)8bitI/O端口。

4實(shí)現(xiàn)電路的源代碼

本設(shè)計(jì)利用D觸發(fā)器的延時(shí)作用檢測信號(hào)跳變沿,D輸入端接脈沖信號(hào),則Q輸出端是上一個(gè)CLK周期的脈沖信號(hào)狀態(tài)。在CLK的上升沿檢測Q端輸出和D端信號(hào)電平值是否一致,不一致表示出現(xiàn)跳變沿。

設(shè)A和B是A、B相的源信號(hào),經(jīng)過D觸發(fā)器后A、B相信號(hào)記為A1、B1,則計(jì)數(shù)規(guī)則表示為:

5仿真結(jié)果

利用ALTERA的開發(fā)工具M(jìn)AX+PlusⅡ,輸入VHDL文本文件,目標(biāo)設(shè)備為EPM7128SLC84[5],CLK周期為200ns,A、B的周期為2000ns,編譯后仿真波形如圖4~圖7所示。

圖4是編碼器正轉(zhuǎn)時(shí)的仿真波形,在A相信號(hào)的1個(gè)周期,兩條標(biāo)記線內(nèi),計(jì)數(shù)值OUTPUT由初始值4增加到8,實(shí)現(xiàn)四倍頻加計(jì)數(shù)。

圖5是編碼器反轉(zhuǎn)時(shí)的仿真波形,在A相信號(hào)的1個(gè)周期內(nèi),計(jì)數(shù)值OUTPUT由初始值15減少到11,實(shí)現(xiàn)四倍頻減計(jì)數(shù)。

圖6是編碼器由正轉(zhuǎn)切換為反轉(zhuǎn)時(shí)的仿真波形。如圖中標(biāo)記線所示,B相超前A相后的第一個(gè)CLK的上升沿,計(jì)數(shù)方向立即改變,由加計(jì)數(shù)變?yōu)闇p計(jì)數(shù)。

如圖7中標(biāo)記線所示,在鎖存信號(hào)lock上升沿時(shí)16bit計(jì)數(shù)值鎖存于OUT_lock;位選信號(hào)choose上升沿后的第一個(gè)CLK上升沿,8bit計(jì)數(shù)值OUTPUT8輸出OUT_lock的高8位;choose下降沿時(shí)OUTPUT8輸出OUT_lock的低8位。

由上述仿真波形可以看出,本電路的設(shè)計(jì)實(shí)現(xiàn)了編碼器的轉(zhuǎn)向鑒別、四倍頻、雙向計(jì)數(shù)以及與單片機(jī)通信的功能。

本文設(shè)計(jì)的編碼器接口電路,結(jié)構(gòu)簡單、可靠性高,即使在正反轉(zhuǎn)頻繁切換的場合也能高精度地工作。本接口電路已應(yīng)用在單級(jí)旋轉(zhuǎn)倒立擺控制系統(tǒng)中,且運(yùn)行良好。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:四大總線:CAN、LIN、Flexray...

下一篇:最優(yōu)控制理論及其在工程上的應(yīng)用

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)