동영상으로 보는 엔코더의 작동 원리

임베디드 2019. 12. 16. 00:43


 이전에 작성하였던 엔코더의 작동 원리에 대한 글이 지금까지도 많은 분들께서 찾아와주시는 것을 보면서 제 글이 많은 사람들에게 도움을 드리고 있다는 것에 상당한 뿌듯함을 느꼇습니다. 지금도 댓글로 질문을 달아주시는 분들이 계시는 것을 보면서 많은 분들께서 엔코더에 대해 궁금해 하시는 것이 많다는 것을 알게 되었습니다.


 어떻게 하면 엔코더의 작동 과정을 직관적으로 설명할 수 있을까 하다가 유튜브에서 좋은 영상 자료를 구하게 되어 여러분들께 보여드리고자 합니다. 먼저 동영상을 보신 다음 아래의 설명을 읽어주신다면 이해하는데 많은 도움이 되시리라 믿습니다.


Absolute(절대)방식과 Incremental(증분)방식 엔코더의 차이점





 엔코더의 구조로 크게 선형(Linear)엔코더와 로터리(Rotary)엔코더가 있습니다. 선형엔코더는 이름 그대로 직선으로 이동하며 위치를 측정하는 용도로 사용되며 로터리엔코더는 회전 정보를 측정하는 용도로 사용됩니다.



 선형엔코더는 트랜스듀서(Transducer)를 사용하여 위치 변화를 측정합니다. 로터리(샤프트)엔코더의 경우 샤프트 축을 기준으로 회전 과정에서 얻게 되는 정보를 측정합니다. 위의 로터리엔코더는 Absolute 방식으로 회전 각도에 대한 정보를 출력합니다.



 그렇다면 로터리엔코더의 Absolute 방식과 Incremental 방식은 어떠한 차이가 있을까요? 두 엔코더는 사용 목적에 따라 크게 다릅니다. 측정하고자 하는 대상이 샤프트를 중심으로 어느 정도 회전했는지를 360도 이내에서 알아내기 위해서는 Absolute 방식이 적합하고, 회전 속도를 측정하는 것이 목적이라면 Incremental 방식이 적합합니다.

 Absolute 방식은 어느 정도 회전 했는지의 각도 정보(Angular Position)을 제공하며 Incremental 방식은 엔코더의 회전횟수에 따른 물체의 속도와 이동거리를 측정할 수 있습니다.



 Incremental 방식의 엔코더의 회전 속도를 측정하는 방법은 위의 그림과 같이 엔코더 내부의 슬릿(틈새)사이로 빛을 쏘는 부분과 빛은 수신하는 부분이 맞물린 구조에서 이루어집니다. 엔코더가 회전할 때 슬릿이 지나갈 때 마다 수신하는 부분에서는 빛이 차단되다 다시 수신되는 과정을 거치게 됩니다.



 Absolute 방식의 엔코더는 특정한 각도만큼 회전하였을 때 출력값이 위에서 보는 바와 같이 다르게 나타납니다. 이는 엔코더의 광수신 부분 갯수에 따라 각을 나타낼 수 있는 값이 더 미세해집니다. 위의 예제의 경우 3개의 광수신기가 있으므로 3^2=8개의 위치를 파악할 수 있는 것입니다.



 Absolute 엔코더는 구조에 따라 싱글턴(Single-turn) 방식과 멀티턴(Multi-turn) 방식이 있습니다. 싱글턴 방식의 경우 엔코더가 회전할 수 있는 360º 범위를 측정할 수 있습니다. 쉽게 말해 Absolute 엔코더가 15º 만큼 돌았는지 375º 만큼 한바퀴를 더 돌았는지 아닌지를 알 수 없다는 것입니다.

 이러한 싱글턴 엔코더의 한계를 해결하고자 한 것이 멀티턴 엔코더입니다. Absolute 엔코더의 광수신 부분을 위의 그림과 같이 하나 더 설치하여 엔코더의 회전수를 체크할 수 있도록 하여 각도의 변화량 측정 범위를 360º 이상의 범위에서 측정할 수 있게 됩니다.



 Incremental 엔코더의 경우 회전할 때 마다 광수신부의 빛이 차단과 수신을 반복하게 되면서 출력으로 Rising edge trigger가 수신될 때 마다 값을 1씩 증가시켜 엔코더의 회전 여부 및 속도를 나타낼 수 있습니다.


 그렇다면 엔코더의 회전 방향이 샤프트를 기준으로 시계방향(CW)인지 시계반대방향(CCW)인지 확인할 수 있는 방법은 어떤 것이 있을까요? 아래의 동영상을 통해 이해해보도록 합니다.


Incremental 방식 엔코더의 A상과 B상





 위에서 설명드렸듯이 Incremental 엔코더가 회전할 때 counting disc를 지날 때 마다 카운터가 1씩 증가되는 과정을 위 동영상에서 다시 확인하실 수 있습니다.



 이러한 특성의 Incremental 엔코더에 counting disc를 두 개로 만들어 두 개의 상이 90º 차이가 나도록 설계합니다. 이렇게 되면 A상과 B상이 서로 90º 위상 차이로 출력되고 있는 것을 보실 수 있습니다.



 지속적으로 회전을 해보면 A상이 90º 차이로 B상보다 먼저 출력되고 있음을 확인하실 수 있습니다.



 반대로 이번에는 엔코더의 회전 방향을 반대로 돌려봅니다. 이 경우 B상이 A상보다 90º 빠르게 돌아가고 있음을 확인하실 수 있습니다. 이러한 두 상의 위상차를 통해 엔코더의 회전 방향을 파악할 수 있음을 알 수 있습니다.


 엔코더의 작동 원리에 대해 좀 더 자세히 알아보고자 하시는 분들은 이전에 정리하였던 제 글을 참조해 주셨으면 합니다!


2016/07/31 - [임베디드] - [로터리 엔코더] 엔코더의 작동 원리 및 사용 방법


300x250