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.