两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

使用索引型編碼器測(cè)定物體的絕對(duì)位置的儀器和方法

文檔序號(hào):6139421閱讀:414來源:國知局
專利名稱:使用索引型編碼器測(cè)定物體的絕對(duì)位置的儀器和方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種通過監(jiān)測(cè)某物體相對(duì)于某一已知位置的運(yùn)動(dòng)的距離和方向來測(cè)得該物體絕對(duì)位置的儀器和方法。尤其是這種儀器和方法使用了一個(gè)索引型編碼器,例如一個(gè)索引型編碼盤、索引型編碼桿、索引型編碼膠片或類似的部件,它們有許多交替隔開的不透光區(qū)和透光區(qū)、一個(gè)索引不透光區(qū)和一個(gè)探測(cè)器,該探測(cè)器在檢測(cè)到單個(gè)索引不透光區(qū)后能夠?qū)⑺魏纹渌麉^(qū)段區(qū)分開來,并且能計(jì)算區(qū)段的數(shù)量,以確定索引型編碼器的方向和位移增量,從而測(cè)定使用索引型編碼器進(jìn)行監(jiān)測(cè)的物體的絕對(duì)位置。
目前有許多裝置能夠檢測(cè)出運(yùn)動(dòng)物體如旋轉(zhuǎn)軸或編碼器的相對(duì)位置。例如Uchida的美國專利NO.4,704,523敘述了一種旋轉(zhuǎn)式編碼器裝置,用于檢測(cè)大量可控工業(yè)機(jī)床的旋轉(zhuǎn)軸的相對(duì)旋轉(zhuǎn)位置,它將一個(gè)轉(zhuǎn)盤安裝到旋轉(zhuǎn)軸的一端,沿該轉(zhuǎn)盤的圓周連續(xù)分布有一系列的遮光區(qū)和透光區(qū),它在轉(zhuǎn)盤的一側(cè)布置一對(duì)光導(dǎo)纖維,以朝轉(zhuǎn)盤傳輸光線,在轉(zhuǎn)盤另一側(cè)有許多相應(yīng)的光導(dǎo)纖維來接收這些光,當(dāng)轉(zhuǎn)盤旋轉(zhuǎn)時(shí),轉(zhuǎn)盤上透光部分使光能夠從傳輸光導(dǎo)纖維傳送到接收光導(dǎo)纖維,而遮光部分則使光不能傳輸。由于光發(fā)射纖維和相應(yīng)的光接收纖維彼此互相偏置,光接收纖維接收到從各自相應(yīng)的光發(fā)射纖維發(fā)出的光的次序就指示出轉(zhuǎn)盤的旋轉(zhuǎn)方向,而且,每個(gè)檢光/非檢光的時(shí)間都指示出在一根光發(fā)射纖維和相應(yīng)的光檢測(cè)纖維之間經(jīng)過了一個(gè)透光區(qū)或一個(gè)遮光區(qū),因此就能對(duì)光導(dǎo)纖維接收光的次序和檢測(cè)到光/未檢測(cè)到光的情形的數(shù)量之間的關(guān)系進(jìn)行處理,以確定轉(zhuǎn)盤的旋轉(zhuǎn)方向以及從該裝置開始對(duì)檢測(cè)到光/未檢測(cè)到光的情形的數(shù)量進(jìn)行計(jì)數(shù)時(shí)起轉(zhuǎn)盤旋轉(zhuǎn)的角度位移。但是,必須注意,轉(zhuǎn)盤上所有的透光區(qū)和遮光區(qū)的尺寸都是相同的,因此,不可能測(cè)出轉(zhuǎn)盤的絕對(duì)旋轉(zhuǎn)位置,因?yàn)檗D(zhuǎn)盤沒有任何一點(diǎn)可作為參考位置,這樣,Uchida裝置只能夠檢測(cè)到轉(zhuǎn)盤的相對(duì)位置,或者換句話說,只能檢測(cè)到轉(zhuǎn)盤從裝置開始對(duì)檢測(cè)到光/未檢測(cè)到光的情形進(jìn)行計(jì)數(shù)時(shí)起旋轉(zhuǎn)過的旋轉(zhuǎn)距離。
Beman的No.2685082號(hào)美國專利和Kramer的No.4496926號(hào)美國專利敘述了其他一些相對(duì)旋轉(zhuǎn)位置探測(cè)感裝置。每個(gè)裝置包括有一個(gè)安裝在一轉(zhuǎn)軸上的圓盤,圓盤上有尺寸均勻的開孔和凸肩或者遮光區(qū),但是,兩種圓盤都沒有參考點(diǎn),所以,就象Uchida裝置一樣,這些裝置也無法測(cè)出各自轉(zhuǎn)盤的絕對(duì)旋轉(zhuǎn)位置。
在Dickinson等人的No.4911449和5058893美國專利中敘述了其他類型的旋轉(zhuǎn)位置探測(cè)裝置,每個(gè)Dickinson裝置都使用一個(gè)編碼環(huán),環(huán)上有若干特殊型式的槽,用來指示編碼環(huán)的原位置或同步位置,而且在每個(gè)編碼環(huán)周邊上都有同樣型式的窄孔和寬孔。當(dāng)編碼環(huán)旋轉(zhuǎn)時(shí),特殊型式槽和同樣型式的孔都經(jīng)過一個(gè)感光裝置,對(duì)這個(gè)感光裝置產(chǎn)生的檢測(cè)信號(hào)輸出的通/斷情況的分析,以確定編碼環(huán)的位置及其旋轉(zhuǎn)方向,也就是說,如果檢測(cè)信號(hào)的長時(shí)間“接通”情形先于短時(shí)間“接通”情形,這表明編碼環(huán)在朝一種方向如順時(shí)針方向旋轉(zhuǎn),然而,如果短時(shí)間“接通”情形先于長時(shí)間“接通”情形,則表明編碼環(huán)朝相反方向旋轉(zhuǎn),而且,可計(jì)算出長時(shí)間和短時(shí)間“接通”情形的次數(shù)以便確定編碼環(huán)在已檢測(cè)出原位置或同步位置之后旋轉(zhuǎn)了多少個(gè)位置。與Uchida,Beman and Kramer的專利中描述的裝置不一樣,Dickinson裝置不采用偏置的光檢測(cè)器,而是依靠型式更復(fù)雜的開孔即窄孔和寬孔來確定編碼環(huán)旋轉(zhuǎn)方向,這種更為復(fù)雜的形式使得編碼環(huán)的制造更加困難,因此,比帶有相同形式的透光區(qū)和遮光區(qū)的圓環(huán)價(jià)格更昂貴。而且,由于編碼環(huán)在每個(gè)位置都有一個(gè)窄孔和一個(gè)寬孔,而Uchida,Berman和Kramer的裝置中在每個(gè)位置只有一個(gè)孔,要提高Dickinson裝置上的編碼環(huán)的分辨率就更加困難,因?yàn)樵诿總€(gè)位置都必須占用編碼環(huán)圓周上更多空間,以便容納寬孔和窄孔。
所以一直需要有一種價(jià)格便宜、容易制造、使用編碼裝置通過監(jiān)測(cè)該編碼裝置的運(yùn)動(dòng)方向和運(yùn)動(dòng)距離來檢測(cè)出物體的實(shí)際絕對(duì)位置的儀器。
本發(fā)明的一個(gè)目的是提供一種通過使用一索引型編碼器來監(jiān)測(cè)物體的運(yùn)動(dòng)方向和距離來精確檢測(cè)出該物體絕對(duì)位置的儀器和方法。
本發(fā)明的另一個(gè)目的是提供一種能夠監(jiān)測(cè)一個(gè)包含有許多位置和一個(gè)索引位置的索引型編碼器的運(yùn)動(dòng)距離和方向的儀器和方法,以便測(cè)定使用索引型編碼器進(jìn)行監(jiān)測(cè)的那個(gè)物體的絕對(duì)位置。
本發(fā)明的另一個(gè)目的是提供一種通過使用一套能檢測(cè)出索引型編碼器的位置運(yùn)動(dòng)增量和運(yùn)動(dòng)方向的光學(xué)檢測(cè)系統(tǒng)來監(jiān)測(cè)該索引型編碼器的運(yùn)動(dòng)距離和方向的儀器和方法,而無需在索引型編碼器上設(shè)特殊型式的結(jié)構(gòu)。
為了完全達(dá)到上述目的,本發(fā)明提供一種儀器,該儀器通過監(jiān)測(cè)一個(gè)運(yùn)動(dòng)部件的位置運(yùn)動(dòng)增量和運(yùn)動(dòng)方向來檢測(cè)出該運(yùn)動(dòng)部件的實(shí)際位置,運(yùn)動(dòng)部件例如是一個(gè)由單個(gè)索引不透光區(qū)和多個(gè)交替的非索引不透光區(qū)及透光區(qū)組成的索引型編碼器,該運(yùn)動(dòng)部件的單個(gè)索引不透光區(qū)沿運(yùn)動(dòng)部件的運(yùn)動(dòng)方向上取的長度不等于例如大于其它任何非索引不透光區(qū)或透光區(qū)沿同一方向取的長度;該儀器還包括一個(gè)裝置,該裝置能把索引不透光區(qū)和任何其他非索引不透光區(qū)或透光區(qū)區(qū)分開來并能檢測(cè)出索引不透光區(qū)什么時(shí)候經(jīng)過某預(yù)定位置和其它任何的非索引不透光區(qū)或透光區(qū)什么時(shí)候經(jīng)過該預(yù)定位置,特別地,該裝置還包括一個(gè)光發(fā)射裝置和一個(gè)光檢測(cè)裝置布置在該運(yùn)動(dòng)部件的不同側(cè)面,光發(fā)射裝置朝光檢測(cè)裝置發(fā)射光束,當(dāng)運(yùn)動(dòng)部件運(yùn)動(dòng)時(shí),該光束受到運(yùn)動(dòng)部件上索引不透光區(qū)和其它非索引不透光或透光區(qū)的阻擋,光檢測(cè)裝置有兩個(gè)檢測(cè)器,在運(yùn)動(dòng)部件的運(yùn)動(dòng)方向上分開布置,以便彼此成“90度相位差”,每個(gè)檢測(cè)器都輸出一個(gè)信號(hào),指示從光發(fā)射裝置發(fā)射的光被檢測(cè)到/未被檢測(cè)到的情況,因?yàn)闄z測(cè)器以90度相位差方式布置,輸出信號(hào)彼此異相,儀器根據(jù)這些信號(hào)的關(guān)系確定運(yùn)動(dòng)部件的運(yùn)動(dòng)方向,并檢測(cè)出單個(gè)索引不透光區(qū),而且,在檢測(cè)出此單個(gè)索引不透光區(qū)之后對(duì)光被檢測(cè)/未被檢測(cè)到的情況出現(xiàn)的次數(shù)進(jìn)行計(jì)數(shù),儀器就能確定運(yùn)動(dòng)部件的位置運(yùn)動(dòng)增量。
上述儀器有多種應(yīng)用,尤其適用于低成本項(xiàng)目,例如,該儀器可使用于自動(dòng)售貨機(jī)、壓花刀具或者輪裝置中,用來監(jiān)測(cè)自動(dòng)售貨機(jī)輪子、壓花刀具輪子或輪裝置的實(shí)際位置。該儀器還可使用在驅(qū)動(dòng)裝置中,用來監(jiān)測(cè)方向盤的實(shí)際位置,或者使用在飛行器飛行中,監(jiān)測(cè)飛行器的實(shí)際節(jié)流閥位置。而且該儀器還使用在捕魚卷輪上,監(jiān)測(cè)卷輪的旋轉(zhuǎn),從而監(jiān)測(cè)釣魚線的卷入/松出。而且,該儀器可用來監(jiān)測(cè)卷動(dòng)印有錄像背景畫面的膠片的卷帶輪的位置,卷帶輪運(yùn)動(dòng),從而導(dǎo)致膠片模擬背景畫面相對(duì)于透光顯示屏上顯示的用戶控制器畫面的運(yùn)動(dòng),該儀器能夠確定膠片相對(duì)于顯示屏上出現(xiàn)的圖像畫面的絕對(duì)位置。另外,該儀器還可用于壓輪的絕對(duì)位置的檢測(cè)。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)敘述。


