999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的增量型光電編碼器抗抖動二倍頻電路設(shè)計

2010-04-12 00:00:00王俊山,明,白小營
現(xiàn)代電子技術(shù) 2010年9期

摘 要:從增量型光電編碼器的構(gòu)造特點(diǎn)出發(fā),分析其輸出信號中引起抖動誤碼脈沖的原因。根據(jù)編碼器兩相輸出信號(A相、B相)不能同時跳變的特點(diǎn),設(shè)計了一種高精度抗抖動二倍頻電路,能有效濾除信號的干擾脈沖。

關(guān)鍵詞:光電編碼器; 二倍頻; 抗抖動; FPGA

中圖分類號:TN15 文獻(xiàn)標(biāo)識碼:A

文章編號:1004-373X(2010)09-0157-03

Anti-jitter Frequency Second Harmonic Circuit of

Increment Type Photoelectric Encoder Based on FPGA

WANG Jun-shan, CHENG Ming, BAI Xiao-ying

(Information Engineering College, Zhengzhou University, Zhengzhou 450001, China)

Abstract: According to the characteristics of the increment type photoelectric encoder′s construction,the reasons of the error encoder pulse caused by jitter in the output signals are analyzed, a high-precision anti-jitter second harmonic circuit was designed according to the characteristics that the two output signals(A-phase, B phase) of the encoder can not change at the same time. In this way, the interference pulse signal can be filtered out effectively.

Keywords: photoelectric encoder; second harmonic; anti-jitter; FPGA

在某些工業(yè)自動控制領(lǐng)域、某些裝備應(yīng)用上,經(jīng)常會遇到各種需要測量長度的場合,目前通常采用的是光電編碼器。光電編碼器根據(jù)其刻度方法及信號輸出形式,可分為增量式、絕對式、混合式三種。它是一種集光、機(jī)、電為一體的傳感器,具有精度高、響應(yīng)快、性能穩(wěn)定可靠等顯著的優(yōu)點(diǎn),能夠精確地檢測角度、轉(zhuǎn)速、位移等參數(shù)。它可以將位移等物理量轉(zhuǎn)變?yōu)閿?shù)字脈沖信號,通過計算脈沖的個數(shù),實(shí)現(xiàn)精確的位移測量[1]。然而由于工作環(huán)境等因素影響,增量型光電編碼器輸出信號中含有較多的抖動誤碼脈沖,將會引起誤計數(shù)。本文分析誤碼脈沖產(chǎn)生的原因,設(shè)計一種有效的濾波電路。

1 增量型編碼器的工作原理

增量型編碼器是一種通過光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器,它由光柵盤和光電檢測裝置組成。光柵盤是在一定直徑的圓板上等分地開通若干個長方形孔,見圖1[2]。由于光電碼盤與電動機(jī)同軸,電動機(jī)旋轉(zhuǎn)時,光柵盤與電動機(jī)同速旋轉(zhuǎn),經(jīng)發(fā)光二極管等電子元件組成的檢測裝置檢測輸出若干脈沖信號,編碼盤上涂有兩道相差90°黑自相同的柵欄,分別稱之為A道和B道。其輸出脈沖也是相差90°。當(dāng)編碼器正向旋轉(zhuǎn)時,A相比B相超前90°,當(dāng)編碼器反向旋轉(zhuǎn)時,A相比B相滯后[3]90°。正常情況下編碼器的輸出波形如圖1所示[4-5]。

圖1 光電編碼器的輸出

2 誤碼脈沖產(chǎn)生的原因及其濾除方法

2.1 誤碼脈沖產(chǎn)生的原因

為了說明誤碼脈沖的存在性,將編碼器碼盤局部放大。圖1中點(diǎn)O是編碼器旋轉(zhuǎn)軸的中心,圓角矩形代表碼盤上A列和B列透光狹縫[2]。假定編碼器一相信號處于某種狀態(tài),而另一相信號處于高低電平跳變的交界狀態(tài),則編碼器的誤碼脈沖如圖2(a),圖2(b)所示[6]。由于電機(jī)的旋轉(zhuǎn)或機(jī)械設(shè)備的振動,會使編碼器輸出脈沖抖動,從而引起誤計數(shù)。它一方面表現(xiàn)為在透光窗口附近的抖動,引起的干擾脈沖,如圖2(a)給出了A相脈沖信號在上升沿和下降沿發(fā)生抖動輸出的時序波形,圖2(b)給出了B相脈沖信號在上升沿和下降沿發(fā)生抖動輸出的時序波形;另一方面表現(xiàn)為在編碼器的某點(diǎn)附近前后振動,引起干擾脈沖。如圖2(c),圖2(d)給出了信號在編碼器b點(diǎn)前后抖動的時序波形。編碼器從a點(diǎn)正轉(zhuǎn)到b點(diǎn),然后編碼器反轉(zhuǎn)到a點(diǎn),又正轉(zhuǎn)到b點(diǎn),兩個b點(diǎn)之間的脈沖數(shù)為干擾脈沖。

