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.