旋转编码器

旋转编码器（rotary encoder）也称为轴编码器，是将旋转位置或旋转量转换成模拟或数字信号的机电设备。一般装设在旋转物体中垂直旋转轴的一面。旋转编码器用在许多需要精确旋转位置及速度的场合，如工业控制、机器人技术、专用镜头、电脑输入装置（如鼠标及轨迹球）等。
旋转编码器可分为绝对型（absolute）编码器及增量型（incremental）编码器两种。增量型编码器也称作相对型编码器（relative encoder），利用检测脉冲的方式来计算转速及位置，可输出有关旋转轴运动的资讯，一般会由其他设备或电路进一步转换为速度、距离、每分钟转速或位置的资讯。绝对型编码器会输出旋转轴的位置，可视为一种角度传感器。
绝对型编码器.
绝对型编码器将转轴的不同位置加以编号，再依目前转轴位置输出对应的编号，依构造主要可分为两种：光学式及机械式。
绝对型编码器的特点是随时可以知道转轴的位置，有时也会将解角器视为是绝对型编码器。
机械式绝对型编码器.
机械式绝对型编码器中有一个金属圆盘，上面有许多同心圆环状的开口，金属圆盘固定在一个和主轴同步旋转的绝缘圆盘上。编码器的定子上有一组滑动接触器，各接触器放置在不同半径的位置，对应金属圆盘上对应半径的开口。而金属圆盘会连接到一电流源，当轴和圆盘一起旋转时，依接触器对应位置的不同，有些接触器会接触到金属圆盘，有些不会，每个接触器会连接到一个感测器，而金属圆盘的开口有经过设计，可以将圆分为若干等分，每一等分都对应一个不重复的二进制码，二进制码是由每个接触器是否有电流而组成。
机械式绝对型编码器一般会用电刷来当接触器，因为电刷容易磨损．机械式绝对型编码器并不常见。在一些低速的应用中比较会用到机械式绝对型编码器。
光学式绝对型编码器.
光学式绝对型编码器中也有一个会和主轴同步旋转的圆盘，圆盘由玻璃或塑胶制成，其中有分为许多同心圆状的透明及不透明的区域。在圆盘的两侧分别有光源及光感测器阵列，其读到的资料可以表示圆盘的位置。一般会将读到的资料传送到微处理器，转换为轴的位置。
标准的二进位编码.
以下以一个三位元绝对型编码器的例子说明其二进位的编码：
若编码器中有"n"个接点，就可以输出2"n"个不同的编码来表示转轴的位置。在此例中"n"=3，因此可以表示2"3"或8个不同的位置。当转轴旋转时圆盘也随之旋转，在不同的位置会读到不同的编码。不过若各个接点的位置有些误差，当接点对应的位置由一个区块移到另一个区块，就可能无法正确读到其位置的编码。
假设转轴由179.9°转到180.1°（由区块4移到区块5），依以上的表，接点读到的编码会由off-ON-ON变成ON-off-off，但在实际的编码器中，由于接点位置的偏差，三个接点的讯号可能会在不同时间变化，假如接点1的讯号先变化，然后是接点3及接点2的讯号才依序变化，所读到的编码依序为
依以上的表来看，其区块对应的编号依序为4、8、7及5。若以上述的编码来看，转轴似乎由区块4忽然移动到区块8，后退到区块7，最后才回到区块5。在一些应用场合下，上述的情形就会造成问题。假设编码器是用在机械手臂中，在旋转过程中控制器可能会认为手臂多旋转了180度，因以会设法反转180度加以修正，这可能就会造成机械手臂的损坏。
格雷码.
为避免上述的问题，有些绝对型编码器会将位置以格雷码来输出。格雷码也是一种二进位的编码方式，但其相邻数字只会有一个二进位数不同，以下以一个三位元格雷码绝对型编码器的例子说明其二进位的编码：
同样假设转轴由179.9°转到180.1°（由区块4移到区块5），只有一个接点的讯号会出现变化，在其他相邻区块中移动也是一様，因此不会有因多个接点讯号未同步变化而造成编码不正确的情形。
单轨格雷码.
若调整编码器中的接点至另外一个角度，但和轴心的距离保持不变，则其产生的讯号在调整相同角度会和原来的讯号相同。在上图中，最内侧的二个环讯号除了有90度的相位差外，其余完全相同，因此最内侧的二个环可以缩减成一个，二个接点对应同一个环的讯号，但其角度差为90度，如此对应同一个环的二个接点即形成一组正交解码器。
若编码器各组接点的讯号可以用一组讯号配合不同相位差来合成，即可用单轨的讯号配合几个距轴心等距离，但不同角度的接点来产生，称为单轨格雷码。有一阵子数学家认为除了二个接点的单轨格雷码外，不存在其他多接点的单轨格雷码。不过1994年 N. B. Spedding证实了多接点的单轨格雷码的存在，并申请了一个单轨格雷码的专利。
输出格式.
商用的绝对型编码器有许多不同输出资料的格式，例如并列式二进位码、同步串列介面（SSI）、BiSS、ISI、Profibus、DeviceNet、CANopen、Endat及Hiperface等。
单圈型及多圈型绝对型编码器.
上述的绝对型编码器在一圈内可以侦测其角度位置，但无法侦测旋转圈数，这类的绝对型编码器称为单圈型绝对型编码器。
多圈型绝对型编码器则是将旋转圈数额外用其他信号表示，因此除了角度位置外，也可以记录旋转圈数，适用于较长距离的直线应用。
增量型编码器.
增量型编码器和绝对型编码器不同，当转轴旋转时，增量型编码器输出会随之变化，根据输出变化可以检测转轴的旋转量。绝对型编码器有针对转轴旋转的位置给予编号，转轴不动时根据其输出的信号可以求得其对应的位置，增量型编码器无此功能，无法在转轴不动时得到转轴旋转位置的资讯。
增量型编码器可用来感测转轴旋转量的资讯，再由程式产生旋转方向、位置及角度等资讯，增量型编码器可以是线性的，也可以是旋转型。增量型编码器因为其低成本，以及其信号容易转换为运动相关的资讯（例如速度）等特性，是最广为使用的编码器。
增量型编码器有机械式的及光学式的，机械式的编码器需要对信号处理抖动，一般用在消费性产品上的旋钮。例如大部分家用及车用的收音机就是用增量型编码器作为音量控制的旋钮，一般机械式编码器只适用在转速不高的应用场合。光学式的编码器则用在高速或是需要高精准度的场合。
增量型编码器有二个输出，分别称为A和B，二个输出是正交输出，相位差为90度。增量型编码器的单圈脉冲数（PPR）为其旋转一圈时会输出的方波数，如PPR为600表示旋转一圈时A和B都会输出600个方波，但先后顺序不同。光学式增量型编码器可以有较高的单圈脉冲数，例如 2500 到 10000。
以下是顺时针及逆时针旋转时，编码器输出的变化：
二个讯号有90度的相位差，在不同旋转方向时，二个讯号的相序也有所不同，可以利用程式将二个讯号进行解码．根据其相序不同，在有方波时使一计数器上数或是下数，此计数器的值即可对应转轴的旋转量。
例如上一次的数值是00，目前的数值是01，表示转轴已顺时针旋转了四分之一个单位（若单圈脉冲数为600，此处的单位即为六百分之一圈）。根据单位时间的旋转量可以计算转速，若是转速很慢时可以直接根据方波的宽度计算转速。不过上述的计算前提是程式可以确认每一次数值的变化，并依变化决定旋转方向等资讯。若转轴的旋转速度太快，程式可能会跳过中间的状态变化，出现无法识别转轴的旋转方向或是旋转方向误判的情形。
有些旋转编码器除了A相及B相外还有一个输出，一般称为Z相，每旋转一圈Z相讯号会有一个方波输出，可以用来判断转轴的绝对位置，例如用在位置控制的系统中。
若旋转编码器只有单独一相的输出，仍然可以判断转轴的转速，只是不能判断旋转的方向。可以用在量测转速的场合，有时也会以此量测运动的距离。
弦波编码器.
弦波编码器是增量型编码器的一种变体．增量型编码器输出的是二个正交的方波，而弦波编码器输出正弦波及余弦波。利用反正切函数的演算，可以得到高解析度的结果。
工业上的使用.
工业上许多场合会用到编码器。像是需要知道精确位置的位置控制系统，会用旋转编码器作为位置的回授。感应马达是工业上常用的马达，但由于其运转时会有转差率，实际的转速会随电流而变化。若需要控制马达的转速，也会用增量型编码器作为速度的回授。
永磁同步无刷马达常用在工具机、机械人或是其他设备中，常会配合编码器量测马达转动的位置。若是使用感应马达的伺服机构，使用增量型编码器即可。但是若使用永磁同步无刷马达，需配合绝对型编码器，其原因在永磁同步马达中，定子电流需和转子的磁铁维持特定的角度，永磁同步马达才会有理想的转矩输出，因此需要绝对型编码器知道转子的位置。若定子电流和转子磁铁的相关角度不对，马达的转矩性能不佳，有可能不转或甚至逆向旋转，因而造成危险，因此绝对型编码器在这种应用时是相当重要。
也有一些永磁同步马达使用特殊的增量式编码器，除了A、B及Z相信号外，还有U、V及W相侦测磁极的位置。U、V及W相可能是单独的三组线，或是将U、V及W相和A、B及Z相共用的省配线编码器，送电后一段时间内先送出U、V及W相信号，之后仍维持正常的A、B及Z相信号输出。
编码器技术.
编码器可以用以下几种不同的技术实现：
相关设备.
可提供类似机能的设备包括、解角器、（RVDT）及旋转电位器。
线性编码器类似旋转编码器，但是是量测在一直线上的位置及位移，而不是量测旋转量。线性编码器一般是增量型，常在工具机中使用。