圖2 光電編碼器抖動波形輸出

2.2 誤碼脈沖的濾除

2.2.1 濾除編碼器抖動的原理

采用二倍頻技術(shù)濾除抖動脈沖。所謂二倍頻技術(shù)即對A相或者B相每個脈沖的上升沿和下降沿分別計數(shù)。光電編碼器經(jīng)過二倍頻后正常輸出波形如圖3所示[7],A相脈沖0→1跳變時,B為0,則編碼器正轉(zhuǎn);B為1,則編碼器反轉(zhuǎn)。A相脈沖1→0跳變時,B為1,則編碼器正轉(zhuǎn);B為0,則編碼器反轉(zhuǎn)。編碼器正常輸出波形時,A、B兩相交替跳變,如果A相發(fā)生跳變后,B相沒有發(fā)生跳變A相又發(fā)生跳變,此時認(rèn)為是干擾脈沖,反之同樣視為干擾脈沖。

圖3 編碼器輸出波形分析

分析圖4,對A相的跳變沿進(jìn)行二倍頻計數(shù),B相的高低電平用來判斷編碼器的正反轉(zhuǎn)。B相邊沿的抖動脈沖對二倍頻計數(shù)沒有影響,如圖4(b)所示。分析圖4(a),A相邊緣的抖動認(rèn)為是干擾脈沖被濾除掉。圖4(c),圖4(d)中的a,b標(biāo)記的位置是編碼器物理地址,如圖4(d)標(biāo)記的a,b表示編碼器在此處反復(fù)振動。圖4(c)、圖4(d)(1)、(2)標(biāo)記處跳變沿視為抖動脈沖,應(yīng)濾除,A相的正轉(zhuǎn)脈沖數(shù)據(jù)數(shù)和反轉(zhuǎn)脈沖數(shù)據(jù)數(shù)相減后就是A相實(shí)際二倍頻后的脈沖數(shù)據(jù)。

2.2.2 FPGA濾除編碼器抖動及仿真結(jié)果

根據(jù)以上分析,本文采用FPGA濾除增量型光電編碼器輸出抖動脈沖。編譯環(huán)境采用 Quartus Ⅱ 8.0。在FPGA中使用圖形和語言結(jié)合的方法設(shè)計邏輯模塊。內(nèi)部的邏輯子模塊采用Verilog語言來實(shí)現(xiàn)[8-9]。頂層模塊的結(jié)構(gòu)圖如圖5所示。 A和B輸入引腳連接增量型編碼器A相和B相信號。Acount為16位的數(shù)據(jù)寄存器,輸出當(dāng)前編碼器的位置。頂層設(shè)計中包含兩個模塊,一個是根據(jù)編碼器的B相跳變沿記錄來濾除編碼器A相抖動脈沖的BlockA模塊,該模塊根據(jù)濾除后的A相脈沖數(shù)據(jù)個數(shù)并記錄脈沖數(shù)據(jù)。Verilog的主要程序如下:

另一個模塊BlockB主要完成的功能是濾除編碼器B相的抖動脈沖。根據(jù)分析濾除編碼器抖動的原理,ENA引腳為BlockA模塊的輸出引腳,當(dāng)A相輸入引腳有跳變時ENA為1,A相引腳有連續(xù)的跳變或者接下來B相有跳變時ENA為0。ENB為編碼器B相跳變使能引腳,當(dāng)ENA為1時如果B相有跳變ENB為1,當(dāng)ENA為1時如果B相有連續(xù)跳變ENB為0。主要程序如下:

always @(B)

begin

if(ENA) ENB<=1′b1;

else if(ENB) ENB<=1′b0;

else

ENB<=1′b0;

end

以圖4(a)的編碼器抖動輸出仿真為例,仿真效果如圖6所示。從圖中分析,A相輸出7個脈沖,應(yīng)該輸出3個脈沖,二倍頻后是14個脈沖,應(yīng)該輸出6個脈沖,經(jīng)過濾除后脈沖計數(shù)器數(shù)為6個。A相的抖動脈沖得到有效的濾除。

圖6 編碼器抖動輸出仿真圖

3 結(jié) 語

現(xiàn)場調(diào)試結(jié)果證明,該算法可以消除工業(yè)現(xiàn)場出現(xiàn)的干擾和抖動現(xiàn)象,能夠準(zhǔn)確地記錄脈沖數(shù)據(jù)。此濾波

