Encoder 函式庫

86Duino IDE 從 Coding 104 開始加入此函式庫,用於操作 86Duino 提供的高速編碼器輸入介面功能。

86Duino 的編碼器介面可切換成不同模式來與各種編碼器連接,例如旋轉編碼器光學尺。每組編碼器介面有三根針腳,分別標為 A、B、Z,在不同模式下對應不同功能;不同 86Duino 板支援不同數量的編碼器介面,例如在 86Duino Zero 上支援一組(軸),在 86Duino One 上則可支援四組(軸)。以下是 86Duino 編碼器介面與腳位編號的對應表:

86Duino Boards ENC0 pins ENC1 pins ENC2 pins ENC3 pins
Zero A: 42
B: 43
Z: 44
One A: 42
B: 43
Z: 44
A: 18
B: 19
Z: 20
A: 33
B: 34
Z: 35
A: 36
B: 37
Z: 38
EduCake A: 42
B: 43
Z: 44
A: 18
B: 19
Z: 20
PLC A: 0
B: 2
Z: 5

下面是 86Duino 編碼器輸入介面的規格:

  • 32-bit 高速計數器,最大計數頻率可達 25MHz
  • 輸入腳數位濾波功能
  • 支援 Pulse/DIR、CW/CCW、A/B Phase 三種類型的增量編碼器
  • 支援 SSI 類型的絕對式編碼器
  • 支援硬體 PWM 脈波捕捉功能,解析度可達 10ns
  • 支援位置比較功能

Functions

begin()
end()
write()
read()
readNanoseconds()
indexRead()
directionRead()
pulseIn()
pulseInNanoseconds()
setComparator()
setDigitalFilter()
setInputPolarity()
setIndexReset()
setRange()
attachInterrupt()
detachInterrupt()

註:為了讓 Encoder 函式庫更容易上手,我們在 API 提供的功能性上做了相當程度的簡化,上面 API 尚未充份利用 86Duino 硬體內建的編碼器介面之全部功能;若您對開發 86Duino 編碼器介面完整功能的函式庫有興趣,您將需要參閱 Vortex86EX Motion-Control Module 的 datasheet,請來信向 soc@dmp.com.tw 洽詢。


函式庫參考主頁面

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.