圖1是本發(fā)明的位置探測(cè)器系統(tǒng)的一個(gè)實(shí)例的方框圖。
圖2是圖1所示系統(tǒng)的一個(gè)實(shí)例中索引編碼輪以及光學(xué)系統(tǒng)的光發(fā)射器和90°相位差檢測(cè)器的立體圖。
圖3是圖2所示的索引編碼輪和90°相位差檢測(cè)器沿Ⅲ-Ⅲ箭頭的正視圖。
圖4是索引編碼輪及光發(fā)射器和檢測(cè)器裝置沿圖3中Ⅳ-Ⅳ線的側(cè)視圖。
圖5是索引編碼輪及光發(fā)射器和檢測(cè)器裝置沿圖3中Ⅴ-Ⅴ線的俯視圖。
圖6是可在圖1所示系統(tǒng)中使用的索引型編碼器的另一個(gè)實(shí)例的正視圖。
圖7是可以在圖1所示系統(tǒng)中使用的索引型編碼器的又一個(gè)實(shí)例的正視圖。
圖8是可在圖1所示系統(tǒng)中使用的另一種索引型編碼器的正視圖。
圖9是可作為圖1所示系統(tǒng)的索引型編碼器的膠片的正視圖,它有許多不透明區(qū),許多透明區(qū)和一個(gè)索引不透明區(qū)。
圖10是圖1所示的位置探測(cè)器系統(tǒng)中光學(xué)系統(tǒng)和微控制器系統(tǒng)的一個(gè)實(shí)例的電路示意圖。
圖11是本發(fā)明的一個(gè)實(shí)例的電源電路示意圖,它可向圖1所示的位置探測(cè)器系統(tǒng)的光學(xué)系統(tǒng)、微控制器系統(tǒng)和顯示系統(tǒng)供電。
圖12是圖1所示的位置探測(cè)器系統(tǒng)的顯示器系統(tǒng)的一個(gè)實(shí)例的電路示意圖。
圖13是圖1所示的位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)在微控制器系統(tǒng)初始化期間和在微控制器系統(tǒng)讀出光學(xué)系統(tǒng)產(chǎn)生的信號(hào)輸出時(shí)所完成步驟的示范流程框圖。
圖14是在微控制器在監(jiān)測(cè)光學(xué)系統(tǒng)的一個(gè)檢測(cè)器產(chǎn)生的CLK信號(hào)輸出以監(jiān)測(cè)索引型編碼器的運(yùn)動(dòng)時(shí)圖1所示的位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)所完成的步驟的示范流程框圖。
圖15是當(dāng)微控制器系統(tǒng)在監(jiān)測(cè)由光學(xué)系統(tǒng)檢測(cè)器產(chǎn)生的CLK和DAT信號(hào)輸出時(shí)圖1中所示的位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)所完成的步驟的示范流程框圖。
圖16A和圖16B分別是圖1所示的系統(tǒng)的索引型編碼器和光學(xué)系統(tǒng)在光發(fā)射器發(fā)出的光束被90°相位差檢測(cè)裝置的兩個(gè)檢測(cè)器同時(shí)檢測(cè)到的情形時(shí)的主視圖和側(cè)視圖。
圖17A和圖17B分別是當(dāng)光發(fā)射器發(fā)射的光束被光學(xué)系統(tǒng)的位差檢測(cè)裝置的DAT信號(hào)檢測(cè)器檢測(cè)到同時(shí)該光束被阻擋住而不能被CLK信號(hào)檢測(cè)器檢測(cè)到時(shí),圖1中所示的位置探測(cè)器系統(tǒng)的索引型編碼器和光學(xué)系統(tǒng)的正視圖和側(cè)視圖。
圖18A和圖18B分別是當(dāng)光發(fā)射器發(fā)射的光束被阻擋而無法被光學(xué)系統(tǒng)的90°相位差檢測(cè)裝置的兩個(gè)檢測(cè)器檢測(cè)到時(shí),圖1所示的位置感應(yīng)器系統(tǒng)的索引型編碼器和光學(xué)系統(tǒng)的正視圖和側(cè)視圖。
圖19A和圖19B分別是當(dāng)光發(fā)射器發(fā)射的光束被光學(xué)系統(tǒng)的90°相位差檢測(cè)裝置的CLK信號(hào)檢測(cè)器檢測(cè)到同時(shí)該光束被阻擋而不能被DAT信號(hào)檢測(cè)器檢測(cè)到時(shí),索引型編碼器的正視圖和側(cè)視圖。
圖20是光學(xué)系統(tǒng)的90°相位差檢測(cè)裝置的CLK和DAT檢測(cè)器對(duì)應(yīng)于索引型編碼器沿順時(shí)針方向旋轉(zhuǎn)時(shí)產(chǎn)生的CLK和DAT信號(hào)輸出之間的關(guān)系示意圖。
圖21是圖1所示的位置探測(cè)器系統(tǒng)的索引型編碼器的實(shí)例,這里單個(gè)索引不透光區(qū)和每個(gè)非索引區(qū)都用數(shù)字標(biāo)識(shí)。
圖22是90°相位差檢測(cè)裝置的CLK和DAT檢測(cè)器相應(yīng)于索引型編碼器沿逆時(shí)針方向旋轉(zhuǎn)時(shí)而產(chǎn)生的CLK和DAT信號(hào)輸出之間的關(guān)系示意圖。
圖23是當(dāng)微控制器系統(tǒng)已確定索引型編碼器順時(shí)針旋轉(zhuǎn)時(shí)圖1所示的位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)所完成的順時(shí)針旋轉(zhuǎn)(RCW)程序的流程圖。
圖24是當(dāng)微控制器在已確定索引型編碼器順時(shí)針方向旋轉(zhuǎn)后增加索引型編碼器位置計(jì)數(shù)器的值時(shí)圖1所示的位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)所完成的順時(shí)針計(jì)數(shù)(CWC)程序的流程圖。
圖25是當(dāng)微控制器系統(tǒng)在根據(jù)計(jì)數(shù)器的值計(jì)算索引型編碼器監(jiān)測(cè)的物體的位置和控制計(jì)算出的位置的顯示時(shí)由微控制器系統(tǒng)完成的過程計(jì)數(shù)/位置顯示(PCPD)步驟的流程圖。
圖26是當(dāng)微控制器系統(tǒng)已確定索引型編碼器正在順時(shí)針方向旋轉(zhuǎn)時(shí)和微控制器系統(tǒng)在試圖檢測(cè)索引型編碼器的索引不透光區(qū)存在與否時(shí),圖1所示的位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)所完成的順時(shí)針測(cè)試(CWT)程序的流程圖。
圖27A和27B是表格,舉例說明圖21中索引型編碼器相對(duì)于計(jì)數(shù)值位置而言運(yùn)動(dòng)的角度距離、計(jì)數(shù)器的計(jì)數(shù),與在圖25所示的一個(gè)16位輪的程序中計(jì)算出的位置之間的關(guān)系。
圖28是當(dāng)微控制器系統(tǒng)已確定索引型編碼器正在朝逆時(shí)針方向旋轉(zhuǎn)時(shí)圖1所示的位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)所完成的逆時(shí)針旋轉(zhuǎn)(RCCW)程序的流程圖。
圖29是當(dāng)圖1所示的位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)在已確定索引型編碼器正在逆時(shí)針方向旋轉(zhuǎn)后增加索引型編碼器位置的計(jì)數(shù)值時(shí),該微控制器系統(tǒng)所完成的逆時(shí)針計(jì)數(shù)(CCWC)程序的流程圖。
圖30是當(dāng)圖1中位置探測(cè)器系統(tǒng)的微控制器系統(tǒng)已確定索引型編碼器在逆時(shí)針方向旋轉(zhuǎn)和微控制器系統(tǒng)在試圖檢測(cè)是否存在索引型編碼器的索引不透光區(qū)時(shí),該微控制器系統(tǒng)完成的逆時(shí)針測(cè)試(CCWT)程序的流程圖。
圖1是根據(jù)本發(fā)明的一個(gè)具體實(shí)例的位置探測(cè)器系統(tǒng)100的方框圖。位置傳感器系統(tǒng)100包括有一個(gè)索引型編碼器102、一個(gè)機(jī)械傳動(dòng)系統(tǒng)104、一個(gè)光學(xué)系統(tǒng)106、一個(gè)其操作可由軟件程序110控制的微控制器系統(tǒng)108、一個(gè)顯示系統(tǒng)112和一個(gè)電源系統(tǒng)134,所述電源系統(tǒng)由微控制器系統(tǒng)108和程序110控制以便生成一個(gè)表示索引型編碼器102的絕對(duì)位置的顯示。索引型編碼器102和光學(xué)系統(tǒng)106在圖2-5中有更詳細(xì)描述。
索引型編碼器102包括有一個(gè)安裝孔114,此孔可安裝一根軸116,比如一個(gè)鉚釘,銷釘,釘子或任何合適的軸。軸116以及索引型編碼器102可配置成自由轉(zhuǎn)動(dòng)。
或者,軸116可由圖1中的機(jī)械傳動(dòng)系統(tǒng)104驅(qū)動(dòng),該系統(tǒng)可含有任何合適型號(hào)的機(jī)械傳動(dòng)元件,比如馬達(dá),彈簧,彈性部件,橡皮帶,齒輪裝置,人力驅(qū)動(dòng)等等。機(jī)械傳動(dòng)系統(tǒng)104可以是使用齒輪、主動(dòng)輪或類似元件將傳動(dòng)裝置與軸116聯(lián)接的間接傳動(dòng)系統(tǒng),或者也可以是直接傳動(dòng)系統(tǒng),允許傳動(dòng)裝置的旋轉(zhuǎn)和軸116的旋轉(zhuǎn),從而與索引型編碼器102的旋轉(zhuǎn)之間的關(guān)系為1∶1,而且正如上文所述,微控制器系統(tǒng)108還可配置成能控制機(jī)械傳動(dòng)系統(tǒng)104。
只要能符合系統(tǒng)100使用的實(shí)際情況,索引型編碼器102可以是任意尺寸或形狀。例如,如圖2-5所示,索引型編碼器102可以是圓盤形,直徑為幾毫米到幾厘米,幾英寸或幾英尺均可。圖6-9中所示的索引型編碼器102及其變型1102,2102,3102和4102用一種能夠制作不透光區(qū)和透光區(qū)的材料制成,如合成塑料、膠片或類似材料,這些型式的索引型編碼器將在下文作詳細(xì)討論。
正如圖2-5所示,索引型編碼器102還包括有一串不透光區(qū)118,這些不透光區(qū)在索引型編碼器102的圓周上以相等或大致相等的間隔被透光區(qū)120隔開。不透光區(qū)118和透光區(qū)120的尺寸決定索引型編碼器102的分辨率角度,這點(diǎn)將在下面詳述。正如下面敘述的那樣,對(duì)于索引型編碼器102和圖6-9中示出的任何一種變型,透光區(qū)120不必是索引型編碼器102上的實(shí)際開孔,而可以是索引型編碼器102上能透光或基本透光的部分。而且,不透光區(qū)118和透光區(qū)120的型式可以是印在膠片上,即膠片的不透明部分是“不透光區(qū)”,膠片的透明部分是“透光區(qū)”,從而膠片構(gòu)成一種索引型編碼器,或者安裝到索引型編碼器102上。
索引型編碼器102還有一個(gè)索引不透光區(qū)122和1個(gè)定位孔124,此孔與索引不透光區(qū)122準(zhǔn)直或大致準(zhǔn)直如圖所示。正如下面將要詳細(xì)敘述的那樣,在索引型編碼器102的圓周方向取的索引不透光區(qū)122的長度是在該方向上取的任何一個(gè)不透光區(qū)118的長度的3倍或大約3倍。然而,索引不透光區(qū)122的長度不必要等于其他透光區(qū)120的長度的3倍,而可以為任意合適長度,只要該長度不等于和軟件算法能力一致的不透光區(qū)118的長度,以便將索引不透光區(qū)同非索引不透光區(qū)區(qū)別開來。索引不透光區(qū)122由透光區(qū)120-1和120-2同相鄰的不透光區(qū)118隔開,透光區(qū)120-1和120-2的尺寸和形狀同其他透光區(qū)120相同或大致相同。
在這個(gè)例子中,索引型編碼器102包括有22個(gè)不透光區(qū)118,這些不透光區(qū)由透光區(qū)120以相等或大體相等的間距隔開,以便每個(gè)不透光區(qū)118占據(jù)索引型編碼器102圓周的7.5°或大約7.5°,每個(gè)透光區(qū)120占圓周的7.5°或大約7.5°。因此,索引型編碼器102有一個(gè)索引不透光區(qū)122、22個(gè)不透光區(qū)118和23個(gè)透光區(qū)120。
在位置探測(cè)器系統(tǒng)100操作過程中,索引型編碼器102提供7.5°或大約7.5°分辨率,這一點(diǎn)將在下文詳細(xì)討論。當(dāng)然,不透光區(qū)118和透光區(qū)120的尺寸和數(shù)量可根據(jù)需要增減,以提高或降低索引型編碼器102的分辨率,在這種情況下,索引不透光區(qū)122的長度可相應(yīng)地按比例增加或減小。而且,索引位置可以不是如圖所示的索引不透光區(qū)122,而可以是長度不等于任何其他的透光區(qū)120長度,如3倍于其長度的索引透光區(qū)。
并且,如圖6所示,索引型編碼器可以是半圓形的索引型編碼器1102,它有與索引型編碼器102的不透光區(qū)118、透光區(qū)120和索引不透光區(qū)122分別相似的不透光區(qū)1118、透光區(qū)1120和一個(gè)索引不透光區(qū)1122。索引型編碼器同樣可以是1/4圓的輪子,1/8圓的輪子,或一個(gè)圓的任何一部分。
而且,不透光區(qū)118和透光區(qū)120可以為任何合適形狀,不需要位于索引型編碼器102的圓周上。而是按圖7所示,“區(qū)”可以是在索引型編碼器2102上從其中心起的任意半徑距離上間隔均勻或大致均勻分布的開孔2120。在這種情況下,每個(gè)開孔2120的尺寸都相等或大致相等,并且都在從索引型編碼器2120中心起相同或大致相同的半徑距離上。不透光區(qū)2118是索引型編碼器2102上位于相鄰兩個(gè)開孔2120之間的那部分區(qū)域,它們處在從索引型編碼器2102中心起與開孔2120相同或大致相同的半徑距離上。
而且,索引型編碼器不需要呈完全的圓盤形,它可以是六角形,八角形,或其他任何合適的形狀,比如矩形,以指示出線性運(yùn)動(dòng),也就是說,如圖8所示,索引型編碼器3102呈矩形,在其一側(cè)上含有不透光區(qū)3118和透光區(qū)3120。應(yīng)注意,這種配置的索引位置3122不是長度大于其他齒牙3118的不透光區(qū),而是一個(gè)長度大于任何透光區(qū)3120長度的透光區(qū)。如圖9中所示,索引型編碼器可以是膠片4102,它有不透明區(qū)4118、透明區(qū)4120和一個(gè)索引透明區(qū)4122。這些型式的索引型編碼器的形狀可以是圖6和圖7所示的任何一種索引型編碼器的變型。
回到圖2-5,光學(xué)系統(tǒng)106包括有一個(gè)雙相光檢測(cè)裝置126、一個(gè)光發(fā)射器128和1個(gè)印刷電路板130。如圖所示,光檢測(cè)裝置126分為光檢測(cè)器126-1和126-2以及光發(fā)射器128,它們安裝在索引型編碼器102不同側(cè)面的印刷電路板130上。印刷電路板130直接或間接固定到一底座上,圖中未標(biāo)出,以便印刷電路板130以及更重要的光學(xué)系統(tǒng)106同底座保持固定或大體固定的關(guān)系,索引型編碼器102相對(duì)于底座旋轉(zhuǎn),因此也相對(duì)于光學(xué)系統(tǒng)106旋轉(zhuǎn)。
如上所述,索引型編碼器102以及圖6-9所示的所有其他形式的索引型編碼器,均由一種對(duì)光發(fā)射器128發(fā)出的光束132不透明或基本不透明的材料制成,如合成塑料或類似材料。因此,光發(fā)射器128發(fā)出的光束132發(fā)射到索引型編碼器102,這樣當(dāng)索引型編碼器102相對(duì)于光學(xué)系統(tǒng)106旋轉(zhuǎn)時(shí),光束穿過透光區(qū)120被檢測(cè)裝置126接收,或者被不透光區(qū)118阻擋住。
檢測(cè)裝置126和發(fā)射裝置128可相對(duì)于索引型編碼器定位在任何合適的位置,只要索引不透光區(qū)122或如圖8所示的索引透光區(qū)3122、不透光區(qū)118和透光區(qū)120可以在索引型編碼器102運(yùn)動(dòng)時(shí)從檢測(cè)裝置126和發(fā)射裝置128之間穿過。例如,如果索引型編碼器是如圖6所示的半圓形輪子1102,或者是如圖8和9所示的矩形編碼器3102,檢測(cè)器126和發(fā)射器128的定位使得當(dāng)索引型編碼器相對(duì)于光學(xué)系統(tǒng)106運(yùn)動(dòng)時(shí),齒牙和各個(gè)區(qū)在發(fā)射器128和檢測(cè)器126之間經(jīng)過。
圖10是圖1所示的位置探測(cè)系統(tǒng)100的光學(xué)系統(tǒng)106和微控制器系統(tǒng)108的電路示意圖,微控制器系統(tǒng)108可以包括有任何型號(hào)的技術(shù)上已知的微控制器或微處理器,如以4.0MHz運(yùn)行的MicrochipPIC16C58A。實(shí)際上,微處理器應(yīng)至少以32KHz運(yùn)行。
如圖所示,微控制器系統(tǒng)108,以下簡稱“微控制器108”的第14端連接電源以獲得電壓Vcc,第3和第5端接地。圖11示出了能提供電壓Vcc的電源系統(tǒng)134的一個(gè)例子。
如圖所示,電源系統(tǒng)134包括有一個(gè)電池136如一標(biāo)準(zhǔn)9伏直流電池,一個(gè)將9伏直流電壓調(diào)到5伏或大約5伏的標(biāo)準(zhǔn)Vcc電壓的減壓器IC138和一個(gè)通/斷開關(guān)140,該開關(guān)閉合時(shí)將電池136與減壓器IC138的輸入端1相聯(lián)接。電源系統(tǒng)134還包括有一個(gè)電容器C1,例如一個(gè)0.47μF電容器,它聯(lián)接在減壓器138的輸入端1和地之間,以及一個(gè)電容器C2,例如一個(gè)0.1μF電容器,它聯(lián)接在減壓器138的輸出端2和地之間。電容器C1和C2可以為任何實(shí)用的電容值。
回到圖10,如圖所示,微控制器108的第14端又通過旁路電容器C3如通過1個(gè)0.01μF電容器聯(lián)接到地,其電容可以為任何實(shí)用的電容值。在這個(gè)例子中,1個(gè)以4MHz運(yùn)行的晶體142聯(lián)接在微控制器108的第15端和第16端之間,用作微控制器108內(nèi)部時(shí)鐘的頻率確定元件。如上所述,微控制器108可以用任何實(shí)用頻率操作,該頻率可根據(jù)索引型編碼器102的預(yù)期的運(yùn)動(dòng)速度來選定。
又如圖所示,微控制器108的第4端與一個(gè)二極管D1和一個(gè)電阻器R1聯(lián)接,例如一個(gè)10KΩ電阻器,但是電阻值可以是任意實(shí)用的電阻值。電阻器R1和二極管D1彼此并聯(lián)到一個(gè)被施加電壓Vcc的端子上。又如圖所示,一個(gè)電容為0.47μF的旁路電容器C6聯(lián)接到微控制器108的第4端上,此旁路電容器C6可以是任意實(shí)用的電容值。而且,有1個(gè)可用來使系統(tǒng)100復(fù)位的復(fù)位接鈕S1聯(lián)接到微控制器108的第4端上如圖所示。
微控制器108的第1端和第2端分別通過限流電阻器R3和R4與光發(fā)射器128的陰極聯(lián)接,如限流電阻器R3和R4可以是300歐電阻器,但可以是任意實(shí)用的電阻值,光發(fā)射器128的陽極與電源電壓Vcc相連。光發(fā)射器128可以是任何型號(hào)的光發(fā)射裝置,比如夏普公司的GL480型紅外線發(fā)光二極管或類似元件。
再則,雙相光檢測(cè)器126包括有光檢測(cè)器126-1和126-2,在這個(gè)實(shí)例中,光檢測(cè)器126-1和126-2是集成為單個(gè)組件126的光敏晶體管型檢測(cè)器,比如在夏普公司PT4120J型裝置中使用的光檢測(cè)器,每個(gè)檢測(cè)器各有1個(gè)基極,該基極用作紅外線光檢測(cè)器,檢測(cè)從光發(fā)射器128發(fā)出的紅外線。該系統(tǒng)的光發(fā)射不必要是在光譜的紅外線區(qū)域內(nèi),而可以在光譜的可見光區(qū)域內(nèi)或者在光譜任意適宜的區(qū)域內(nèi),每個(gè)光檢測(cè)器126-1和126-2的集電極都與電源電壓Vcc相聯(lián)接。光檢測(cè)器126-1的發(fā)射極聯(lián)接到微控制器108的輸入端6,光檢測(cè)器126-2的發(fā)射極聯(lián)接到微控制器108的輸入端7。光檢測(cè)器126-1和126-2的發(fā)射極還分別通過負(fù)荷電阻器R5和R6接到地線上,例如通過1KΩ電阻器,但可以是任意實(shí)用的電阻值。
正如下面要詳細(xì)敘述的那樣,微控制器108通過紅外線的快速脈沖來控制光發(fā)射器128,當(dāng)索引型編碼器102相對(duì)于檢測(cè)裝置126運(yùn)動(dòng)時(shí)檢測(cè)器126-1和126-2能檢測(cè)到這些脈沖。檢測(cè)器126-1和126-2的位置在索引型編碼器102的圓周或大致圓周方向彼此隔開一定距離,互相呈“90°相位差”,因此其輸出信號(hào)CLK和DAT相位相差為90°或大約90°。如果索引型編碼器是矩形索引型編碼器例如如圖8所示,那么檢測(cè)器126-1和126-2的定位應(yīng)使得它們呈“90°”相位差。
檢測(cè)器126-1和126-2輸出的CLK和DAT信號(hào)分別由微控制器108接收和處理,微控制器108然后將信號(hào)例如從第10-12端輸出到顯示系統(tǒng)112。顯示系統(tǒng)112因而根據(jù)微控制器108輸出的信號(hào)生成一個(gè)編碼器被檢位置的顯示。
圖12示出顯示系統(tǒng)112的一個(gè)實(shí)例。這個(gè)例子包括有許多發(fā)光二極管即LED142和1個(gè)LED驅(qū)動(dòng)器144。LED驅(qū)動(dòng)器144接收微控制器108在線路RB4、RB5和RB6上輸出的信號(hào)并根據(jù)索引型編碼器102的被檢位置使有關(guān)的LED142發(fā)光,這一點(diǎn)將在下面詳述。如圖所示LED驅(qū)動(dòng)器144由電壓Vcc供電??墒褂靡粋€(gè)亮度調(diào)整電路146調(diào)整LED142的發(fā)光亮度,如該亮度調(diào)整電路包含有一個(gè)可變電阻器R7,例如可變100KΩ電阻器,但阻值可以是任意實(shí)用值,和電容器C4,例如1個(gè)0.001μF電容器,但其電容可以是任意實(shí)用的值。電容可以是任意實(shí)用的值但在本例中為0.01μF的電容器C5是LED驅(qū)動(dòng)器144的旁路電容器,但是如上所述,顯示系統(tǒng)112可是任何為人所知的型號(hào)的顯示器或顯示屏。
現(xiàn)在敘述圖1所示的系統(tǒng)100的操作,為了以下解釋,此處以含有圖2-5所示的索引型編碼器102的系統(tǒng)100為例。然而,如果該系統(tǒng)被修改以便使用圖6-9所示或所述的任何其他變型的索引型編碼器或者使用與上述索引型編碼器的概述相符合的任何其他變型,那么下面的操作將由系統(tǒng)100執(zhí)行。
如圖13的流程圖所示,當(dāng)系統(tǒng)100在靜止?fàn)顟B(tài),電源已啟動(dòng)或者已在步驟501按下圖中未顯示的復(fù)位按鈕時(shí),微控制器108在程序中所使用的寄存器、計(jì)數(shù)器和標(biāo)志都將在步驟502初始化到一已知狀態(tài)。所有寄存器、計(jì)數(shù)器和標(biāo)志都在微控制器內(nèi)的硬件中。這些硬件寄存器、計(jì)數(shù)器和標(biāo)志均由軟件程序進(jìn)行讀、寫和控制。例如,標(biāo)志是置“1”或置“0”的一位二進(jìn)制標(biāo)志。要注意,在初始加電期間或者當(dāng)復(fù)位時(shí),索引型編碼器102的索引不透光區(qū)122可以相對(duì)于光學(xué)系統(tǒng)106在任意位置。在步驟503,微控制器108關(guān)斷“位置顯示”,因而不能生成顯示。
接著便在步驟504開始進(jìn)行讀90°相位差檢測(cè)器即RQD的步驟。特別是在步驟505,微控制器108將讀出分別由檢測(cè)器126-1和126-2輸出的信號(hào)CLK和DAT的狀態(tài),并將這些信號(hào)的狀態(tài)分別表示為標(biāo)志CLK和DAT。微控制器108還將對(duì)CLK和DAT信號(hào)執(zhí)行去振過程,以消除這些信號(hào)中可能存在的偏差,然后微控制器108根據(jù)標(biāo)志CLK和DAT的狀態(tài)確定索引型編碼器102是否相對(duì)于光學(xué)系統(tǒng)106運(yùn)動(dòng)。
在步驟505讀CLK和DAT信號(hào)之后,微控制器108的程序接著進(jìn)行到步驟506見圖14,在這一步,它將繼續(xù)進(jìn)行到“CLKEDG”程序。在這一程序,微控制器108將確定CLK信號(hào)的狀態(tài)是否發(fā)生改變,從而指示出索引型編碼器102是否相對(duì)于光學(xué)系統(tǒng)106發(fā)生了運(yùn)動(dòng)。
尤其在步驟507,微控制器108確定CLK標(biāo)志的狀態(tài)是否從低(0)變?yōu)楦?1),或者反之,從而指示出是透光區(qū)120已開始經(jīng)過光發(fā)射器128和檢測(cè)器126-1之間,還是不透光區(qū)118或索引不透光區(qū)122已開始經(jīng)過光發(fā)射器128和檢測(cè)器126-1之間,以下稱“CLK邊界條件”。也就是如上所述,由于不透光區(qū)118和索引不透光區(qū)122是不透光的,因而在這些區(qū)位于光發(fā)射器128和檢測(cè)器126-1之間時(shí)阻擋或大體上阻擋住光發(fā)射器128發(fā)出的光132,使這些光不能被檢測(cè)器檢測(cè)到。所以當(dāng)任何的不透光區(qū)118或索引不透光區(qū)122開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間時(shí)標(biāo)志CLK的狀態(tài)將從高(1)變?yōu)榈?0),從而指示出索引型編碼器102的運(yùn)動(dòng)。同樣,當(dāng)任何透光區(qū)120開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間時(shí),標(biāo)志CLK的狀態(tài)將從低(0)變?yōu)楦?1),指示出索引型編碼器102的運(yùn)動(dòng)。
如果在步驟507,微控制器108沒有檢測(cè)到CLK邊界條件,則程序進(jìn)行到步驟508,在這一步,微控制器108確定寄存器TMRO的值是否等于其最大值,在此例中它是十進(jìn)制值255。例如,寄存器TMR0是硬件計(jì)時(shí)器,裝在微控制器108內(nèi),并在微控制器108控制之下根據(jù)微控制器108的操作頻率進(jìn)行讀寫和清零,它的計(jì)數(shù)從0到255,增量為“1”。每次計(jì)數(shù)1所經(jīng)過的時(shí)間由內(nèi)置于微控制器的預(yù)換算裝置控制,它可設(shè)置成某個(gè)由微控制器108操作頻率驅(qū)動(dòng)的時(shí)間段。
寄存器TMR0用來指示出,索引型編碼器102是否正以某個(gè)使索引不透光區(qū)122能檢測(cè)到并且能與其他任何不透光區(qū)118區(qū)別開來的速度運(yùn)動(dòng)。也就是在系統(tǒng)100開始以有意義的方式監(jiān)測(cè)索引型編碼器102的位置時(shí),索引不透光區(qū)122必須首先被微控制器/軟件系統(tǒng)108/110檢測(cè)到。當(dāng)寄存器TMR0在CLK邊界條件發(fā)生和在步驟507被檢測(cè)到之前就已達(dá)到其最大值255時(shí),這表明索引型編碼器102不在運(yùn)動(dòng),或者運(yùn)動(dòng)速度相對(duì)來說太慢,使微控制器108不能有效地區(qū)分索引不透光區(qū)122與其他不透光區(qū)118。
例如,如果透光區(qū)120在初始加電或復(fù)位期間在發(fā)射器128和檢測(cè)器126-1之間時(shí),“TMR0=255”的情況意味著索引型編碼器102運(yùn)動(dòng)得不夠遠(yuǎn),使得不透光區(qū)118、索引不透光區(qū)122或透光區(qū)120已開始進(jìn)入發(fā)射器128和檢測(cè)器126-1之間的空間以導(dǎo)致微控制器108在寄存器TMR0達(dá)到最大值之前就在步驟507檢測(cè)到標(biāo)志CLK狀態(tài)發(fā)生改變。如果索引型編碼器102這樣緩慢地運(yùn)動(dòng),那么索引不透光區(qū)122將很有可能無法與普通的不透光區(qū)188區(qū)別開來,或者很有可能出現(xiàn)對(duì)索引不透光區(qū)122的錯(cuò)誤檢測(cè)。因此在步驟509,微控制器將標(biāo)志TMAX置“1”,從而指示出當(dāng)索引型編碼器102以如此慢的速度運(yùn)動(dòng)時(shí)將不進(jìn)行下面敘述的索引不透光區(qū)的檢測(cè)程序。
如果寄存器TMR0在標(biāo)志TMAX在步驟509置“1”之后達(dá)到最大值,則程序回到步驟504的RQD,微控制器108將再次在步驟505分別讀出來自檢測(cè)器126-1和126-2的信號(hào)CLK和DAT。這個(gè)過程將一直進(jìn)行到微控制器108檢測(cè)到步驟507的CLK邊界條件為止。當(dāng)出現(xiàn)這個(gè)情況時(shí),程序繼續(xù)進(jìn)行到步驟510,微控制器108將確定標(biāo)志CLK是否從低變?yōu)楦呋蛘邚母咦優(yōu)榈?,或者換句話說,標(biāo)志CLK是否分別從0變?yōu)?或從1變?yōu)?。
正如圖15中的流程圖所示,微控制器108在步驟511確定標(biāo)志CLK電平的變化是指示上升邊還是指示出下降邊。如果微控制器108檢測(cè)到標(biāo)志CLK正在從低(0)變?yōu)楦?1),或者換言之,正在上升,下文稱“CLK上升邊”,那么程序繼續(xù)進(jìn)行到步驟512,再進(jìn)行到步驟513,微控制器108在這一步檢查代表著從檢測(cè)器126-2提供的去振信號(hào)DAT的標(biāo)志DAT的狀態(tài),以弄清楚索引型編碼器102相對(duì)于光學(xué)系統(tǒng)106朝哪個(gè)方向運(yùn)動(dòng)。
如上所述,索引型編碼器102相對(duì)于光學(xué)系統(tǒng)106運(yùn)動(dòng)會(huì)導(dǎo)致從發(fā)射器128輸出的光信號(hào)132穿過索引型編碼器102中的透光區(qū)120,從而被檢測(cè)器126-1和126-2兩者或其中1個(gè)檢測(cè)到,或者導(dǎo)致這個(gè)光信號(hào)被索引型編碼器102的不透光區(qū)118完全或部分阻擋,從而不能被檢測(cè)器126-1和126-2兩者或其中之一檢測(cè)到。例如,如圖16A-19B所示,這些圖是索引型編碼器102和光學(xué)系統(tǒng)106的正視圖和側(cè)視圖,當(dāng)透光區(qū)120在發(fā)射器128和兩個(gè)檢測(cè)器126-1和126-2之間時(shí)見圖16A和16B,這兩個(gè)檢測(cè)器126-1和126-2檢測(cè)到發(fā)射的光束132,從檢測(cè)器126-1和126-2分別發(fā)出的輸出信號(hào)CLK和DAT均為高(1)。然而,如果圖16A和16B中的索引型編碼器102開始以圖中所示的順時(shí)針方向相對(duì)于光學(xué)系統(tǒng)106運(yùn)動(dòng),那么將出現(xiàn)圖17A和17B中的情形,即其中一個(gè)不透光區(qū)118將開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間,在這種情況下,如圖17B所示,不透光區(qū)118將阻止檢測(cè)器126-1接收光束132,因此,檢測(cè)器126-1輸出的CLK信號(hào)將變?yōu)榈?0)一旦索引型編碼器102旋轉(zhuǎn)到使不透光區(qū)118完全擋住發(fā)射的光束,使之不能被兩個(gè)檢測(cè)器126-1和126-2檢測(cè)到如圖18A和18B所示,那么分別從檢測(cè)器126-1和126-2輸出的CLK和DAT信號(hào)將均為低(0)。如圖19A和19B所示,當(dāng)索引型編碼器繼續(xù)運(yùn)動(dòng)時(shí),將有1個(gè)透光區(qū)120經(jīng)過發(fā)射器128和檢測(cè)器126-1之間。在這種情況下,檢測(cè)器126-1將再次接收光線。因此由檢測(cè)器126-1輸出的CLK信號(hào)將變?yōu)楦?1)。
當(dāng)索引型編碼器102繼續(xù)朝同一方向旋轉(zhuǎn)時(shí),圖16A-19B所示的上述情況會(huì)重復(fù)出現(xiàn)。如果索引型編碼器102開始朝反方向即朝逆時(shí)針方向旋轉(zhuǎn),那么圖16A-19B所示的情況將以相反順序重復(fù)出現(xiàn)。
圖20示出了當(dāng)索引型編碼器102以順時(shí)針方向旋轉(zhuǎn)時(shí)由檢測(cè)器126-1和126-2輸出的信號(hào)CLK和DAT的關(guān)系。下面將要詳細(xì)討論,圖20指示出當(dāng)索引型編碼器102上如圖21所示編號(hào)為“45”“46”“47”“2”“3”“4”和“5”的計(jì)數(shù)值已經(jīng)過了發(fā)射器128和檢測(cè)器126之間時(shí)去振信號(hào)CLK和DAT的狀態(tài),也就指示出標(biāo)志CLK和DAT的狀態(tài)。要注意,位置編號(hào)“2”表示索引不透光區(qū)122的位置。因?yàn)樗饕煌腹鈪^(qū)122比非索引不透光區(qū)118要長,索引不透光區(qū)122使檢測(cè)器126-1中斷檢測(cè)光束132即使標(biāo)志CLK為低(0)的時(shí)間長度,即圖20中的toff-2要超過其他任何非索引不透光區(qū)118使檢測(cè)器126-1中斷檢測(cè)光束132的時(shí)間長度。
如上所述,由于檢測(cè)器126-1和126-2的位置在索引型編碼器102的半徑圓弧上彼此相隔一段距離以便彼此成“90°相位差”,各自的輸出信號(hào)相位差為90°或大約90°,出現(xiàn)這種信號(hào)輸出相位差是由于檢測(cè)器在索引型編碼器102的半徑圓弧上存在位置差,因此,如圖22所示,如果索引型編碼器102以逆時(shí)針方向旋轉(zhuǎn),那么由檢測(cè)器126-2輸出的已經(jīng)去振的DAT信號(hào)要超前于檢測(cè)器126-1輸出的去振的CLK信號(hào),而不是像順時(shí)針運(yùn)動(dòng)那樣,CLK信號(hào)超前于DAT信號(hào),因?yàn)椴煌腹鈪^(qū)118或者透光區(qū)120在到達(dá)發(fā)射器128和檢測(cè)器126-1之間之前就到達(dá)了發(fā)射器128和檢測(cè)器126-2之間的位置。
還要注意,如果索引型編碼器是一種線型索引型編碼器3102和4102例如如圖8和9中所示,那么發(fā)射器128和檢測(cè)器126-1和126-2的配置要達(dá)到如下要求,即當(dāng)索引型編碼器3102/4102的不透光區(qū)3118/4118、透光區(qū)3120/4120、索引透光區(qū)3122和索引不透光區(qū)4122在索引型編碼器3102/4102運(yùn)動(dòng)期間經(jīng)過發(fā)射器128和檢測(cè)裝置126之間時(shí),去振的信號(hào)CLK和DAT因而標(biāo)志CLK和DAT的關(guān)系也將如圖20和21中所示的情況。在這種情況下,運(yùn)動(dòng)方向可分別標(biāo)記為“右”和“左”,而不是“順時(shí)針”和“逆時(shí)針”。
為了幫助解釋系統(tǒng)100的操作,尤其是微控制器108使用標(biāo)志CLK和DAT檢測(cè)索引不透光區(qū)122以及對(duì)透光區(qū)118和透光區(qū)120進(jìn)行計(jì)數(shù)的方式,將假設(shè)當(dāng)系統(tǒng)100的電源接通時(shí)或系統(tǒng)100復(fù)位時(shí)索引型編碼器102定位,以便在圖21中編號(hào)計(jì)數(shù)值為“45”的透光區(qū)正要經(jīng)過發(fā)射器128和檢測(cè)器126-1之間,而索引型編碼器102正在以順時(shí)針方向運(yùn)動(dòng),其運(yùn)動(dòng)速度足以使微控制器108在寄存器TMR0達(dá)到最大值之前檢測(cè)到步驟507中每個(gè)CLK邊界條件。然而,不管索引型編碼器102的初始位置如何,也不管索引型編碼器102朝哪個(gè)方向旋轉(zhuǎn),微控制器108都能夠檢測(cè)到索引不透光區(qū)122。
像上面所解釋的那樣,由于假設(shè)索引型編碼器102上編號(hào)計(jì)數(shù)值為“45”的透光區(qū)是要開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間的第一個(gè)“位置”,微控制器108在圖15的步驟511中將檢測(cè)到情況是CLK上升邊。CLK上升情況的時(shí)間在圖20中記為t1。然后程序接著進(jìn)行到步驟512,如上所述,在這一步,CLK上升標(biāo)志CLKRIS置“1”,寄存器TOFF的值設(shè)置到寄存器TMR0的值,寄存器TMR0復(fù)位到“0”。
要注意,當(dāng)寄存器TRM0在這種情況下或任何其他情況下復(fù)位到0時(shí),寄存器TMR0將立即再次開始計(jì)數(shù)。然而由于相對(duì)于索引型編碼器102的運(yùn)動(dòng)而言,圖13-15,23-26和28-30的流程圖中所示的微控制器108的處理速度是如此之快,在這程序中發(fā)生的寄存器TMR0值的任何單個(gè)增加都將在步驟508經(jīng)過測(cè)試,因而不會(huì)對(duì)系統(tǒng)100的操作產(chǎn)生不利影響。因此,正如下面要詳述的那樣,為了各種實(shí)用目的,寄存器TMR0的值,假定它還沒有達(dá)到最大值,被認(rèn)為是在相鄰兩個(gè)CLK邊界情況之間經(jīng)過的時(shí)間,換句話說,程序周期必須小于寄存器TMR0的增量時(shí)間。
由于在時(shí)間t1檢測(cè)到的CLK邊界條件是在系統(tǒng)100加電或復(fù)位之后出現(xiàn)的第一個(gè)CLK邊界條件,TOFF的值在這時(shí)基本沒有意義。
在步驟513,如果微控制器108確定標(biāo)志DAT在低電平(0),它就確定標(biāo)志DAT具有在圖20中時(shí)間t1時(shí)所示的關(guān)系,因此也就確定索引型編碼器102在朝順時(shí)針方向旋轉(zhuǎn)。這種情況下,程序接著進(jìn)行到在步驟516開始的順時(shí)針旋轉(zhuǎn)(RCW)程序。然而,如果微控制器108確定標(biāo)志DAT的狀態(tài)是高(1),那么微控制器108就判定DAT具有圖22中例如在時(shí)間t5時(shí)所示的關(guān)系,因此微控制器108就判定索引型編碼器102朝逆時(shí)針方向旋轉(zhuǎn)。在這種情況下,程序進(jìn)行到在步驟534開始的逆時(shí)針旋轉(zhuǎn)(RCCW)程序,這一點(diǎn)在下文詳述。
由于假設(shè)標(biāo)志DAT為低(0)如圖20在時(shí)間t1時(shí)所示,因?yàn)榧僭O(shè)了索引型編碼器102朝順時(shí)針方向旋轉(zhuǎn),微控制器108將判定索引型編碼器102朝順時(shí)針方向運(yùn)動(dòng),并進(jìn)行到在步驟516開始的順時(shí)針旋轉(zhuǎn)程序?,F(xiàn)在就參照?qǐng)D23的流程圖敘述之。
在516步驟開始進(jìn)行順時(shí)針旋轉(zhuǎn)程序之后,程序進(jìn)行到步驟517,微控制處理器108檢查順時(shí)針旋轉(zhuǎn)標(biāo)志(CWR)的狀態(tài)以確定先前是否已經(jīng)判定索引型編碼器102朝順時(shí)針方向旋轉(zhuǎn)。如果已經(jīng)判定索引型編碼器102是順時(shí)針方向旋轉(zhuǎn),那么程序進(jìn)行到步驟518,微控制器108判定標(biāo)志TMAX是否已設(shè)置到1,指示時(shí)鐘TMR0已達(dá)到最大值。
然而,如上文所述,這是在系統(tǒng)100加電或復(fù)位之后在第一個(gè)CLK邊界條件之后完成的第一次順時(shí)針旋轉(zhuǎn)程序。相應(yīng)地微控制器517將在步驟517確定順時(shí)針旋轉(zhuǎn)標(biāo)志(CWR)不等于“1”,并接著進(jìn)行到步驟520。在這一步,順時(shí)針旋轉(zhuǎn)標(biāo)志(CWR)的狀態(tài)置為1,因此指示出順時(shí)針旋轉(zhuǎn)。寄存器TON1,TON2和TOFF的值在步驟521復(fù)位到0,微控制器108進(jìn)行到在步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序,如圖24的流程圖所示。
在這時(shí),寄存器TON1、TON2和TOFF的值如下,這些值被用來檢測(cè)索引不透光區(qū)122如下文所述TON1=0TOFF=0TON2=0然后,微控制器108從步驟530進(jìn)行到531,判定位置計(jì)數(shù)寄存器COUNT的值是否等于47,47是如圖21所示的索引型編碼器102的最大計(jì)數(shù)值,這種情況下每個(gè)不透光區(qū)118都占7.5°圓周,每個(gè)透明區(qū)120占7.5°圓周,索引不透明區(qū)122占22.5°圓周。如果寄存器COUNT的值等于最大值47,那么就在步驟532將寄存器COUNT的值重置到2。
但是,由于這是整個(gè)程序中的第一次,計(jì)數(shù)寄存器的值為“0”。因此,在步驟531,微控制器108判定寄存器COUNT的值不等于其最大值即47,程序進(jìn)行到步驟533,寄存器COUNT的值加1,然后,程序進(jìn)行到在步驟552開始的過程計(jì)數(shù)位置顯示(PCPD)如圖25所示。
微控制器108從步驟552起進(jìn)行處理,以便在步驟553通過檢查標(biāo)志INDEX的狀態(tài)來判定索引不透光區(qū)122是否已經(jīng)定位。如果這個(gè)狀態(tài)不等于1,那么程序返回到圖13中步驟504開始的讀90°相位差檢測(cè)器(RQD)程序,信號(hào)CLK和DAT將在步驟505中被讀出并進(jìn)行去振處理,然后過程將重復(fù)。要注意,當(dāng)未檢測(cè)到索引不透光區(qū)122時(shí),則跳過步驟554和555的顯示程序,因?yàn)樵谝褭z測(cè)到索引不透光區(qū)122之前,確定位置顯示信息所依據(jù)的寄存器COUNT的值基本上無意義,相應(yīng)地也就不出現(xiàn)顯示。然而,正如下文要詳細(xì)解釋的那樣,一旦索引不透光區(qū)122被檢測(cè)出并且標(biāo)志INDEX的狀態(tài)已置為1,則完成步驟554和555中的顯示程序。
因?yàn)檫@是在系統(tǒng)100加電或復(fù)位之后整個(gè)程序過程的第一次,索引不透光區(qū)122尚未被檢測(cè)到,標(biāo)志INDEX的狀態(tài)不等于1,因此,程序返回到步驟504。
如上所述,為了進(jìn)行解釋,假設(shè)索引型編碼器102繼續(xù)朝順時(shí)針方向旋轉(zhuǎn)。相應(yīng)地,程序會(huì)從步驟504開始重復(fù)并如圖13和14的流程圖所示接著進(jìn)行下去,當(dāng)在步驟507檢測(cè)到CLK邊界條件之后程序?qū)⑦M(jìn)行到在圖15所示的步驟510。
假定在時(shí)間t2出現(xiàn)檢測(cè)到的時(shí)鐘邊界條件如圖20所示,這意味著圖21中編號(hào)計(jì)數(shù)值為“46”的不透明區(qū)118正開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間,因而,開始擋住光束132,使檢測(cè)器126-1無法檢測(cè)到如圖17A和17B所示。相應(yīng)地,標(biāo)志CLK變?yōu)榈椭?0)。
因此,微控制器108在步驟511判定標(biāo)志CLK沒有經(jīng)歷CLK上升邊條件,便進(jìn)行到步驟514。在這一步,微控制器108將CLK上升標(biāo)志(CLKRIS)重置為0,將寄存器TON2的值(=0)復(fù)制到寄存器TON1中,再將寄存器TMR0的值(=t2-t1)復(fù)制到寄存器TON2中。
正如后文所述,寄存器TON2的值復(fù)制到寄存器TON1中,是因?yàn)楫?dāng)用寄存器TMR0的當(dāng)前值對(duì)寄存器TON2進(jìn)行更新時(shí),TON2的先前值現(xiàn)在就對(duì)應(yīng)于寄存器TON1的當(dāng)前值。換言之,如圖20所示,寄存器TON1的值本來對(duì)應(yīng)于時(shí)間(t1-t0),在該時(shí)間,就在當(dāng)前時(shí)間t2檢測(cè)到的CLK下降邊條件之前,CLK信號(hào)是高電平(1)),現(xiàn)在寄存器TON1的值對(duì)應(yīng)于寄存器TON2的先前值,而這個(gè)TON2的先前值本來是對(duì)應(yīng)于時(shí)間(t-1-t0)(圖中未示出),在這個(gè)時(shí)間,標(biāo)志CLK剛好在先前在時(shí)間t0檢測(cè)到的CLK下降邊條件之后是高電平(1),但是,在系統(tǒng)100已經(jīng)加電或復(fù)位之后在這些初始處理期間,TON2的值仍為“0”直到它被換成寄存器TMR0的新值。
因此,在這時(shí),寄存器TON1、TON2和TOFF的值如下TON1=0TOFF=0(不變)TON2=t2-t1=TMR0然后,程序進(jìn)行到步驟515,微控制器108判定標(biāo)志DAT的狀態(tài)以確定索引型編碼器102的旋轉(zhuǎn)方向。如上述所述,假設(shè)索引型編碼器102繼續(xù)朝順時(shí)針方向旋轉(zhuǎn),標(biāo)志CLK和DAT在如圖20所示的時(shí)間t2,程序繼續(xù)進(jìn)行到步驟516開始的順時(shí)針方向旋轉(zhuǎn)(RCW)程序。如上所述,還假設(shè)在寄存器TMR0達(dá)到其最大值之前出現(xiàn)了在步驟507中檢測(cè)的CLK邊界條件。
因?yàn)樗饕途幋a器102繼續(xù)以順時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟517判定順時(shí)針方向標(biāo)志CWR已經(jīng)設(shè)置到1。微控制器108然后進(jìn)行到步驟518,以確定標(biāo)志TMAX是否已設(shè)置到1。
如果標(biāo)志TMAX的狀態(tài)是1,則微控制器108將不試圖檢測(cè)索引不透光區(qū)122,而是進(jìn)行到步驟519,將標(biāo)志TMAX的狀態(tài)重置到0,并在步驟521將寄存器TON1,TON2和TOFF的值重置到0。相應(yīng)地,如果標(biāo)志TMAX是1,則微控制器108將跳到在步驟522開始的順時(shí)針測(cè)試(CWT)程序,以便檢測(cè)索引不透光明區(qū)122,然后進(jìn)行到步驟530開始時(shí)的順時(shí)針計(jì)數(shù)(CWC)程序,如圖24及上文所述。
但是,由于假設(shè)標(biāo)志TMAX的狀態(tài)等于0,寄存器TMR0沒有達(dá)到最大值,程序?qū)⒗^續(xù)進(jìn)行到從步驟522開始的順進(jìn)針測(cè)試(CWT)程序如圖26所示。
特別是,微控制器108將判定在步驟523,524,525,526中設(shè)定的任一條件是否已得到滿足或者在步驟527中“no”條件是否已得到滿足。如果是,微控制器108將判定索引不透光區(qū)122仍不可檢測(cè)到,然后進(jìn)行到圖24中從步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序如上所述。
尤其是,如果微控制器108在步驟523判定時(shí)鐘信號(hào)上升標(biāo)志CLKRIS等于1,那么微控制器108將不試圖檢測(cè)是否存在索引不透光區(qū)122,因而進(jìn)行到在步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序。然而,如果微控制器108已在步驟523判定時(shí)鐘信號(hào)上升標(biāo)志CLKRIS不等于1,那么微控制器108將進(jìn)行到步驟524以確定寄存器TON1的值。正如步驟524,525,526和527所示,如果寄存器TON1,TON2或TOFF當(dāng)中任何一個(gè)寄存器的值為0,或者如果寄存器TOFF的值不等于或大于寄存器TON1和TON2的合計(jì)值,那么程序進(jìn)行到步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序。
如上所述,TON1的值等于0,因此,程序從檢測(cè)到這個(gè)條件的步驟524起進(jìn)行到在步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序見圖24,寄存器COUNT的值加1。因?yàn)樗饕煌腹鈪^(qū)122還沒有被確定,當(dāng)程序進(jìn)行到如圖29所示從步驟552開始的過程計(jì)數(shù)/位置顯示(PCPD)時(shí),將不執(zhí)行位置計(jì)算和顯示步驟554和555,因?yàn)榧拇嫫鰿OUNT值仍然無意義,程序?qū)⒎祷氐阶x90°相位差檢測(cè)器(RQD)步驟504見圖13。
然后程序繼續(xù)進(jìn)行,直至微控制器108在步驟507在時(shí)間t3檢測(cè)到另一個(gè)CLK邊界條件如圖20所示,這意味著圖21中編號(hào)計(jì)數(shù)“47”的透光區(qū)正開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間,從而檢測(cè)器126-1再次開始檢測(cè)從發(fā)射器128發(fā)出的光束132,標(biāo)志CLK相應(yīng)地變?yōu)楦咧?1)。如前文所述,將再次假設(shè)在寄存器TMR0達(dá)到最大值之前出現(xiàn)了這個(gè)CLK邊界條件。
然后程序繼續(xù)進(jìn)行到時(shí)鐘上升邊(CRE)步驟510和511見圖15,在這兩步假設(shè)微控制器108在圖14的步驟507已經(jīng)檢測(cè)到CLK邊界條件之后將檢測(cè)CLK上升條件。程序接著進(jìn)行到步驟512,在這一步,CLK信號(hào)上升標(biāo)志CLKRIS置為“1”,寄存器TOFF的值設(shè)置到寄存器TMR0的值,寄存器TMR0重置為“0”。
在這時(shí),寄存器TON1、TON2和TOFF的值如下TON1=0TOFF=t3-t2=TMR0TON2=t2-t1然后假設(shè)在步驟513,微控制器108判定標(biāo)志DAT信號(hào)在低電平(0),微控制器108因而得出結(jié)論在時(shí)間t3標(biāo)志CLK和DAT具有如圖20所示的關(guān)系。因此程序接著進(jìn)行到圖23所示在步驟516開始的順時(shí)針旋轉(zhuǎn)(RCW)程序。
因?yàn)樗饕途幋a器102還在繼續(xù)以順時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟517判定順時(shí)針旋轉(zhuǎn)標(biāo)志(CWR)已經(jīng)置1。微控制器108然后進(jìn)行到步驟518,它在這一步判定標(biāo)志TMAX是否已置1。
由于將假設(shè)標(biāo)志TMAX的狀態(tài)等于0,寄存器TMR0沒有達(dá)到最大值,程序?qū)⒗^續(xù)進(jìn)行到從步驟522開始的為順時(shí)針旋轉(zhuǎn)的順時(shí)針測(cè)試(CWT)程序如圖26所示。特別地,微控制器108將判定在步驟523,524,525或526提出的條件是否都已得到滿足,或者是否發(fā)生了步驟527中的“No”條件情況,由于標(biāo)志CLKRIS的狀態(tài)等于1,微控制器108將在步驟523判定這一條件,然后進(jìn)行到在圖24中從步驟530開始的順進(jìn)針計(jì)數(shù)(CWC)程序,如上文所述,并將數(shù)值寄存器加1。
接著進(jìn)行到圖25所示在步驟552開始的過程計(jì)數(shù)/位置顯示(PCPD)程序,跳過步驟554和535的顯示程序,因?yàn)樗饕煌腹鈪^(qū)122尚未檢測(cè)到,將不發(fā)生位置計(jì)算和顯示。然后程序返回到讀90°相位差檢測(cè)器(RQD)步驟504。
由于程序從步驟504開始重復(fù)并且如圖13和14的流程圖所示進(jìn)行,當(dāng)在步驟507已檢測(cè)到CLK邊界條件時(shí),程序進(jìn)行到圖15中的時(shí)鐘上升邊(CRE)步驟510,假設(shè)在時(shí)間t4發(fā)生了檢測(cè)到的CLK邊界條件如圖20所示,這意味著圖21中編號(hào)計(jì)數(shù)為“2”的索引不透光區(qū)122正開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間,因而開始擋住光束132,使檢測(cè)器126-1無法檢測(cè)到該光束,相應(yīng)地,標(biāo)志CLK變?yōu)榈椭?0)。
微控制器108因此在步驟511判定標(biāo)志CLK不是CLK上升條件,接著進(jìn)行到步驟514。在步驟514,微控制器108將CLK信號(hào)上升標(biāo)志CLKRIS重置為0,將寄存器TON2的值(=t2-t1)復(fù)制到寄存器TON1中,寄存器TMR0的值(t4-t3)復(fù)制到寄存器TON2中,并將寄存器TMR0重置為“0”。
因此在這時(shí),寄存器TON1、TON2和TOFF的值如下TON1=t2-t1TOFF=t3-t2TON2=t4-t3=TMR0然后程序進(jìn)行到步驟515,在這一步微控制器108判定標(biāo)志DAT的狀態(tài),以確定索引型編碼器102的旋轉(zhuǎn)方向。如上所述,假設(shè)索引型編碼器102正在繼續(xù)以順時(shí)針方向旋轉(zhuǎn),標(biāo)志CLK和DAT為圖20中在時(shí)間t4時(shí)所示情形,那么,程序繼續(xù)進(jìn)行到在步驟516開始的順時(shí)針旋轉(zhuǎn)(RCW)程序如圖23所示。如上所述,還假設(shè)在寄存器TMR0達(dá)到最大值之前出現(xiàn)了在步驟507檢測(cè)的CLK邊界條件。
由于索引型編碼器102在繼續(xù)以順時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟517判定順時(shí)針旋轉(zhuǎn)標(biāo)志已經(jīng)CWR已經(jīng)置為1。微控制器108然后進(jìn)行到步驟518,它將在這一步確定標(biāo)志TMAX是否已置為1。
如果標(biāo)志TMAX的狀態(tài)是1,那么微控制器108將不試圖檢測(cè)索引不透光區(qū)122,而是進(jìn)行到步驟519,在這一步,微控制器108將標(biāo)志TMAX的狀態(tài)重置為0,在步驟521將寄存器TON1,TON2和TOFF的值重置0。在這種情況下,微控制器108將跳過從步驟522開始的順時(shí)針測(cè)試(CWT)程序,而進(jìn)行到在步驟530開始的順進(jìn)針計(jì)數(shù)(CWC)程序,如圖24所示,如上所述。
但是,由于將要假設(shè)標(biāo)志TMAX狀態(tài)等于0,寄存器TMR0沒有達(dá)到它的最大值,程序?qū)⒗^續(xù)進(jìn)行到在步驟522開始的順時(shí)針測(cè)試(CWT)程序如圖26所示。
微控制器108特別將判定在步驟523,524,525或526提出的條件是否均已得到滿足,或者是否發(fā)生了在步驟527中的“NO條件”。如果是的話,微控制器108將確定索引不透光區(qū)122仍無法檢測(cè)到,因而進(jìn)行到在圖24中步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序,如上所述。
由于CCKRIS標(biāo)志的狀態(tài)不是1,寄存器TON1,TON2和TOFF的值都不是0,微控制器將經(jīng)過步驟523,523、524、525和526進(jìn)行到步驟527,它將在這一步判定寄存器TOFF的值是否大于或等于寄存器TON1和TON2的合計(jì)值。如上所述,寄存器TON1的值對(duì)應(yīng)于圖20中的時(shí)間段t2-t1,在這一時(shí)間內(nèi)編號(hào)計(jì)數(shù)為“45”的透光區(qū)從檢測(cè)器126-1和發(fā)射器128之間經(jīng)過。TON2的值等于當(dāng)前(第四個(gè))TMR0值,這個(gè)值對(duì)應(yīng)于圖20中的時(shí)間段t4-t3,在此時(shí)間段內(nèi)編號(hào)計(jì)數(shù)為“47”的透光區(qū)在檢測(cè)126-1和發(fā)射器128之間經(jīng)過。TOFF的值等于第3個(gè)TMR0值,后者對(duì)應(yīng)于圖20中的時(shí)間段t3-t2,在此時(shí)間段內(nèi)編號(hào)計(jì)數(shù)為“46”的不透光區(qū)118在檢測(cè)器126-1和發(fā)射器128之間經(jīng)過。
如上所述,假設(shè)索引型編碼器102以相對(duì)恒定的速度旋轉(zhuǎn),由于不透光區(qū)118的長度和透光區(qū)120長度幾乎相等,因此可假設(shè)當(dāng)索引型編碼器102以相對(duì)恒定的速度旋轉(zhuǎn)時(shí),任何一個(gè)不透光區(qū)118或任何一個(gè)透光區(qū)120在檢測(cè)器126-1和發(fā)射器128之間經(jīng)過所需的時(shí)間也相對(duì)恒定不變。所以,寄存器TON1、TON2和TOFF的值幾乎相等。
這樣,微控制器108在步驟527判定TOFF的值不等于或大于TON1和TON2的值之和,在這個(gè)例子中,后者大約是前者的兩倍。因此,微控制器108接著進(jìn)行到在步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序見圖24,寄存器COUNT的值加1。因?yàn)樗饕煌腹鈪^(qū)122尚未確定,所以當(dāng)程序進(jìn)行到在步驟552開始的過程計(jì)數(shù)/位置顯示(PCPD)過程如圖25所示,根據(jù)計(jì)數(shù)計(jì)算位置和顯示位置的步驟554和555將不執(zhí)行,程序?qū)⒎祷氐阶x90°相位差檢測(cè)器(RQD)步驟504見圖13。
然后,程序繼續(xù)進(jìn)行,直至微控制器108在圖20中所示的時(shí)間t5檢測(cè)到步驟507的另一個(gè)CLK邊界條件,這意味著圖21中編號(hào)計(jì)數(shù)為“3”的透光區(qū)開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間,因而檢測(cè)器126-1再次開始檢測(cè)從發(fā)射器128發(fā)出的光束132。相應(yīng)地,標(biāo)志CLK變?yōu)楦咧?1)。如前所述,再次假設(shè)這個(gè)CLK邊界條件在寄存器TMR0達(dá)到最大值之前出現(xiàn)。
程序繼續(xù)進(jìn)行到時(shí)鐘上升邊(CRE)步驟510和511見圖15,假設(shè)微控制器108將確定在圖14中步驟507檢測(cè)到的CLK邊界條件是CLK上升條件。程序進(jìn)行到步驟512,在這一步,CLK上升標(biāo)志CLKRIS置為“1”,標(biāo)志TOFF的狀態(tài)被設(shè)置到寄存器TMR0的值,TMR0寄存器重置為“0”。
在這時(shí),寄存器TON1、TON2和TOFF的值如下TON1=第二個(gè)TMR0值(不變)=t2-t1TOFF=當(dāng)前(第五個(gè))TMR0值=t5-t4TON2=第四個(gè)TMR0值(不變)=t4-t3但是,應(yīng)該注意,在圖20所示的時(shí)間t5時(shí),寄存器TMR0的值代表索引不透光區(qū)122在檢測(cè)器126-1和發(fā)射器125之間經(jīng)過所花的時(shí)間。如上文所述,索引不透光區(qū)122的長度大約是其他不透光區(qū)188或透光區(qū)120的長度的3倍。相應(yīng)地,當(dāng)前(第五個(gè))TMR0值大約是先前第二和第四個(gè)寄存器TMR0值之中任何一個(gè)值的3倍。所以TOFF的值等于這個(gè)較大的第五個(gè)TMR0值,這將有助于使微控制器108能夠檢測(cè)索引不透光區(qū)122如下文所述。
然后假設(shè)在步驟513,微控制器108判定標(biāo)志DAT在低電平(0),因而判定標(biāo)志CLK和DAT在時(shí)間t5具有圖20所示出的關(guān)系。程序因而進(jìn)行到在圖23中步驟516開始的順時(shí)針旋轉(zhuǎn)程序(RCW)。
因?yàn)樗饕途幋a器102在繼續(xù)以順時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟517確定順時(shí)針旋轉(zhuǎn)標(biāo)志CWR已經(jīng)置1。微控制器108然后進(jìn)行到步驟518,它在這一步確定標(biāo)志TMAX是否已經(jīng)置1。
由于假設(shè)標(biāo)志TMAX的狀態(tài)等于0,寄存器TMR0沒有達(dá)到最大值,程序繼續(xù)進(jìn)行到在圖26所示步驟522開始的順時(shí)針測(cè)試(CWT)程序,特別是微控制器108將判定在步驟523,524,525,或526中提出的條件是否均已得到滿足,或者是否發(fā)生了步驟527中的“no”條件。由于標(biāo)志CLKRIS的狀態(tài)等于1,微控制器108將在步驟523確定這一條件然后進(jìn)行到在圖24步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序如上文所述,并給寄存器COUNT的值加1。
然后,程序進(jìn)行到在圖25所示步驟552開始的過程計(jì)數(shù)/位置顯示(PCPD)處理,步驟554和555的顯示程序被跳過,因?yàn)樗饕煌腹鈪^(qū)122還沒有被檢測(cè)到,也就是不會(huì)出現(xiàn)顯示,程序返回到讀90°相位差檢測(cè)器(RQD)步驟504。
由于程序從步驟504開始是重復(fù)的,并按圖13和14中流程圖所示進(jìn)行,因此當(dāng)在步驟507檢測(cè)到了CLK邊界條件時(shí),程序?qū)⑦M(jìn)行到圖15的時(shí)鐘上升邊(CRE)步驟510。假設(shè)如圖20所示在時(shí)間t6發(fā)生了檢測(cè)的CLK邊界條件,這意味著圖21中編號(hào)計(jì)數(shù)為“4”的索引不透光區(qū)正在開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間,因而開始擋住光束132,使檢測(cè)器126-1無法檢測(cè)到,相應(yīng)地,標(biāo)志CLK變?yōu)榈椭?0)。
因此微控制器108在步驟511判定標(biāo)志CLK沒有經(jīng)歷CLK上升條件,接著進(jìn)行到步驟514,在步驟514,微控制器108將CLK信號(hào)上升標(biāo)志CLKRIS置為0,將寄存器TON2的值復(fù)制到寄存器TON1中,將寄存器TMR0的值復(fù)制到寄存器TON2中,而寄存器TMR0重置為“0”。
相應(yīng)地,在這時(shí),寄存器TON1、TON2和TOFF的值如下TON1=先前的TON2=第四個(gè)TMR0值=t4-t3TOFF=第五個(gè)TMR0值(不變)=t5-t4TON2=當(dāng)前的(第六個(gè))TMR0值=t6-t5程序進(jìn)行到步驟515,在這一步微控制器108判定標(biāo)志DAT的狀態(tài)以確定索引型編碼器102的旋轉(zhuǎn)方向。如上所述,假設(shè)索引型編碼器102在繼續(xù)以順時(shí)針方向旋轉(zhuǎn),標(biāo)志CLK和DAT如圖20中時(shí)間t6時(shí)所示情形,那么程序繼續(xù)進(jìn)行到在圖23所示步驟516開始的順時(shí)針旋轉(zhuǎn)(RCW)程序。如上所示,還假設(shè)在寄存器TMR0達(dá)到最大值之前發(fā)生了在步驟507檢測(cè)到的CLK邊界條件。
因?yàn)樗饕途幋a器在繼續(xù)以順時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟517確定順時(shí)針旋轉(zhuǎn)標(biāo)志CWR已置1,微控制器108然后進(jìn)行到步驟518,在這一步,它將判定標(biāo)志TMAX是否已經(jīng)置為1。
如果標(biāo)志TMAX的狀態(tài)是1,那么微控制器108將不試圖檢測(cè)索引不透光0區(qū)122,而是進(jìn)行到步驟519,它在這一步將標(biāo)志TMAX的狀態(tài)重置為0,在步驟521將寄存器TON1,TON2和TOFF的值重置為0。相應(yīng)地,微控制器108將跳過在步驟522開始的用于檢測(cè)索引不透光區(qū)的122程序,并進(jìn)行到在圖24所示步驟530開始的順時(shí)針計(jì)數(shù)(CWC)程序。
但是,由于假設(shè)標(biāo)TMAX的狀態(tài)等于0,寄存器TMR0沒有達(dá)到最大值,程序繼續(xù)進(jìn)行到在圖26所示步驟522開始的順時(shí)針測(cè)試(CWT)程序。
微控制器108特別要判定在步驟523,524,525,或526提出的條件是否都已得到滿足,或者是否發(fā)生了步驟527的“no”條件。如果是的話,微控制器108將判定索引不透光區(qū)122仍然無法檢測(cè)到,因而進(jìn)行到在圖24中步驟530開始的順時(shí)針計(jì)數(shù)程序如上所述。
因?yàn)槿缟纤觯瑯?biāo)志CLKRIS的狀態(tài)不是1,TON1、TON2和TOFF的值并不全部為0,微控制器將通過步驟523,523,524,525,526進(jìn)行到527,它將在這一步判定TOFF的值是否大于或等于TON1和TON2的合計(jì)值。如上所述,TON1值等于第四個(gè)TMR0值,后者對(duì)應(yīng)于圖20中的時(shí)間段t4-t3,在這段時(shí)間內(nèi)編號(hào)計(jì)數(shù)為“47”的透光區(qū)經(jīng)過了檢測(cè)器126-1和發(fā)射器128之間。TON2的值等于當(dāng)前的(第六個(gè))TMR0值,后者對(duì)應(yīng)于圖20中的時(shí)間段t6-t5,在此時(shí)間內(nèi)編號(hào)為“3”的透光區(qū)經(jīng)過檢測(cè)器126-1和發(fā)射器128之間。TOFF的值等于第五個(gè)TMR0值,后者對(duì)應(yīng)于圖20中的時(shí)間段t5-t4,在此時(shí)間內(nèi)編號(hào)計(jì)數(shù)為“2”的索引不透光區(qū)經(jīng)過了檢測(cè)器126-1和發(fā)射器128之間。
如上所述,假設(shè)索引型編碼器102正在以相對(duì)恒定的速度旋轉(zhuǎn),因此,由于透光區(qū)120的長度幾乎相等,可假設(shè)當(dāng)索引型編碼器102以相對(duì)恒定的速度旋轉(zhuǎn)時(shí)任何一個(gè)透光區(qū)120經(jīng)過檢測(cè)器126-1和發(fā)射器128之間所用的時(shí)間都相對(duì)恒定,相應(yīng)地,TON1和TON2的值幾乎相等。
但是,如上所述,由于索引不透光區(qū)122的長度幾乎是任何一個(gè)透光區(qū)120的長度的3倍,TOFF的值在這種情況下大于TON1和TON2的合計(jì)值。因而,微控制器108在步驟527判定TOFF的值等于或大于TON1和TON2之和,這個(gè)例子中后者大約等于前者的2/3。所以,微控制器108進(jìn)行到步驟528,在這一步它將寄存器COUNT的值設(shè)置到4。如圖20時(shí)間t6時(shí)所示,這指示出索引型編碼器102上圖22編號(hào)計(jì)數(shù)為“4”的不透光區(qū)正開始經(jīng)過檢測(cè)器126-1和發(fā)射器128之間。然后程序進(jìn)行到步驟529,微控制器108在這一步將標(biāo)志INDEX置為“1”,因而指示出索引不透光區(qū)122已被檢測(cè)到。應(yīng)注意一旦這個(gè)標(biāo)志INDEX被置“1”,它將繼續(xù)保持在1直至系統(tǒng)100的電源被切斷或系統(tǒng)100已復(fù)位。
還要注意由于索引不透光區(qū)122的長度等于或大約等于任何一個(gè)透光區(qū)120的長度的3倍,以這種方式配置的系統(tǒng)100對(duì)索引型編碼器102運(yùn)動(dòng)的加速或減速幾乎忽略不計(jì)。
然后程序繼續(xù)進(jìn)行到圖25步驟552的過程計(jì)數(shù)/位置顯示(PCPD)處理。微控制器108將在步驟553確定標(biāo)志INDEX現(xiàn)在等于1,因而進(jìn)行到步驟554,在這一步它根據(jù)寄存器COUNT的值計(jì)算POSITION。這個(gè)POSITION對(duì)應(yīng)于由寄存器COUNT所指示的位置,例如,在這時(shí)是位置“4”。
或者,索引型編碼器102可與一位置數(shù)目不相同的輪子一起使用。例如,如圖27A和27B的表中所示,如果索引型編碼器102連接到一個(gè)有16個(gè)位置的輪子,比如自動(dòng)售貨機(jī)的輪子,那么將寄存器COUNT的值除以3以確定16位輪子的POSITION,也就是說,計(jì)數(shù)值除以3得到的商就成了POSITION。
換言之,在這個(gè)例子中,16位輪子每個(gè)位置都對(duì)應(yīng)于兩個(gè)不透光區(qū)118和一個(gè)透光區(qū)120的位置,或者對(duì)應(yīng)于兩個(gè)透光區(qū)120和一個(gè)不透光區(qū)118的位置。而且,由于索引不透光區(qū)122的長度等于3個(gè)規(guī)則的不透光區(qū)118或3個(gè)透光區(qū)120,索引不透光區(qū)122位置對(duì)應(yīng)于16位輪子的一個(gè)POSITION。在這個(gè)例子中,在圖22中索引型編碼器上編號(hào)為COUNT“2”的索引不透光區(qū)122被計(jì)算成16位輪子上的第一個(gè)或“0”POSITION。如前所述,索引型編碼器102上的后面3個(gè)計(jì)數(shù)(3、4、5、)被計(jì)算成為16位輪子的POSITION“1”,而后面3個(gè)計(jì)數(shù)(6、7、8、)被計(jì)算成為16位輪子上的POSITION“2”,以此類推。
然后在步驟555,微控制器108可輸出在步驟554計(jì)算出的代表POSITION的信號(hào)以便控制顯示系統(tǒng)112生成一個(gè)顯示指示計(jì)算出的POSITION。例如,如果顯示系統(tǒng)112象圖12所示那樣,LED驅(qū)動(dòng)器144將微控制器信號(hào)轉(zhuǎn)換成輸出信號(hào),而這些輸出信號(hào)例如使一個(gè)LED142發(fā)光,正確指示出16個(gè)輪位置之中的1個(gè)。如上所述,顯示系統(tǒng)112可以含有已為人所知的任何型式的顯示器,或者,微控制器108可在內(nèi)部使用計(jì)算出的POSITION進(jìn)行程序功能。如果需要的話,由微控制器108輸出的表示計(jì)算出的POSITION的信號(hào)也可以提供給另一臺(tái)處理器以便作進(jìn)行一步處理,如果系統(tǒng)100這樣要求的話。
還應(yīng)注意,在步驟554計(jì)算出的POSITION值可計(jì)算成任何整數(shù)值,只要這個(gè)值是依據(jù)索引型編碼器102的COUNT。例如,如果與索引型編碼器102相聯(lián)接的輪子只有4個(gè)位置,那么編號(hào)為COUNT“2”的索引不透光區(qū)118以及編號(hào)3-11的透光區(qū)可對(duì)應(yīng)于輪子上的POSITION“0”,編號(hào)12至23的不透光區(qū)和透光區(qū)對(duì)應(yīng)于POSITION“1”,依此類推。
在完成步驟555之后,程序回到讀90°相位差檢測(cè)器(RQD)步驟504見圖13,如果假設(shè)索引型編碼器102在繼續(xù)以順時(shí)針方向旋轉(zhuǎn),標(biāo)志CLK和DAT的關(guān)系將依然如圖20所示,因此,下一個(gè)CLK邊界條件將在時(shí)間t7生。
當(dāng)在時(shí)間t7檢測(cè)到這個(gè)CLK邊界條件時(shí),這意味著圖21中編號(hào)為COUNT“5”的透光區(qū)正開始經(jīng)過發(fā)射器128和檢測(cè)器126-1之間,因而檢測(cè)器126-1再次開始檢測(cè)從發(fā)射器128發(fā)出的光束132,相應(yīng)地CLK信號(hào)變?yōu)楦咧?1)。如上述所述,將再次假設(shè)在寄存器TMR0達(dá)到最大值之前發(fā)生了圖14中步驟508檢查的這個(gè)CLK邊界條件。
程序繼續(xù)進(jìn)行到步驟510和511見圖15,在這一步假設(shè)微控制器10在圖14步驟507中檢測(cè)出CLK邊界條件之后將檢測(cè)CLK上升邊條件。程序進(jìn)行到步驟512,如上所述CLK信號(hào)上升標(biāo)志CLKRIS置為“1”,寄存器TOFF的值設(shè)置到寄存器TMR0的值,寄存器TMR0重置為“0”在這時(shí),寄存器TON1、TON2和TOFF的值如下TON1=第四個(gè)TMR0值(不變)=t4-t3TOFF=當(dāng)前(第七個(gè))TMRO值=t7-t6TON2=第六個(gè)TMR0值(不變)=t6-t5應(yīng)注意,在圖20所示的時(shí)間t7,寄存器TMR0的值表示圖21中編號(hào)為COUNT“4”的不透光區(qū)經(jīng)過檢測(cè)器126-1和發(fā)射器128之間所用的時(shí)間,然后假設(shè)在步驟513,微控制器108判定當(dāng)標(biāo)志CLK上升時(shí)標(biāo)志DAT在低電平(0),微控制器108因而判定標(biāo)志CLK和DAT具有圖20時(shí)間t7時(shí)所示的關(guān)系。程序進(jìn)行到在圖23所示從步驟516開始的順時(shí)針旋轉(zhuǎn)(RCW)程序。
因?yàn)樗饕途幋a器102在繼續(xù)以順時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟517判定順時(shí)針方向標(biāo)志CWR已置1。微控制器108然后進(jìn)行步驟518,判定標(biāo)志TMAX是否已置為1。
由于假設(shè)標(biāo)志TMAX的狀態(tài)為0,寄存器TMR0未達(dá)到其最大值,程序?qū)⒗^續(xù)至始于圖26的步驟522的順時(shí)針測(cè)試(CWT)程序。具體說來,微控制器108確定前面步驟523、524、525或526所列的任何條件是否已經(jīng)完成,或確定是否出現(xiàn)了步驟527中的“no”,條件。因?yàn)闃?biāo)志CLKRIS的狀態(tài)為1,故微控制器108將確定步驟523中的條件并進(jìn)行到如圖24所示在步驟530的順時(shí)針計(jì)數(shù)(CWC)程序,將寄存器的COUNT值加1,得到現(xiàn)在的COUNT值為“5”。
程序?qū)⒗^續(xù)進(jìn)行至始于圖25的步驟552的過程計(jì)數(shù)/位置顯示(PCPD)程序。索引不透光區(qū)122已經(jīng)檢測(cè),因此可執(zhí)行步驟554和555的顯示程序,因此顯示出現(xiàn)。然后程序回到讀90°相位差探測(cè)器(RQD)步驟504。
注意,由于單一索引不透光區(qū)112已經(jīng)檢測(cè)、電源未關(guān)閉且系統(tǒng)100未復(fù)位,不需要重新檢測(cè)單一索引不透光區(qū)112。當(dāng)索引型編碼器102繼續(xù)以順時(shí)針方向旋轉(zhuǎn)而索引區(qū)112再次通過檢測(cè)器126-1和發(fā)射器128之間時(shí),TOFF值被檢測(cè)到大于或等于步驟527中的TON1和TON2之和,則程序?qū)⑦M(jìn)行至寄存器COUNT設(shè)置為“4”的步驟528,然后繼續(xù)進(jìn)入INDEX標(biāo)志將置為“1”的步驟529。
雖然如上所述,除非系統(tǒng)100的電源已關(guān)閉或系統(tǒng)100已復(fù)位,并不需要再次檢查索引不透光區(qū)122,步驟528和529中索引不透光區(qū)122的每一后續(xù)檢測(cè)的程序檢查每一旋轉(zhuǎn),為索引編碼器102的編號(hào)計(jì)數(shù)能夠被準(zhǔn)確監(jiān)控提供了保障。
只要索引型編碼器102沒有開始反相逆時(shí)針方向以足夠速度旋轉(zhuǎn)而產(chǎn)生一個(gè)CLK邊界條件,程序?qū)⒗^續(xù)如上所述進(jìn)行。如上所述,因?yàn)榧拇嫫鱐MR0的數(shù)值僅用于索引不透光區(qū)122的檢測(cè),圖24所示的順時(shí)針計(jì)數(shù)(CWC)程序?qū)⒃诔绦驎r(shí)間內(nèi)周期性地執(zhí)行,即使索引編碼器102的運(yùn)動(dòng)在圖14步驟507中的CLK邊界條件被檢測(cè)之前降到寄存器TMR0不能達(dá)到其最大值的速率或完全停止,然后恢復(fù)順時(shí)針運(yùn)動(dòng),而沒有足夠速度的逆時(shí)針方向運(yùn)動(dòng)以產(chǎn)生一個(gè)CLK邊界條件。
可是,如果索引編碼器102開始以逆時(shí)針方向運(yùn)動(dòng)并在此方向中產(chǎn)生一個(gè)CLK邊界條件,那么正將提及的圖28-30中所示的逆時(shí)針程序由微控制器108執(zhí)行。從以下所述可以看出,逆時(shí)針程序與上述的關(guān)于索引型不透光區(qū)122的順時(shí)針運(yùn)動(dòng)的順時(shí)針程序相似。然而,以下將提及,圖29所執(zhí)行的逆時(shí)針方向計(jì)數(shù)(CCWC)程序?qū)λ饕途幋a器102上檢測(cè)到的每一逆時(shí)針邊將寄存器COUNT減1。
例如,如果假設(shè)在圖21編號(hào)為COUNT5的透光區(qū)剛剛以逆時(shí)針方向通過檢測(cè)器126-1和發(fā)射器128之間的位置(圖20中t7)之后,索引型編碼器102開始以逆時(shí)針方向運(yùn)動(dòng),那么編號(hào)為COUNT“4”的不透光區(qū)118(圖20中t0)將再次從檢測(cè)器126-1和發(fā)射器128之間通過,盡管是逆時(shí)針方向。也就是說,由于程序從步驟504開始重復(fù)并如流程圖13和14所示進(jìn)行時(shí),當(dāng)標(biāo)志CLK的狀態(tài)改變已在圖14的步驟507中檢測(cè)到時(shí),程序?qū)⑦M(jìn)行到圖15中的時(shí)鐘上升邊(CRE)步驟510。假定已檢測(cè)的下降時(shí)鐘邊條件在如圖22所示的t0時(shí)間出現(xiàn),這意味著編號(hào)為COUNT“4”的不透光區(qū)118開始從檢測(cè)器126-1和發(fā)射器128之間通過并因此開始阻擋光束132使之無法被檢測(cè)器126-1檢測(cè)到。相應(yīng)地,CLK信號(hào)降為低值(0)。
因此,步驟511中的微控制器108確定CLK信號(hào)不是CLK上升條件,進(jìn)行到步驟514。在步驟514中,微控制器108重新設(shè)置CLK信號(hào)上升標(biāo)志CLKRIS為0,以上述方式將寄存器TON2的數(shù)值復(fù)制到寄存器TON1并將寄存器TMR0的數(shù)值復(fù)制到寄存器TON2。
假設(shè)在上述t7時(shí)間,TON1、TON2和TOFF的數(shù)值如上所述,則此時(shí)的TON1、TON2和TOFF的數(shù)值為TON1=TON2(從上述時(shí)間t7而來)=t6-t5TOFF=上述的TOFF(無改變)=t7-t6TON2=當(dāng)前的TMR0=因方向變化而無效程序進(jìn)行至步驟515,其中微控制器108將比較CLK和DAT標(biāo)志的關(guān)系以確定索引編碼器102的旋轉(zhuǎn)方向。如上所述,假設(shè)索引編碼器102現(xiàn)在沿逆時(shí)針方向旋轉(zhuǎn)且標(biāo)志CLK和DAT如圖22的時(shí)間t0所示,程序繼續(xù)進(jìn)行至始于步驟534的逆時(shí)針旋轉(zhuǎn)程序如圖28所示。
從圖28可以看出,始于步驟534的逆時(shí)針旋轉(zhuǎn)(RCCW)程序近似于始于步驟516的順時(shí)針旋轉(zhuǎn)(RCW)程序如流程圖23所示。因?yàn)樗饕途幋a器102現(xiàn)在已經(jīng)開始繼續(xù)沿逆時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟535中確定順時(shí)針旋轉(zhuǎn)標(biāo)志CWR不為0,并進(jìn)行至步驟538,在這一步中它將把標(biāo)志CWR設(shè)為0,以此指示出逆時(shí)針旋轉(zhuǎn)。
在步驟539中,寄存器TON1、TON2和TOFF的數(shù)值全部重置為0,微控制器108進(jìn)行至圖29所示步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序。然后微控制器108從步驟548進(jìn)行至步驟549,在此步驟確定寄存器COUNT的數(shù)值是否為2,即圖21所示的索引型編碼器102的計(jì)數(shù)最小值,如果寄存器的COUNT數(shù)值等于最小值2,標(biāo)志COUNT的狀態(tài)在步驟550中設(shè)為47。
可是,寄存器COUNT為“5”,因?yàn)樗饕途幋a器102上編號(hào)COUNT“5”的透光區(qū)是在檢測(cè)器126-1和發(fā)射器128之間,且索引型編碼器108上編號(hào)COUNT“4”的不透光區(qū)118現(xiàn)在正進(jìn)入檢測(cè)器126-1和發(fā)射器128之間的位置。因此,在步驟549中,微控制器108確定寄存器COUNT的數(shù)值不等于其最小值即2,程序繼續(xù)至步驟551,在此步驟中寄存器COUNT的數(shù)值減1,因此數(shù)值為“4”。然后程序進(jìn)行至圖25所示從步驟552開始的過程計(jì)數(shù)/位置顯示(PCPD)程序。
微控制器108將從步驟552進(jìn)行至步驟553,確定索引不透光區(qū)112是否已經(jīng)通過檢查標(biāo)志INDEX的狀態(tài)的定位。由于索引不透光區(qū)112已經(jīng)被檢測(cè)到、系統(tǒng)100沒有復(fù)位或電源沒有關(guān)閉,將執(zhí)行步驟554和555中的顯示程序,顯示出現(xiàn)。
程序回到步驟504,根據(jù)索引型編碼器102的運(yùn)動(dòng),重復(fù)上述的順時(shí)針程序或逆時(shí)針程序。
從關(guān)于逆時(shí)針方向旋轉(zhuǎn)的流程圖28-30可以進(jìn)一步看出,當(dāng)索引型編碼器102沿逆時(shí)針方向旋轉(zhuǎn)時(shí),檢測(cè)索引不透光區(qū)122的程序與上述的相應(yīng)的順時(shí)針旋轉(zhuǎn)基本相同。以下將簡單描述逆時(shí)針?biāo)饕煌腹鈪^(qū)檢測(cè)程序。
為解釋的目的,假設(shè)當(dāng)定位索引型編碼器102時(shí)出現(xiàn)系統(tǒng)100電源中斷或系統(tǒng)復(fù)位,圖21中編號(hào)COUNT“3”的透明區(qū)將從發(fā)射器128和檢測(cè)器126-1之間通過,索引型編碼器102沿逆時(shí)針方向運(yùn)動(dòng),其速度足以使微控制器108在寄存器TMR0達(dá)到其最大值之前檢測(cè)圖14中步驟507的CLK邊界條件。然而,就順時(shí)針程序而言,微控制器108能檢測(cè)索引不透光區(qū)122,而不管索引編碼器102的初始位置在哪里。
由于假設(shè)索引型編碼器102上編號(hào)COUNT“3”的透光區(qū)為開始從發(fā)射器128和檢測(cè)器126-1之間通過的第一“區(qū)”,見圖22中的時(shí)間t1,微控制器108將在圖15的步驟511中確定圖14的步驟507中所檢測(cè)的CLK邊界條件是一個(gè)CLK上升邊。然后程序進(jìn)行至步驟512,在此,如以下所述CLK上升標(biāo)志CLKRIS設(shè)置為“1”,寄存器TMR0的值復(fù)制至寄存器TOFF且寄存器TMR0重設(shè)為“0”。此時(shí)的TON1、TON2和TOFF數(shù)值為TON1=0TOFF=當(dāng)前的(第一個(gè))TOFF=t1-t0TON2=0在步驟513中,如果微控制器108確定標(biāo)志DAT的狀態(tài)處在高位(1),且微控制器108確定標(biāo)志CLK和DAT之間存在著圖22所示在時(shí)間t1時(shí)的關(guān)系,因而確定索引型編碼器102沿逆時(shí)針方向旋轉(zhuǎn)。在這種情況下,程序進(jìn)行到始于圖28的步驟534的逆時(shí)針旋轉(zhuǎn)(RCCW)程序。可是,如果微控制器108確定標(biāo)志DAT為低位(0),則微控制器108確定索引型編碼器102正沿逆時(shí)針方向旋轉(zhuǎn),并進(jìn)行上述的順時(shí)針旋轉(zhuǎn)(RCW)程序。
由于假設(shè)標(biāo)志DAT的狀態(tài)為圖22中的時(shí)間t1時(shí)的高位(1),因?yàn)樗饕途幋a器102沿逆時(shí)針方向旋轉(zhuǎn),微控制器108將確定索引型編碼器102沿逆時(shí)針方向旋轉(zhuǎn),并進(jìn)行至始于步驟534的逆時(shí)針旋轉(zhuǎn)(RCCW)程序。在步驟534中開始逆時(shí)針旋轉(zhuǎn)(RCCW)程序后,程序進(jìn)行至步驟535,在此,微控制器108檢查順時(shí)針旋轉(zhuǎn)標(biāo)志CWR的狀態(tài),以確定索引型編碼器102先前是否不是沿順時(shí)針方向旋轉(zhuǎn)。如果索引編碼器102不是沿順時(shí)針方向旋轉(zhuǎn)(CWR=0),則程序進(jìn)行至步驟536,在此微控制器108確定標(biāo)志TMAX的狀態(tài)是否已設(shè)置為1,這表示時(shí)鐘TMR0已經(jīng)達(dá)到最大值。
如上所述,這是系統(tǒng)100在經(jīng)過復(fù)位或經(jīng)歷了電源中斷后,在首個(gè)CLK邊界條件后執(zhí)行的第一次逆時(shí)針旋轉(zhuǎn)程序。相應(yīng)地,微控制器108將在圖13的步驟502中將順時(shí)針旋轉(zhuǎn)標(biāo)志重設(shè)為0,并因此將在步驟535中確定順時(shí)針旋轉(zhuǎn)標(biāo)志等于“0”,并進(jìn)行至步驟536。
如果標(biāo)志TMAX的狀態(tài)為1,則微控制器108不再檢測(cè)索引不透光區(qū)122。微控制器將進(jìn)入步驟537,在此它將標(biāo)志TMAX的狀態(tài)重置為0,并在步驟539中將寄存器TON1、TON2和TOFF的數(shù)值重置為0。相應(yīng)地,微控制器108將跳過始于步驟540用于檢測(cè)索引不透光區(qū)122的(CCWT)程序,并進(jìn)行至始于圖29中步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序。
但是,由于假設(shè)標(biāo)志TMAX的狀態(tài)為0,寄存器TMR0未達(dá)到其最大值,程序?qū)⒗^續(xù)到從圖30的步驟540開始的用于逆時(shí)針方向旋轉(zhuǎn)的逆時(shí)針測(cè)試(CCWT)程序。具體說來,微控制器108確定步驟541、542、543或544所列的任何條件是否已經(jīng)完成,布驟545中的no條件是否發(fā)生,如果是,微控制器108將判定索引不透光區(qū)122還未能檢測(cè),并進(jìn)行到始于圖29的步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序如上所述。
特別是,如果微控制器108在步驟541中確定CLK上升標(biāo)志CLKRIS的狀態(tài)為1,則微控制器108不再檢測(cè)索引不透光區(qū)122,進(jìn)入始于步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序。如果微控制器108已在步驟541中確定了CLK上升標(biāo)志被檢測(cè)為下降,則微控制器108將進(jìn)行至步驟542以確定寄存器TON1中的數(shù)值。如步驟542、543、544和545所示,如果寄存器TON1、TON2或TOFF的任一數(shù)值為0,或如果TOFF不大于或等于TON1和TON2的和,則程序進(jìn)行至始于步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序。
如上所述,標(biāo)志CLKRIS的狀態(tài)等于0。因此,程序從條件已檢測(cè)到的步驟541進(jìn)入步驟542。在步驟542中,確定TON1的數(shù)值等于0,因此程序進(jìn)行至始于步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序,且計(jì)數(shù)寄存器COUNT的數(shù)值減1。因?yàn)樗饕煌腹鈪^(qū)122還未確定,寄存器COUNT的數(shù)值基本上沒有意義。因此,當(dāng)程序進(jìn)入始于圖25的步驟552的過程計(jì)數(shù)/位置顯示(PCPD)程序時(shí),將不執(zhí)行位置計(jì)算和顯示步驟554和555,且程序返回到讀90°相位差檢測(cè)器(RQD)步驟504見圖13。
如上所述,為便于解釋,假設(shè)索引型編碼器102繼續(xù)沿逆時(shí)針方向旋轉(zhuǎn)。相應(yīng)地,由于程序開始從步驟504重復(fù)且如流程圖13和14所示進(jìn)行,當(dāng)CLK邊界條件在步驟507中已檢測(cè)到,則程序?qū)⑦M(jìn)行至圖15的步驟510。
假設(shè)檢測(cè)到的時(shí)鐘邊界條件在圖22的時(shí)間t2出現(xiàn),這意味著圖21中編號(hào)COUNT“2”的不透光區(qū)122開始從檢測(cè)器126-1和發(fā)射器128之間通過并因此開始阻擋光束132使之不被檢測(cè)器126-1檢測(cè)到。相應(yīng)地,CLK信號(hào)降為低值(0),且標(biāo)志CLK的狀態(tài)降為低值(0)。
微控制器108因此而在步驟511中確定標(biāo)志CLK不是上升條件,并進(jìn)行至步驟514。在步驟514中,微控制器108重新設(shè)置CLK上升標(biāo)志CLKRIS為0,將寄存器TON2的數(shù)值復(fù)制到寄存器TON1并將寄存器TMR0的數(shù)值復(fù)制到寄存器TON2,且寄存器TMR0被重置為0。相應(yīng)地,此時(shí)的TON1、TON2和TOFF數(shù)值為TON1=0TOFF=第一個(gè)TMR0值(未改變)=t1-t0TON2=當(dāng)前(第二個(gè))RMT0值=t2-t1(圖22)之后程序進(jìn)行至步驟515,其中微控制器108確定標(biāo)志DAT的狀態(tài)從而確定索引型編碼器102的旋轉(zhuǎn)方向。假設(shè),如上所述,索引型編碼器102繼續(xù)沿逆時(shí)針方向旋轉(zhuǎn),信號(hào)CLK和DAT如圖22的時(shí)間t2所示,則程序繼續(xù)到始于圖28的步驟534的逆時(shí)針旋轉(zhuǎn)(RCCW)程序。如上所述,可推測(cè)步驟507中檢測(cè)到的CLK邊界條件在寄存器TMR0達(dá)到其最大值前出現(xiàn)。
由于索引編碼器102繼續(xù)沿逆時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟535中確定順時(shí)針旋轉(zhuǎn)標(biāo)志CWR已經(jīng)置為0。之后微控制器108將進(jìn)行至步驟536,在此它將確定標(biāo)志TMAX是否已經(jīng)置為1。
如果寄存器TMAX的數(shù)值為1,則微控制器108不再檢測(cè)索引不透光區(qū)122。微控制器將進(jìn)入步驟537,在此它將在步驟539中將標(biāo)志TMAX的狀態(tài)重置為0,并將寄存器TON1、TON2和TOFF的數(shù)值重置為0。在這種情況下,微控制器108將跳過始于步驟540的用于檢測(cè)索引不透光區(qū)122的(CCWT)程序,并進(jìn)行至始于圖29中步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序。
由于標(biāo)志TMAX的狀態(tài)假設(shè)為0,寄存器TMR0未達(dá)到其最大值,程序?qū)⒗^續(xù)至始于圖30的步驟540的逆時(shí)針測(cè)試(CCWT)程序。
具體說來,微控制器108確定前面步驟541、542、543或544所列的任何條件是否已經(jīng)完成,或確定步驟545中是否出現(xiàn)了“no”條件。如果是,微控制器108將確定索引不透光區(qū)122還未檢測(cè),并進(jìn)行到始于圖29的步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序如上所述。
特別是,微控制器108在步驟542中確定TON1的數(shù)值等于0。因此程序從條件已被檢測(cè)的步驟542進(jìn)行至始于步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序,且計(jì)數(shù)寄存器COUNT的數(shù)值減1。因?yàn)樗饕煌腹鈪^(qū)122還未確定,寄存器COUNT的數(shù)值基本上沒有意義。因此,當(dāng)程序進(jìn)入始于圖25的步驟552的過程計(jì)數(shù)/位置顯示(PCPD)程序時(shí),將不執(zhí)行位置計(jì)算和顯示步驟554和555,且程序返回讀90°相位差檢測(cè)器(RQD)步驟504見圖13。
然后程序繼續(xù),直到微控制器108在步驟507中在時(shí)間t3檢測(cè)到另一個(gè)CLK邊界條件如圖22所示。這意味著圖21中編號(hào)COUNT“47”的透光區(qū)開始從發(fā)射器128和檢測(cè)器126-1之間通過,檢測(cè)器126-1再次開始檢測(cè)從發(fā)射器128發(fā)出的光束132。相應(yīng)地,標(biāo)志CLK升為高值(1)。如上所述,還可假設(shè)此CLK邊界條件在寄存器TMR0到達(dá)最大值之前出現(xiàn)。
如上所述,程序進(jìn)入步驟510和511見圖15,在此假設(shè)微控制器108在圖14的步驟507檢測(cè)完CLK邊界條件之后將檢測(cè)CLK上升條件。然后程序進(jìn)行到步驟512,在此,如上面所述,CLK上升標(biāo)志CLKRIS置為“1”,寄存器TMR0復(fù)制至寄存器TOFF和寄存器TMR0,寄存器TMR0重置為“0”。
此時(shí)寄存器TON1、TON2和TOFF的值如下TON1=0(未改變)TOFF=當(dāng)前(第三個(gè))TMR0值=t3-t2(圖22)TON2=第二個(gè)TMR0值(未改變)=t2-t1(圖22)但是,在圖22所示的t3時(shí)間,寄存器TMR0的值代表索引不透光區(qū)122從檢測(cè)器126-1和發(fā)射器128之間通過所用的時(shí)間。如上所述,索引不透光區(qū)122的長度近似于其它任何不透光區(qū)118或透光區(qū)120長度的三倍,相應(yīng)地,當(dāng)前的(第三個(gè))TMR0值基本上是任何先前第一個(gè)和第二個(gè)寄存器TMR0數(shù)值的三倍,因此,TOFF值等于這一較大的第三個(gè)TMR0值。
然后假設(shè)在步驟513中,當(dāng)CLK標(biāo)志上升時(shí)微控制器108確定DAT標(biāo)志在一高位(1),并假設(shè)微控制器108因此確定CLK和DAT信號(hào)之間存在如圖22在時(shí)間t3所示的關(guān)系,然后程序進(jìn)行至開始于圖28的步驟546的逆時(shí)針旋轉(zhuǎn)(RCCW)程序。
因?yàn)樗饕途幋a器102繼續(xù)沿逆時(shí)針方向旋轉(zhuǎn),微控制器108將于步驟535確定順時(shí)針旋轉(zhuǎn)標(biāo)志CWR已經(jīng)被置為0,然后微控制器108將進(jìn)行至步驟536,在此它將確定標(biāo)志TMAX是否已置為1。
由于假設(shè)標(biāo)志TMAX的狀態(tài)等于0,寄存器TMR0未達(dá)到其最大值,程序?qū)⒗^續(xù)到始于圖30步驟540的逆時(shí)針測(cè)試(CCWT)程序用于逆時(shí)針方向旋轉(zhuǎn)。具體說來,微控制器108將確定前面步驟541、542、543或544所列的任何條件是否已經(jīng)完成,或確定步驟545中是否出現(xiàn)了“no”條件。因?yàn)闃?biāo)志CLKRIS的狀態(tài)等于1,微控制器108將在步驟541中確定這一條件,并如以上所述進(jìn)行到始于圖29步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序,在此寄存器COUNT的值將增加1。
程序?qū)⒗^續(xù)進(jìn)行到始于圖25步驟552的過程計(jì)數(shù)/位置顯示(PCPD)程序。步驟554和555的顯示程序被跳過,因?yàn)樗饕煌腹鈪^(qū)122沒有被檢測(cè),COUNT數(shù)值因而無意義,將無顯示出現(xiàn)。然后程序回到讀90°相位差探測(cè)器(RQD)步驟504。
由于程序從步驟504開始重復(fù)并如流程圖13和14所示進(jìn)行,當(dāng)標(biāo)志CLK邊界條件在步驟507中已檢測(cè)到時(shí),程序?qū)⑦M(jìn)行圖15中的步驟510。假設(shè)已檢測(cè)的CLK邊沿條件在如圖22所示的t4時(shí)間出現(xiàn),這意味著圖21中編號(hào)COUNT“46”的不透光區(qū)118開始從檢測(cè)器126-1和發(fā)射器128之間通過并因此開始阻擋光束132被檢測(cè)器126-1檢測(cè)到。相應(yīng)地,CLK信號(hào)數(shù)值降為低值(0)。
因此,微控制器108在步驟511中確定CLK信號(hào)不是CLK上升條件,并進(jìn)行步驟514。在步驟514,微控制器108將CLK上升標(biāo)志CLKRIS重置為0,將寄存器TON2的值復(fù)制到寄存器TON1并將寄存器TMR0的值復(fù)制到寄存器TON2,寄存器RMR0被重置為0。
相應(yīng)地,此時(shí)寄存器TON1、TON2和TOFF的值如下TON1=先前的TON2=第二個(gè)TMR0值=t2-t1TOFF=第三個(gè)(高)TMR0值(無改變)=t3-t2(圖22)TON2=當(dāng)前(第四個(gè))TMR0值=t4-t3程序進(jìn)行至步驟515,在此,微控制器108將確定標(biāo)志DAT的狀態(tài)以確定索引型編碼器102的旋轉(zhuǎn)方向。假設(shè),如上所述,索引型編碼器102繼續(xù)沿逆時(shí)針方向旋轉(zhuǎn)且標(biāo)志CLK和DAT如圖22的時(shí)間t4所示,程序繼續(xù)進(jìn)行到始于圖28所示步驟534的逆時(shí)針旋轉(zhuǎn)(RCCW)程序。如上所述,同樣假設(shè)此CLK邊界條件在寄存器TMR0到達(dá)它的最大值之前出現(xiàn)。
因?yàn)樗饕途幋a器102正繼續(xù)沿逆時(shí)針方向旋轉(zhuǎn),微控制器108將在步驟535中確定順時(shí)針旋轉(zhuǎn)標(biāo)志CWR已經(jīng)置為0。然后微控制器108將進(jìn)行至步驟536,在此它將確定標(biāo)志TMAX是否已置為1。
如果標(biāo)志TMAX的狀態(tài)為1,則微控制器108不再檢測(cè)索引不透光區(qū)122。微控制器將進(jìn)入步驟537,在此它將標(biāo)志TMAX的狀態(tài)重置為0,并在步驟539中將寄存器TON1、TON2和TOFF的數(shù)值重置為0。在這種情況下,微控制器108將跳過始于步驟540用于檢測(cè)索引不透光區(qū)122的逆時(shí)針測(cè)試(CCWT)程序,并進(jìn)行到始于圖29步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序。
由于假設(shè)標(biāo)志TMAX的狀態(tài)等于0,寄存器TMR0未達(dá)到其最大值,程序?qū)⒗^續(xù)到始于圖30步驟540步的逆時(shí)針測(cè)試(CCWT)程序用于逆時(shí)針方向旋轉(zhuǎn)。
具體說來,微控制器108確定前面步驟541、542、543或544所列的任何條件是否已經(jīng)完成,或者步驟545中的“no”條件是否已出現(xiàn),如果是,微控制器108將確定索引不透光區(qū)122還未能檢測(cè),并進(jìn)行到始于圖29步驟548的逆時(shí)針計(jì)數(shù)(CCWC)程序。
如上所述,標(biāo)志CLKRIS的狀態(tài)不為1,且所有的TON1、TON1和TOFF數(shù)值不為0,微控制器將從步驟541、542、543和544進(jìn)行至步驟545,在此它將確定寄存器TOFF的數(shù)值大于或等于TON1和TON2之和。如上所述,TON1的值等于第二個(gè)TMR0值,它相當(dāng)于圖22中的時(shí)間段t4-t3,在這一時(shí)間段內(nèi)編號(hào)COUNT“3”的透光區(qū)從檢測(cè)器126-1和發(fā)射器128之間通過。TON2值等于當(dāng)前第四個(gè)TMR0值,它相當(dāng)于圖22的時(shí)間段t4-t3,在這一時(shí)間段內(nèi)編號(hào)COUNT“47”的區(qū)從檢測(cè)器126-1和發(fā)射器128之間通過。TOFF值等于第三個(gè)(高)TMR0值,它相當(dāng)于圖22的時(shí)間段t3-t2,在這一時(shí)間段內(nèi)編號(hào)COUNT“2”的索引不透光區(qū)從檢測(cè)器126-1和發(fā)射器128之間通過。
如上所述,假設(shè)索引型編碼器102以相對(duì)穩(wěn)定的速率旋轉(zhuǎn)。因此,原因與上述的關(guān)于在順時(shí)針程序里索引不透光區(qū)檢測(cè)的原因相似,微控制器108確定寄存器TOFF(較高的第三個(gè)TMR0值)大于寄存器TON1和TON2的數(shù)值之和。
相應(yīng)地,微控制器108進(jìn)行至步驟546,在此它將寄存器COUNT值置為46。如圖22的時(shí)間t4所示,這表示圖22中索引型編碼器102上編號(hào)COUNT“46”的不透光區(qū)正開始從檢測(cè)器126-1和地射器128之間通過。然后程序進(jìn)行至步驟547,在此,微控制器108將索引檢測(cè)標(biāo)志INDEX置為“1”,因而表示索引不透光區(qū)122已經(jīng)被檢測(cè)到。如上所述,一旦此標(biāo)志INDEX已被置為1,將一直保持為1,除非儀器100的電源已被關(guān)掉或儀器100被復(fù)位。
程序?qū)⒗^續(xù)進(jìn)行至圖25步驟552的過程計(jì)數(shù)/位置顯示(PCPD)程序。微控制器108將在步驟553中確定標(biāo)志INDEX現(xiàn)在等于1并因此進(jìn)行至步驟554。在步驟554中,它可以從寄存器COUN值計(jì)算出POSITION。此POSITION相當(dāng)于由寄存器COUNT所代表的索引編碼器102上的位置,并可以等于由寄存器COUNT所表示的位置,比如,此時(shí)位置為“46”。并且,如上述的順時(shí)針程序,索引型編碼器102可以與具有不同POSITIONS編號(hào)的編碼器一起使用,已計(jì)算的POSITION值可以是COUNT的任何商數(shù),只要這一數(shù)值是整數(shù)。
在步驟555中,微控制器108可以輸出信號(hào)代表在步驟554中計(jì)算出來的POSITION,以控制顯示系統(tǒng)112并產(chǎn)生一個(gè)指示計(jì)算出來的POSITION的顯示。微控制器108也可以在內(nèi)部使用已計(jì)算的POSITION例如作為程序功能。并且,如果需要作進(jìn)一步的處理程序,如果應(yīng)用系統(tǒng)100時(shí)這樣要求的話,微控制器108輸出的代表已計(jì)算的POSITION信號(hào)可以提供給另一處理器。
執(zhí)行步驟555之后,程序返回讀90°相位差檢測(cè)器(RQD)步驟504見圖13。假設(shè)索引型編碼器102繼續(xù)沿逆時(shí)針方向旋轉(zhuǎn),上述的逆時(shí)針程序繼續(xù)進(jìn)行每一個(gè)CLK邊界條件??墒牵?dāng)索引型編碼器102開始沿順時(shí)針方向旋轉(zhuǎn)足夠產(chǎn)生一個(gè)CLK邊界條件時(shí),執(zhí)行上述的順時(shí)針方向程序。
還請(qǐng)注意,微控制器108可以用“分辨率加倍”軟件進(jìn)行編程,只要檢測(cè)器126-1和126-2彼此成90°相位差分布使其輸出信號(hào)產(chǎn)生如圖20和22所示的關(guān)系,那么此軟件可以使索引型編碼器102的分辨率達(dá)到雙倍,而索引型編碼器沒有物理變化。也就是說,如圖2所示,索引型編碼器102包括22個(gè)不透光區(qū)118,被透光區(qū)120以相等或基本相等的距離隔開,這樣每一個(gè)不透光區(qū)118在索引型編碼器102上占7.5°或大約7.5°圓周,每一個(gè)透光區(qū)120占7.5°或大約7.5°圓周。因而,索引型編碼器102提供7.5°或大約7.5°的分辨率。如果索引型編碼器102被用于位置傳感器系統(tǒng)100,“分辨率加倍”軟件能使微控制器108以兩倍于索引型編碼器102的分辨率進(jìn)行檢測(cè),即3.75°的分辨率。一般來說,對(duì)于索引不透光區(qū)122,雙倍分辨率不會(huì)完全出現(xiàn)。
如以上所述,當(dāng)標(biāo)志CLK從低到高或從高到低改變時(shí),例如如圖20和22中條件t1、t2和t3時(shí),微控制器108根據(jù)標(biāo)志DAT狀態(tài)相應(yīng)地增加或減少寄存器COUNT。當(dāng)一個(gè)不透光區(qū)118或一個(gè)透光區(qū)120開始從檢測(cè)器126-1和發(fā)射器128之間通過時(shí),出現(xiàn)信號(hào)CLK改變。對(duì)于具有7.5°的分辨率的索引型編碼器,這一信號(hào)CLK狀態(tài)和標(biāo)志CLK狀態(tài)的變化僅僅在索引型編碼器每旋轉(zhuǎn)一個(gè)7.5°時(shí)出現(xiàn)。當(dāng)一個(gè)不透光區(qū)118或一個(gè)透光區(qū)120開始從檢測(cè)器126-2和發(fā)射器128之間通過時(shí),比如在圖20和22的DAT上升或下降邊時(shí),“分辨率加倍”軟件可以使微控制器108,換言之,“分辨率加倍”軟件控制微控制器108,使之在標(biāo)志DAT出現(xiàn)變化時(shí)檢查標(biāo)志CLK的狀態(tài)。
從圖20和22以及上述的關(guān)于微控制器108通過標(biāo)志CLK狀態(tài)在改變時(shí)監(jiān)測(cè)標(biāo)志DAT的狀態(tài)且通過標(biāo)志DAT狀態(tài)在改變時(shí)監(jiān)控標(biāo)志CLK的狀態(tài)來監(jiān)測(cè)索引型編碼器102的絕對(duì)位置的變化這一方式可以看出,當(dāng)索引編碼器102旋轉(zhuǎn)一段相當(dāng)于不透光區(qū)118的一半或透光區(qū)120的一半距離時(shí)微控制器108能有效檢測(cè)到。因而微控制器108根據(jù)與標(biāo)志DAT的狀態(tài)改變有關(guān)的標(biāo)志CLK的狀態(tài)增加或減少寄存器COUNT。相應(yīng)地,通過位置傳感器系統(tǒng)100實(shí)現(xiàn)的分辨率加倍。而且,從以上所述可以看出,微控制器108可以根據(jù)在DAT上升邊或下降邊的標(biāo)志CLK的狀態(tài)來確定旋轉(zhuǎn)方向。一般說來,為使微控制器108能根據(jù)流程圖24和29所示進(jìn)行正確運(yùn)行,寄存器COUNT的最大允許值需要加倍。而且,圖25中步驟554的位置計(jì)算也需在計(jì)算中考慮寄存器COUNT的加倍值。
以上僅僅詳細(xì)描述了本發(fā)明的幾個(gè)實(shí)施例。其它技術(shù)人員很可能對(duì)這些實(shí)施例進(jìn)行很多與本發(fā)明的創(chuàng)新點(diǎn)和優(yōu)點(diǎn)沒有本質(zhì)不同的修改,所有的這些修改均應(yīng)包含于本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種測(cè)定可移動(dòng)部件相對(duì)于預(yù)定位置的絕對(duì)位置的儀器,它包括一個(gè)第一構(gòu)件和若干第二構(gòu)件,它們分布在運(yùn)動(dòng)部件上,第一構(gòu)件具有一個(gè)與所有第二構(gòu)件都不相同的特征;一個(gè)檢測(cè)裝置,用于根據(jù)第一和第二構(gòu)件的特征區(qū)分第一構(gòu)件和第二構(gòu)件,檢測(cè)第一構(gòu)件什么時(shí)候在預(yù)定位置,第二構(gòu)件什么時(shí)候在預(yù)定位置,并給指示器提供在預(yù)定位置的第一和第二構(gòu)件的檢測(cè)指示;以及一個(gè)位置和方向測(cè)定儀,用于根據(jù)檢測(cè)裝置提供的指示測(cè)定運(yùn)動(dòng)部件的運(yùn)動(dòng)方向以及在檢測(cè)裝置檢測(cè)到第一個(gè)參考構(gòu)件在預(yù)定位置之后運(yùn)動(dòng)部件相對(duì)于預(yù)定位置已經(jīng)運(yùn)動(dòng)的距離,以確定運(yùn)動(dòng)部件相對(duì)于預(yù)定位置的絕對(duì)位置。
2.根據(jù)權(quán)利要求1所述的儀器,其中,第一構(gòu)件的特征是沿運(yùn)動(dòng)部件的運(yùn)動(dòng)方向取的第一構(gòu)件的長度,每個(gè)第二構(gòu)件的特征是沿運(yùn)動(dòng)方向取的該第二構(gòu)件的長度;以及第一構(gòu)件的長度不同于每個(gè)第二構(gòu)件的長度。
3.根據(jù)權(quán)利要求2所述的儀器,其中,第一構(gòu)件的長度大于每個(gè)第二構(gòu)件的長度。
4.根據(jù)權(quán)利要求1所述的儀器,其中,第一構(gòu)件是不透光構(gòu)件或透光構(gòu)件,而若干第二構(gòu)件包括若干透光和不透光的構(gòu)件。
5.根據(jù)權(quán)利要求1所述的儀器,其中,檢測(cè)裝置包括一個(gè)計(jì)時(shí)器,它用來測(cè)量運(yùn)動(dòng)部件運(yùn)動(dòng)時(shí),從第一個(gè)參考構(gòu)件進(jìn)入預(yù)定位置時(shí)起到第一個(gè)參考構(gòu)件從預(yù)定位置出來為止所經(jīng)過的時(shí)間;檢測(cè)裝置根據(jù)測(cè)得的時(shí)間把第一構(gòu)件同任何第二構(gòu)件區(qū)分開來。
6.根據(jù)權(quán)利要求5所述的儀器,其中,檢測(cè)裝置還包括,至少一個(gè)光發(fā)射裝置,用來向運(yùn)動(dòng)部件發(fā)射光束;一個(gè)光檢測(cè)裝置,用來探測(cè)由至少一個(gè)光發(fā)射裝置發(fā)出的光束;計(jì)時(shí)器根據(jù)光檢測(cè)裝置探測(cè)到光束和未探測(cè)到光束的時(shí)間來測(cè)量時(shí)間。
7.根據(jù)權(quán)利要求1所述的儀器,其中,位置和方向測(cè)定儀包括一個(gè)計(jì)數(shù)器,在預(yù)定位置檢測(cè)到第一個(gè)參考構(gòu)件之后對(duì)檢測(cè)裝置檢測(cè)到已通過預(yù)定位置的第二構(gòu)件的數(shù)量進(jìn)行計(jì)數(shù);位置和方向測(cè)定儀根據(jù)計(jì)數(shù)得到的數(shù)字測(cè)定運(yùn)動(dòng)部件的運(yùn)動(dòng)距離。
8.根據(jù)權(quán)利要求7所述的儀器,其中,計(jì)數(shù)器是增/減計(jì)數(shù)器,當(dāng)運(yùn)動(dòng)部件朝一個(gè)方向運(yùn)動(dòng)時(shí),它根據(jù)第一個(gè)參考構(gòu)件在預(yù)定位置被檢測(cè)到之后由檢測(cè)裝置檢測(cè)出的已經(jīng)通過該預(yù)定位置的第二構(gòu)件進(jìn)行遞增計(jì)數(shù),當(dāng)運(yùn)動(dòng)部件朝相反方向運(yùn)動(dòng)時(shí),它對(duì)第一個(gè)參考構(gòu)件在預(yù)定位置被檢測(cè)到之后由檢測(cè)裝置檢測(cè)出的已經(jīng)通過該預(yù)定的第二構(gòu)件進(jìn)行遞減計(jì)數(shù)。
9.根據(jù)權(quán)利要求1所述的儀器,其中,檢測(cè)裝置包括,一個(gè)第一檢測(cè)器,配置在檢測(cè)裝置的一個(gè)第一位置;一個(gè)第二檢測(cè)器,配置在檢測(cè)裝置的一個(gè)第二位置,它沿運(yùn)動(dòng)部件的運(yùn)動(dòng)方向與第一位置隔開一段距離;按其配置,檢測(cè)裝置用來檢測(cè)當(dāng)運(yùn)動(dòng)部件運(yùn)動(dòng)時(shí)第一和第二檢測(cè)器在什么時(shí)候檢測(cè)到第一構(gòu)件和任何第二構(gòu)件,并輸出其信號(hào)指示;位置和方向測(cè)定儀根據(jù)信號(hào)測(cè)定運(yùn)動(dòng)部件的運(yùn)動(dòng)距離和方向。
10.根據(jù)權(quán)利要求9所述的儀器,其中,第一檢測(cè)器輸出第一信號(hào)指明第一構(gòu)件或任何第二構(gòu)件被檢測(cè)到和未被檢測(cè)到,當(dāng)?shù)谝粰z測(cè)器檢測(cè)到第一構(gòu)件或任何第二構(gòu)件時(shí),該信號(hào)含有第一值,當(dāng)?shù)谝粰z測(cè)器沒有檢測(cè)到第一構(gòu)件或任何第二構(gòu)件時(shí)該信號(hào)含有不同于第一值的第二值;第二檢測(cè)器輸出一個(gè)第二信號(hào)指明第一構(gòu)件或任何第二構(gòu)件被檢測(cè)到和未被檢測(cè)到,這個(gè)第二信號(hào)與第一信號(hào)是異相的,當(dāng)?shù)诙z測(cè)器檢測(cè)到第一構(gòu)件或任何第二構(gòu)件時(shí)該信號(hào)含有第三值,當(dāng)?shù)诙z測(cè)器沒有檢測(cè)到第一構(gòu)件或任何第二構(gòu)件時(shí)它含有不同于第三值的第四值。
11.根據(jù)權(quán)利要求10所述的儀器,其中,位置和方向測(cè)定儀包括一個(gè)測(cè)定儀,測(cè)定第一信號(hào)在第一值和第二值之間變化的時(shí)間;一個(gè)比較器,根據(jù)第一信號(hào)發(fā)生變化時(shí)的值并與此刻第二信號(hào)的值相比較來測(cè)定運(yùn)動(dòng)部件相對(duì)于預(yù)定位置的運(yùn)動(dòng)方向。
12.根據(jù)權(quán)利要求10所述的儀器,其中,檢測(cè)裝置還包括至少一個(gè)光發(fā)射裝置;當(dāng)運(yùn)動(dòng)部件運(yùn)動(dòng)致使第一構(gòu)件進(jìn)入到光束從至少一個(gè)光發(fā)射裝置傳輸?shù)降谝粰z測(cè)器所經(jīng)過的路徑時(shí),發(fā)生下列情況之一第一構(gòu)件基本上阻止第一檢測(cè)器檢測(cè)到由至少一個(gè)光發(fā)射裝置發(fā)射的光束,結(jié)果第一檢測(cè)器輸出含有第二值的第一信號(hào);第一構(gòu)件基本上使第一檢測(cè)器能檢測(cè)到由至少一個(gè)光發(fā)射裝置發(fā)射的光束,結(jié)果第一檢測(cè)器輸出含有第一值的第一信號(hào);當(dāng)運(yùn)動(dòng)部件的運(yùn)動(dòng)致使任何一個(gè)第二構(gòu)件進(jìn)入到光束從至少一個(gè)光發(fā)射裝置傳輸?shù)降谝粰z測(cè)器所經(jīng)過的路徑時(shí),發(fā)生下列情況之一上述任何一個(gè)第二構(gòu)件基本上阻止第一檢測(cè)器檢測(cè)到由至少一個(gè)光發(fā)射裝置發(fā)出的光束,結(jié)果使第一檢測(cè)器輸出含有第二值的第一信號(hào);上述任何一個(gè)第二構(gòu)件基本上使第一檢測(cè)器能檢測(cè)到由至少一個(gè)光發(fā)射裝置發(fā)出的光束,結(jié)果使第一檢測(cè)器輸出含有第一個(gè)值的第一信號(hào);當(dāng)運(yùn)動(dòng)部件的運(yùn)動(dòng)致使第一構(gòu)件進(jìn)入到光束從至少一個(gè)光發(fā)射裝置傳輸?shù)降诙z測(cè)器所經(jīng)過的路徑時(shí),發(fā)生下列情況之一第一構(gòu)件基本上阻止第二檢測(cè)器檢測(cè)到由至少一個(gè)光發(fā)射裝置發(fā)出的光束,結(jié)果使第二檢測(cè)器輸出含有第四值的第二信號(hào);第一構(gòu)件基本上使第二檢測(cè)器能檢測(cè)到由至少一個(gè)光發(fā)射裝置發(fā)出的光束,結(jié)果使第二檢測(cè)器輸出含有第三個(gè)值的第二信號(hào);當(dāng)運(yùn)動(dòng)部件的運(yùn)動(dòng)致使任何一個(gè)第二構(gòu)件進(jìn)入光束到從至少一個(gè)光發(fā)射裝置傳輸?shù)降诙z測(cè)器所經(jīng)過的路徑時(shí)發(fā)生下列情況之一上述任何一個(gè)第二構(gòu)件基本上阻止第二檢測(cè)器檢測(cè)到由至少一個(gè)光發(fā)射裝置發(fā)出的光束,結(jié)果使第二檢測(cè)器輸出含有第四個(gè)值的第二信號(hào);上述任何一個(gè)第二構(gòu)件基本上使第二檢測(cè)器能夠檢測(cè)到由至少一個(gè)光發(fā)射裝置發(fā)出的光束,結(jié)果使第二檢測(cè)器輸出含有第三個(gè)值的第二信號(hào)。
13.一種測(cè)定可移動(dòng)部件相對(duì)于預(yù)定位置的絕對(duì)位置的方法,其中運(yùn)動(dòng)部件包括一個(gè)第一構(gòu)件和若干第二構(gòu)件,第一構(gòu)件具有與所有第二構(gòu)件不同的特征,它包括以下步驟識(shí)別根據(jù)第一和第二構(gòu)件的特征把第一構(gòu)件與任一第二構(gòu)件區(qū)分開來,檢測(cè)出第一構(gòu)件什么時(shí)候在預(yù)定位置,第二構(gòu)件在什么時(shí)候在預(yù)定位置,并給指示器提供第一和第二構(gòu)件在預(yù)定位置時(shí)的檢測(cè)信號(hào);測(cè)定根據(jù)檢測(cè)裝置提供的指示,測(cè)定運(yùn)動(dòng)部件的運(yùn)動(dòng)方向以及在檢測(cè)到第一個(gè)參考構(gòu)件正在預(yù)定位置后運(yùn)動(dòng)部件相對(duì)于這個(gè)預(yù)定位置所移動(dòng)的距離,以測(cè)定運(yùn)動(dòng)部件相對(duì)于預(yù)定位置的絕對(duì)位置。
14.根據(jù)權(quán)利要求13所述的方法,其中第一構(gòu)件的特征是沿運(yùn)動(dòng)部件的運(yùn)動(dòng)方向取的第一構(gòu)件的長度,每個(gè)第二構(gòu)件的特征是沿運(yùn)動(dòng)方向取的該第二構(gòu)件的長度;第一構(gòu)件的長度不同于每個(gè)第二構(gòu)件的長度;識(shí)別步驟包括根據(jù)第一構(gòu)件的長地第一構(gòu)件與所有的第二構(gòu)件區(qū)別開來的步驟。
15.根據(jù)權(quán)利要求13所述的方法,其中識(shí)別步驟包括以下步驟測(cè)量當(dāng)運(yùn)動(dòng)部件運(yùn)動(dòng)時(shí)第一個(gè)參考構(gòu)件進(jìn)入預(yù)定位置時(shí)起到第一個(gè)參考構(gòu)件離開預(yù)定位置止所經(jīng)過的時(shí)間;根據(jù)上面測(cè)得的時(shí)間把第一構(gòu)件與任一第二構(gòu)件區(qū)分開來。
16.根據(jù)權(quán)利要求15所述的方法,其中識(shí)別步驟還包括以下步驟朝運(yùn)動(dòng)部件發(fā)射光束;檢測(cè)發(fā)出的光束;其中測(cè)量時(shí)間的步驟是指根據(jù)在光束檢測(cè)步驟中光束被檢測(cè)到和未被檢測(cè)到的期間來測(cè)定時(shí)間長度。
17.根據(jù)權(quán)利要求13所述的方法,其中測(cè)定步驟包括以下步驟在預(yù)定位置檢測(cè)到第一個(gè)參考構(gòu)件之后,對(duì)被檢測(cè)的已通過了預(yù)定位置的第二構(gòu)件的數(shù)目進(jìn)行計(jì)數(shù);根據(jù)計(jì)算出來的數(shù)字測(cè)定運(yùn)動(dòng)部件的運(yùn)動(dòng)距離。
18.根據(jù)權(quán)利要求17所述的方法,其中,計(jì)數(shù)的步驟包括以下步驟當(dāng)運(yùn)動(dòng)部件朝一個(gè)方向運(yùn)動(dòng)時(shí),根據(jù)在預(yù)定位置檢測(cè)到第一個(gè)參考構(gòu)件之后被檢測(cè)出的通過了該預(yù)定位置的第二構(gòu)件進(jìn)行遞增計(jì)數(shù);當(dāng)運(yùn)動(dòng)部件朝相反方向運(yùn)動(dòng)時(shí),根據(jù)在預(yù)定位置檢測(cè)到第一個(gè)參考構(gòu)件之后被檢測(cè)出的通過了該預(yù)定位置的第二構(gòu)件進(jìn)行遞減計(jì)數(shù)。
19.根據(jù)權(quán)利要求13所述的方法,其中,測(cè)定步驟包括以下步驟檢測(cè)第一構(gòu)件和任何一個(gè)第二構(gòu)件什么時(shí)候處于預(yù)定位置范圍內(nèi)的一個(gè)第一位置;檢測(cè)第一構(gòu)件和任何一個(gè)第二構(gòu)件什么時(shí)候處于預(yù)定位置范圍內(nèi)的一個(gè)第二位置,它在運(yùn)動(dòng)部件的運(yùn)動(dòng)方向上與第一位置相隔一段距離;位置和方向測(cè)定儀根據(jù)對(duì)在第一位置和第二位置的第一構(gòu)件和第二構(gòu)件的檢測(cè)結(jié)果測(cè)定運(yùn)動(dòng)部件的運(yùn)動(dòng)距離和方向。
20.根據(jù)權(quán)利要求19所述的方法,其中測(cè)定步驟還包括以下步驟輸出一個(gè)第一信號(hào)指示檢測(cè)到和沒有檢測(cè)到第一構(gòu)件或第二構(gòu)件在第一位置,這個(gè)第一信號(hào)含有一個(gè)第一值和一個(gè)第二值,當(dāng)檢測(cè)到第一構(gòu)件或第二構(gòu)件在第一個(gè)位置時(shí)為第一值,當(dāng)沒有檢測(cè)到第一構(gòu)件或第二構(gòu)件在第一位置時(shí)為第二值,它不同于第一值;輸出一個(gè)第二信號(hào)指示第一構(gòu)件或第二構(gòu)件被檢測(cè)到和未被檢測(cè)到,這個(gè)信號(hào)與第一信號(hào)具有相差,包含有一個(gè)第三個(gè)值和一個(gè)第四個(gè)值,當(dāng)檢測(cè)到第一構(gòu)件或第二構(gòu)件在第二位置時(shí)為第三值,當(dāng)沒有檢測(cè)到第一構(gòu)件或第二構(gòu)件在第二位置時(shí)為第四值,這個(gè)值不同于第三值。
21.根據(jù)權(quán)利要求20所述的方法,其中測(cè)定步驟包括以下步驟測(cè)定第一信號(hào)在第一值和第二值之間發(fā)生變化的時(shí)間;根據(jù)第一信號(hào)在發(fā)生變化時(shí)的值并將它與此刻第二信號(hào)的值進(jìn)行比較,確定運(yùn)動(dòng)部件相對(duì)于預(yù)定位置的運(yùn)動(dòng)方向。
全文摘要
一種使用索引型編碼器測(cè)定帶一套光學(xué)裝置的物體的絕對(duì)位置的儀器和方法,該儀器根據(jù)對(duì)索引和非索引區(qū)的檢測(cè)結(jié)果,測(cè)定索引型編碼器的運(yùn)動(dòng)方向以及相對(duì)于預(yù)定索引位置的運(yùn)動(dòng)位移增量,以測(cè)定它的絕對(duì)位置,從而測(cè)定運(yùn)動(dòng)物體相對(duì)于預(yù)定索引位置的絕對(duì)位置。
文檔編號(hào)G01D5/26GK1293349SQ99121679
公開日2001年5月2日 申請(qǐng)日期1999年10月13日 優(yōu)先權(quán)日1999年10月13日
發(fā)明者查爾斯T·施賴伯 申請(qǐng)人:均景中國有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
休宁县| 左贡县| 浠水县| 长阳| 石河子市| 松江区| 东乡| 正宁县| 沾化县| 东乡族自治县| 逊克县| 星座| 宁阳县| 恩平市| 高阳县| 沂水县| 正宁县| 兴和县| 中阳县| 双流县| 汽车| 焉耆| 廊坊市| 宜兰市| 日喀则市| 南郑县| 兴和县| 秦安县| 彭泽县| 夏河县| 辉县市| 浦北县| 博野县| 五莲县| 柳河县| 沁源县| 博罗县| 延安市| 炉霍县| 遵义县| 三门县|