旋轉(zhuǎn)編碼器,在旋轉(zhuǎn)時(shí)可以產(chǎn)生相位相差九十度的兩路數(shù)字脈沖信號(hào),兩路脈沖信號(hào)相位的先后關(guān)系,可以代表旋轉(zhuǎn)方向,如圖1 所示。(a)代表順時(shí)針方向旋轉(zhuǎn)時(shí),A 路脈沖領(lǐng)先于B 路脈沖,A 路脈沖的上升沿對(duì)應(yīng)B 路脈沖的低電平;(b)顯示逆時(shí)針方向旋轉(zhuǎn)時(shí),B 路脈沖領(lǐng)先于A 路脈沖,A 路脈沖的上升沿對(duì)應(yīng)B路脈沖的高電平。
![]() | ![]() |
(a)順時(shí)針方向旋轉(zhuǎn) | (b)逆時(shí)針方向旋轉(zhuǎn) |
圖1 兩路脈沖相位關(guān)系
通常將一個(gè)旋轉(zhuǎn)編碼器等同于兩個(gè)按鍵,利用CPU(中央處理器)或FPGA(現(xiàn)場(chǎng)可編程邏輯門陣列)掃描按鍵狀態(tài)的變化。在被掃描按鍵的一端施加低電平,從按鍵的另一端回讀電平高低,電平變化了,代表按鍵狀態(tài)發(fā)生了變化,使用者操作了按鍵;旋轉(zhuǎn)編碼器對(duì)應(yīng)的兩個(gè)按鍵的組合狀態(tài)發(fā)生了變化,則表示操作了旋轉(zhuǎn)編碼器,新的組合狀態(tài)與之前的組合狀態(tài)共同指示了旋轉(zhuǎn)方向。對(duì)旋轉(zhuǎn)編碼器的轉(zhuǎn)動(dòng)操作進(jìn)行編碼的關(guān)鍵就是旋轉(zhuǎn)方向的判決。
旋轉(zhuǎn)編碼器每轉(zhuǎn)一周, 兩路信號(hào)A、B 包含固定數(shù)目的脈沖周期,下面論述中將其中一路數(shù)字脈沖信號(hào)的相鄰兩個(gè)上升沿之間的部分稱為一個(gè)脈沖周期。在圖1 中, 一個(gè)脈沖周期內(nèi), 順時(shí)針方向旋轉(zhuǎn)時(shí),對(duì)應(yīng)兩路脈沖信號(hào)A、B 電平的組合編碼依次為10 → 11 → 01 → 00 → 10, 逆時(shí)針方向旋轉(zhuǎn)時(shí), 對(duì)應(yīng)兩路脈沖信號(hào)電平的組合編碼依次為11 → 10 → 00 → 01 → 11。當(dāng)組合狀態(tài)發(fā)生了10 到11的變化,可知發(fā)生了順時(shí)針方向的旋轉(zhuǎn),當(dāng)組合狀態(tài)發(fā)生了11 到10 的變化,可知發(fā)生了逆時(shí)針方向的旋轉(zhuǎn)。兩路脈沖信號(hào)配合,利用相互之間的相位關(guān)系,在一個(gè)脈沖周期內(nèi)最多可以在00、01、10、11 這4 個(gè)狀態(tài)位置產(chǎn)生掃描計(jì)數(shù)。
1 帶停頓點(diǎn)的旋轉(zhuǎn)編碼器
有的旋轉(zhuǎn)編碼器,為增強(qiáng)操作的手感或可控性,在一個(gè)脈沖周期內(nèi)等間隔設(shè)置1、2 或4 個(gè)機(jī)械停頓點(diǎn)。圖2 是順時(shí)針方向旋轉(zhuǎn)時(shí),在一個(gè)脈沖周期中具有不同停頓點(diǎn)的四種情況示意,(a)表示無停頓點(diǎn)、(b)表示一個(gè)脈沖一個(gè)停頓點(diǎn)、(c)表示一個(gè)脈沖兩個(gè)停頓點(diǎn)、(d)表示一個(gè)脈沖四個(gè)停頓點(diǎn);虛豎線處為停頓點(diǎn)穩(wěn)定位置。
在具體應(yīng)用中,一般只在停頓點(diǎn)穩(wěn)定位置處產(chǎn)生有效計(jì)數(shù)。在(a)、(d)兩種情況下,在一個(gè)脈沖周期中產(chǎn)生四個(gè)掃描計(jì)數(shù);(b)、(c)情況下,在一個(gè)脈沖周期中分別產(chǎn)生一個(gè)和兩個(gè)有效的掃描計(jì)數(shù)。有些種類的數(shù)字化儀器或裝置,會(huì)同時(shí)使用這四種旋轉(zhuǎn)編碼器中的兩種或多種。具有停頓點(diǎn)的旋轉(zhuǎn)編碼器,一般用于參數(shù)檔位的單步距增減;沒有停頓點(diǎn)的旋轉(zhuǎn)編碼器,由于旋轉(zhuǎn)阻力很小,旋轉(zhuǎn)速度可以很快,一般用于需要連續(xù)快速調(diào)整的參數(shù)。
![]() | ![]() |
(a)無停頓點(diǎn) | (b)每周期一個(gè)停頓點(diǎn) |
![]() | ![]() |
(c)每周期兩個(gè)停頓點(diǎn) | (d)每周期四個(gè)停頓點(diǎn) |
圖2 停頓點(diǎn)位置
2 旋轉(zhuǎn)編碼器掃描編碼的實(shí)現(xiàn)
旋轉(zhuǎn)編碼器旋轉(zhuǎn)時(shí)兩路脈沖信號(hào)的4 種組合狀態(tài),剛好是所有4 個(gè)兩比特組合數(shù)00、01、10、11,所以可以設(shè)計(jì)一個(gè)矩陣式編碼表格,根據(jù)前言中所述兩個(gè)旋轉(zhuǎn)方向下的狀態(tài)轉(zhuǎn)移規(guī)律,通過查表方式判決旋轉(zhuǎn)方向:表格行地址為兩路脈沖信號(hào)AB 的當(dāng)前狀態(tài)碼,表格列地址為兩路脈沖信號(hào)的前一狀態(tài)碼;表格中的數(shù)據(jù),‘0’代表逆時(shí)針旋轉(zhuǎn),‘1’代表順時(shí)針旋轉(zhuǎn),其他任一數(shù)據(jù)如‘-1’代表無操作,如表1 所示。
針對(duì)上述旋轉(zhuǎn)編碼器一個(gè)脈沖周期中具有不同停頓點(diǎn)的四種情況,圖2(a)、圖2(d)兩種情況在四個(gè)位置產(chǎn)生掃描計(jì)數(shù),直接使用表1。對(duì)于圖2(b)、圖2(c),只在當(dāng)前狀態(tài)為停頓點(diǎn)位置時(shí)產(chǎn)生有效的掃描編碼。對(duì)于圖2(b),停頓點(diǎn)狀態(tài)為“00”,所以僅保留表1 中當(dāng)前狀態(tài)碼為“00”的狀態(tài)有效,得到表2;對(duì)于圖2(c),停頓點(diǎn)狀態(tài)為“00”、“11”,僅保留當(dāng)前狀態(tài)碼為“00”和“11”的狀態(tài)有效,得到表3。這相當(dāng)于將表1 中非停頓點(diǎn)處的旋轉(zhuǎn)方向編碼設(shè)置為代表無操作的碼‘-1’,從而將停頓點(diǎn)處理功能與旋轉(zhuǎn)方向判決功能合并到同一個(gè)查詢表中。
下面以具有4 個(gè)旋轉(zhuǎn)編碼器的一個(gè)項(xiàng)目為例簡(jiǎn)要說明基于本文方法的旋轉(zhuǎn)編碼器掃描編碼的具體程序?qū)崿F(xiàn)。
4 個(gè)旋轉(zhuǎn)編碼器,其中兩個(gè)每脈沖周期具有兩個(gè)停頓點(diǎn),另兩個(gè)無停頓點(diǎn);根據(jù)前面論述,對(duì)應(yīng)的編碼表分別為表3 和表1。據(jù)此可以編制查詢表rotCode 及編碼器類型定義表typeID。旋轉(zhuǎn)編碼器的掃描程序主要流程為:①上電獲取初始狀態(tài)作為前一狀態(tài)statHistAll(4 個(gè)旋轉(zhuǎn)編碼器,共占用8 位);②掃描旋轉(zhuǎn)編碼器狀態(tài)變化;③延遲去抖,得到當(dāng)前狀態(tài)statCurrAll(4 個(gè)旋轉(zhuǎn)編碼器,共占用8 位);④查表判決旋轉(zhuǎn)方向;⑤計(jì)算編碼值;⑥將前一狀態(tài)的值替換為當(dāng)前狀態(tài)的值。
關(guān)鍵數(shù)據(jù)結(jié)構(gòu)及4 個(gè)旋轉(zhuǎn)編碼器掃描編碼的程序段如下。
當(dāng)經(jīng)過除抖動(dòng)后確認(rèn)狀態(tài)發(fā)生了變化,即使在查表時(shí)發(fā)現(xiàn)是無效的旋轉(zhuǎn)位置,也要將前一狀態(tài)緩存中的狀態(tài)值更新為當(dāng)前狀態(tài)值,以保證查表邏輯的有效性。
一次查表實(shí)現(xiàn)旋轉(zhuǎn)方向解碼及是否計(jì)數(shù)的指示,避免針對(duì)具有不同機(jī)械停頓點(diǎn)設(shè)置的旋轉(zhuǎn)編碼器編制繁雜的程序以判決旋轉(zhuǎn)方向及是否進(jìn)行計(jì)數(shù)。
3 結(jié)論
根據(jù)旋轉(zhuǎn)編碼器兩路脈沖信號(hào)狀態(tài)在兩個(gè)旋轉(zhuǎn)方向上的不同變化順序,以及停頓點(diǎn)位置,編制旋轉(zhuǎn)編碼器掃描解碼查詢表格,能夠同時(shí)適用于具有不同機(jī)械停頓點(diǎn)設(shè)置的旋轉(zhuǎn)編碼器,具有邏輯靈活統(tǒng)一、編碼簡(jiǎn)潔高效的特點(diǎn)。
上一篇:FLIR機(jī)器視覺相機(jī)–定制選擇和特殊要求
下一篇:基于單相SVPWM的可變死區(qū)算法
- 熱門資源推薦
- 熱門放大器推薦
- 國(guó)產(chǎn)GPU,還有多少硬骨頭要啃?
- 汽車智能座艙測(cè)試:如何筑牢安全與體驗(yàn)的雙重防線?
- FeRAM在汽車事件數(shù)據(jù)記錄器中的應(yīng)用
- 智駕仿真測(cè)試實(shí)戰(zhàn)之虛實(shí)融合、功能測(cè)試
- 基于高效DC/DC電源模塊的電動(dòng)車控制系統(tǒng)設(shè)計(jì)
- Cadence助力滿足未來汽車計(jì)算中的傳感器融合需求
- 自動(dòng)駕駛中常提的HMI是個(gè)啥?
- 安森美電感式位置傳感器實(shí)現(xiàn)汽車線控系統(tǒng)功能創(chuàng)新
- 一種用于電動(dòng)汽車電機(jī)冷卻的新型解決方案
- Tone Capsule Preamp
- EVAL-ADuC812QSZ、用于 ADuC812 SAR 微轉(zhuǎn)換器 MCU 的 ADuC8xx 評(píng)估套件
- 使用 ROHM Semiconductor 的 BU4948 的參考設(shè)計(jì)
- L7805A 固定輸出穩(wěn)壓器的典型應(yīng)用
- SI1000DK,開發(fā)套件由主板和基于Si1001 8051 MCU的子卡組成
- stm32最小系統(tǒng)
- 具有輕松驅(qū)動(dòng)輸入電流消除功能的 LTC2482、16 位 ADC 的典型應(yīng)用
- LTC1046IN8 超精密分壓器典型應(yīng)用電路
- EPR-8 - 1.2 W,通用輸入,非隔離電源
- TP5602充電寶
- e絡(luò)盟現(xiàn)貨供應(yīng)Connective Peripherals系列連接產(chǎn)品
- 仿真看世界之SiC MOSFET單管的并聯(lián)均流特性
- 馬來西亞重要封測(cè)廠 Unisem Bhd. 停工
- ATmega168 Flash程序存儲(chǔ)器
- 蘋果是怎樣設(shè)計(jì)AirPods 3的?
- 光弘科技5G基站線路板的副板全板面焊接工藝方案
- 清華團(tuán)隊(duì)推出對(duì)話機(jī)器人 ChatGLM,支持在個(gè)人電腦上部署和調(diào)優(yōu)
- 德州儀器出席 2023 年教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目對(duì)接會(huì), 并榮獲優(yōu)秀項(xiàng)目案例獎(jiǎng)
- IAA MOBILITY移動(dòng)出行趨勢(shì)指數(shù)發(fā)布
- 寧德時(shí)代CTP 2.0電池包產(chǎn)線投產(chǎn),助力問界系列車型加速交付
- 研究人員開發(fā)出新型多功能電池陰極材料
- 特斯拉中國(guó)大陸首批V4超級(jí)充電樁上線
- 方向盤消失前夜:特斯拉、百度、哈啰三巨頭的Robotaxi戰(zhàn)爭(zhēng)
- 均普智能人形機(jī)器人開賣,拿下約3000萬元訂單
- 博世推出超低功耗全集成MEMS傳感器
- 福特汽車申請(qǐng)新專利:基于手勢(shì)的虛擬鍵盤
- 一汽大眾:智能網(wǎng)聯(lián)汽車的信息安全攻防之道
- 一文講透汽車區(qū)域控制架構(gòu),以及那些關(guān)鍵技術(shù)
- AI服務(wù)以人為本,智齒智能外呼機(jī)器人全面升級(jí)
- 電銷機(jī)器人不夠“聰明”?可能是這三個(gè)原因,不可不知!
- 我國(guó)設(shè)計(jì)出一種微型機(jī)器人,將有望在人體內(nèi)運(yùn)輸細(xì)胞
- 閑談掃地機(jī)器人哪個(gè)品牌好
- 京東正式發(fā)布一款機(jī)房智能巡檢機(jī)器人,可實(shí)時(shí)保障機(jī)房穩(wěn)定安全運(yùn)行
- 臺(tái)積電Q4產(chǎn)能利用率攀至105%,10nm仍未達(dá)經(jīng)濟(jì)規(guī)模
- 避開蘋果風(fēng)頭 華為、小米等將為手機(jī)配mini LED屏
- TechRadar評(píng)CES各項(xiàng)大獎(jiǎng) 華為/vivo/聯(lián)想均上榜
- 秘密參加CES!蘋果全新新品曝光:頭戴AR眼鏡
- LG今年預(yù)計(jì)OLED總產(chǎn)量達(dá)280萬片 年增約64.7%