方法可以采用軟件濾波,但是軟件濾波需要的引腳較

多,采用兩個中斷引腳響應(yīng)A相的上升沿和下降沿,浪費(fèi)CPU資源[10]。采用FPGA實(shí)現(xiàn)編碼器的濾波,設(shè)計方便,改動靈活。

參考文獻(xiàn)

[1]許永華,李鋼.數(shù)控機(jī)床中光電編碼器計數(shù)電路設(shè)計[J].制造技術(shù)與機(jī)床,2000(1):14-15.

[2]呂國芳,孫超.利用中斷技術(shù)防止編碼器抖動計數(shù)的方法[EB/OL].[2009-2-12]. http://www.paper800.com,2009.

[3]向艷穩(wěn),修吉平.光電編碼器信號抗干擾算法[J].計算機(jī)測量與控制,2003(8):66-68.

[4]付小寧,程為彬.快速高精度光電測速算法[J].光電工程,2006(1):137-140.

[5]費(fèi)偉中,沈建新,周勇.增量式光電編碼器計數(shù)與接口電路的設(shè)計[J].微特電機(jī),2007,35(1):137-140.

[6]蔣晶,蔣東方,高航.高可靠性增量式光電編碼器接口電路設(shè)計[J].測控技術(shù),2009,28(2):1-4.

[7]陳以,于新業(yè),黃云鵬.基于FPGA的旋轉(zhuǎn)編碼器抗抖動四倍頻電路設(shè)計[J].計算機(jī)工程與科學(xué),2009,31(7):92-94.

[8]張延偉,楊金巖,葛愛學(xué).VerilogHDL程序設(shè)計實(shí)例詳解[M].北京:人民郵電出版社,2008.

[9]華清遠(yuǎn)見嵌入式培訓(xùn)中心.FPGA應(yīng)用開發(fā)入門與典型實(shí)例[M].北京:人民郵電出版社,2008.

[10]王朕,劉學(xué)鋒,劉陵順.基于AT89C51的電機(jī)轉(zhuǎn)速測量儀的設(shè)計與實(shí)現(xiàn)[J].四川兵工學(xué)報,2009,30(5):19-21.

主站蜘蛛池模板: 国产美女免费网站| 一本久道久久综合多人| 色精品视频| 色综合天天操| 亚洲综合色吧| 国产91在线|日本| 99成人在线观看| 国产69精品久久久久妇女| 性欧美在线| 免费又黄又爽又猛大片午夜| 无码精品福利一区二区三区| 亚洲 欧美 日韩综合一区| 亚洲第一成年网| 伊人中文网| 亚洲国产日韩一区| 久久黄色影院| 香蕉蕉亚亚洲aav综合| 亚洲人成影院在线观看| 91精品综合| 人妻丰满熟妇av五码区| 国产91高清视频| 久久国产黑丝袜视频| 72种姿势欧美久久久大黄蕉| 人妻丰满熟妇啪啪| 亚洲手机在线| 欧美精品1区| 国产理论精品| 中文字幕天无码久久精品视频免费| 亚洲成网站| 国产SUV精品一区二区| 国内精品久久九九国产精品| 成人精品午夜福利在线播放| 91无码网站| 色综合a怡红院怡红院首页| av尤物免费在线观看| 午夜精品久久久久久久无码软件 | 蝴蝶伊人久久中文娱乐网| 久久99久久无码毛片一区二区 | 91精品日韩人妻无码久久| 91免费片| 国产精品丝袜视频| 欧洲成人在线观看| 91在线丝袜| 欧美69视频在线| 免费在线国产一区二区三区精品| 国产一二视频| 22sihu国产精品视频影视资讯| 高清视频一区| 精品少妇人妻一区二区| 91 九色视频丝袜| 国产午夜在线观看视频| 爱做久久久久久| 国产免费福利网站| 5388国产亚洲欧美在线观看| 亚洲欧洲日产无码AV| 国产在线观看高清不卡| 丁香婷婷激情网| 日本免费一级视频| 婷婷激情亚洲| 91精品免费高清在线| 99re热精品视频中文字幕不卡| 亚洲欧美国产高清va在线播放| 在线va视频| 国产精品自拍露脸视频 | 天天摸天天操免费播放小视频| 亚洲福利一区二区三区| 亚洲无码视频一区二区三区| 国产人免费人成免费视频| 亚洲国语自产一区第二页| 香蕉久久国产超碰青草| 精品国产成人a在线观看| 亚洲综合专区| 欧美视频二区| 日本不卡在线视频| 毛片免费在线| 亚欧乱色视频网站大全| 国产午夜一级毛片| 国产女同自拍视频| 亚洲69视频| 91九色最新地址| 国产va在线观看免费| 成人国产一区二区三区|