編碼器開關(guān)的軸轉(zhuǎn)動(dòng)一周所產(chǎn)生的輸出信號(hào)---周期數(shù)來表示的,即脈沖數(shù)/轉(zhuǎn)ppr) ,增量式編碼器生產(chǎn)廠家,碼盤上的透光縫隙的數(shù)目就等于編碼器開關(guān)的分辨率,因此碼盤上刻的縫隙越多,編碼歸開關(guān)的分辨率就會(huì)越高,例如通常ec11編碼器開關(guān)旋轉(zhuǎn)一圈的讀數(shù)為100,而實(shí)際位置是90,計(jì)算下在實(shí)際位置0位時(shí),編碼器開關(guān)的讀數(shù)應(yīng)該是10,而這個(gè)10就是偏置量,以后編碼器開關(guān)讀到的數(shù),減去這個(gè)偏置量就是位置值。
若初始狀態(tài)時(shí)ab都是低電平,增量式編碼器供應(yīng)商,轉(zhuǎn)動(dòng)一格就輸出從低電平到高電平的上升沿,隨后一直輸出低電平,對(duì)應(yīng)于ec11內(nèi)部ab兩個(gè)觸點(diǎn)開關(guān)的動(dòng)作為閉合-->;斷開,由于兩脈沖一定位的ec11會(huì)有兩種初始狀態(tài),寫驅(qū)動(dòng)程序就需要考慮多一些情況,雖然這種ec11無步進(jìn)手感,但是大多數(shù)也是轉(zhuǎn)一圈輸出15脈沖(30格)或20脈沖(20格)的類型。
初始ab線低電平正轉(zhuǎn),初始ab線低電平p反轉(zhuǎn),初始ab線高電平正轉(zhuǎn),初始ab線高電平p反轉(zhuǎn),正轉(zhuǎn)后反轉(zhuǎn),反轉(zhuǎn)后正轉(zhuǎn),由于這類ec11輸出一個(gè)脈沖已經(jīng)轉(zhuǎn)了兩格,因此對(duì)于上升沿和下降沿都需要檢測,if((ec11_b_last==0)&&(ec11_b_now==1))//ec11_b和上一次狀態(tài)相比,為上升沿。
數(shù)字旋轉(zhuǎn)編碼開關(guān)的原理及使用方法
在電子產(chǎn)品設(shè)計(jì)中,經(jīng)常會(huì)用到旋轉(zhuǎn)編碼開關(guān),比如數(shù)碼電位器等,它的英文名翻譯過來就是rotary encoder switch。在寫這個(gè)元件的驅(qū)動(dòng)程序之前,我google、baidu了一些它的使用說明資料,知道了它具有左轉(zhuǎn)、右轉(zhuǎn)和按下三個(gè)功能,增量式編碼器,有五個(gè)腳,其 實(shí)它使用起來并不難,我看到網(wǎng)上的資料大---操作它時(shí)判斷正轉(zhuǎn)和反轉(zhuǎn)是一個(gè)難點(diǎn),在這里我希望博友在看了我的代碼后會(huì)覺得這其實(shí)只是一個(gè)“傳說”!我的代 ---把這個(gè)問題說的清清楚楚、簡簡單單的!我覺得其實(shí)判斷正轉(zhuǎn)和反轉(zhuǎn)的關(guān)鍵就是:當(dāng)bma為低電平時(shí),增量式編碼器供應(yīng),bmb的跳變沿是怎樣的——上升沿表示正轉(zhuǎn),下降沿 表示反轉(zhuǎn)。只要用代碼把這個(gè)描述清楚就ok了,這個(gè)器件就基本可以順利地操作了。