Mesin yang bergerak/berputar pada umumnya memerlukan pengukuran gerakan. Mulai dari peralatan mesin, mesin inspeksi, dan lain sebagainya, mulai dari mesin manual sampai otomatis, memiliki mekanisme pengukuran internal. Saat ini, komponen yang banyak digunakan untuk pengukuran gerakan adalah encoder. Encoder secara umum dapat dikategorikan ke dalam optical (photoelectric), magnetic encoder, dan tipe kontak mekanik. Photoelectric encoder memiliki tingkat akurasi yang tinggi, handal, dan relatif murah, mudah dalam aplikasinya. Ada dua tipe encoder yaitu rotary dan linier. Secara teknis, pada dasarnya sama, yang membedakan pada umumnya di aplikasinya. Rotary encoder Rotary encoder, atau disebut juga Shaft encoder, merupakan perangkat elektro-mekanikal yang digunakan untuk mengkonversi posisi anguler (sudut) dari shaft (lubang) atau roda ke dalam kode digital, menjadikannya semacam tranduser. Perangkat ini biasanya digunakan dalam bidang robotika, perangkat masukan komputer (seperti optomekanikal mouse dan trackball), serta digunakan dalam kendali putaran radar, dll. Terdapat dua tipe utama rotary encoder, yaitu tipe absolut dan tipe relatif. Rotary Encoder Absolut 

Konstruksi Tipe ini (rotay encoder absolut) menghasilkan kode digital yang unik/khas untuk masing-masing beda sudut poros. Plat baja dipotong dengan bentuk tertentu kemudian ditempelkan ke piringan/cakram dengan penyekat dimana terpasang kuat dengan poros (shaft). Saat piringan berputar, beberapa kontaknya menyentuh plat baja, dan kontak yang lain tak menyentuh plat (yang berlubang). Plat baja tersebut terhubung dengan sumber arus listrik, dan masing-masing kontak terhubung ke sensor elektrik. Bentuk potongan plat baja tersebut dirancang sedemikian rupa sehingga memungkinkan masing-masing posisi poros membentuk kode biner yang unik dimana beberapa kontak terhubung ke sumber arus (switch ON) dan yang lain tak terhubung (switch OFF). Kode tersebut dapat dibaca oleh peralatan kontrol seperti mikroprosesor atau mikrokontroler, untuk menerjemahkan sudut dari poros. Standar pengkodean Biner Di bawah ini contoh kode biner, dimana encoder memiliki 3 kontak:
| Sector | Kontak 1 | Kontak 2 | Kontak 3 | sudut |
| 1 | OFF | OFF | OFF | 0-45 |
| 2 | OFF | OFF | ON | 45-90 |
| 3 | OFF | ON | OFF | 90-135 |
| 4 | OFF | ON | ON | 135-180 |
| 5 | ON | OFF | OFF | 180-225 |
| 6 | ON | OFF | ON | 225-270 |
| 7 | ON | ON | OFF | 270-315 |
| 8 | ON | ON | ON | 315-360 |
Rotary Encoder untuk perangkat pengukuran sudut dirancang dalam 3-bit biner. Ring terdalam terhubung dengan kontak 1 dalam tabel. Sektor hitam berarti “ON”. Sudut bertambah secara anticlockwise (CCW). Secara umum, dimana terdapat n kontak, maka jumlah posisi poros adalah 2n. Misal, n = 3, maka terdapat 8 posisi poros. Pada contoh di atas, kontak-kontak akan menghasilkan standar hitungan biner sebagai putaran Disk (piringan). Akan tetapi, hal ini memiliki kekurangan, yaitu bila piringan berhenti antara 2 perbatasan sektor, atau kontak-kontaknya tidak lurus secara sempurna, sehingga tidak memungkinkan untuk menerjemahkan sudut poros. Contoh, apa yang terjadi bila sudut poros berubah dari 179,9 derajat sampai 180,1 derajat (dari sektor 4 ke sektor 5). Sesuai dengan tabel di atas, kondisi kontak akan berubah dari OFF-ON-ON ke ON-OFF-OFF. Akan tetapi, hal ini bisa saja tidak sesuai dengan kenyataannya. Dalam prakteknya, kontak tidak pernah lurus sempurna, sehingga masing-masing akan terhubung pada momen(waktu) yang berbeda. Jika kontak 1 tersambung pertama, diikiuti kontak 3 dan kemudian kontak 2, maka sekuen/urutan kode aktualnya sebagai berikut: OFF-ON-ON (posisi start) ON-ON-ON (awal, kontak 1 ON) ON-ON-OFF (selanjutnya, kontak 3 OFF) ON-OFF-OFF (akhir, kontak 2 OFF) Sekarang bisa diamati untuk sektor yang beraitan dengan kode-kode ini dalam tabel. Misalnya di sektor 4,8,7 dan 5. Sehingga, dari urutan kode yang dihasilkan, poros tampak seperti meloncat dari sektor 4 ke sektor 8, kemudian kembali ke sektor 7, dan akhirnya kembali ke sektor 5. Kondisi ini tentu saja tidak diinginkan karena bisa merusak sistem. Sebagai contoh, jika encoder digunakan dalam Arm Robot (robot lengan). Kontroler akan berpikir bahwa Arm dalam posisi yang salah, dan mencoba untuk membetulkan kesalahan tersebut dengan memutar lengan sampai 180 derajat, dan mungkin bisa menyebabkan kerusakan lengan robot. Gray encoding Untuk menghindari permasalahan di atas, maka digunakan Gray Encoding. Metode ini merupakan sistem penghitungan biner dimana dua kode yang berbatasan, dibedakan ke dalam satu posisi saja. Untuk 3 kontak pada contoh di atas, kode versi Gray ditunjukkan sebagai berikut:
| Sector | Kontak 1 | Kontak 2 | Kontak 3 | sudut |
| 1 | OFF | OFF | OFF | 0-45 |
| 2 | OFF | OFF | ON | 45-90 |
| 3 | OFF | ON | ON | 90-135 |
| 4 | OFF | ON | OFF | 135-180 |
| 5 | ON | ON | OFF | 180-225 |
| 6 | ON | ON | ON | 225-270 |
| 7 | ON | OFF | ON | 270-315 |
| 8 | ON | OFF | OFF | 315-360 |
Rotary Encoder untuk perangkat pengukuran sudut dirancang dalam 3-bit biner. Ring terdalam terhubung dengan kontak 1 dalam tabel. Sektor hitam berarti “ON”. Sudut bertambah secara anticlockwise (CCW) Dalam contoh ini, perubahan dari sektor 4 ke sektor 5, dan juga seluruh perubahan/transisi, hanya satu kontak yang mengubah kondisinya dari ON ke OFF atau sebaliknya. Hal ini berarti bahwa sekuen dari kode yang salah seperti yang ditunjukkan dalam tabel sebelumnya, tidak dapat terjadi.
Incremental rotary encoder coming soon…
#1 by Mr. S on July 30, 2011 - 3:02 am
pak, tolong penerapan langsung ke alatnya di posing juga. thanks..
#2 by momogie on August 2, 2011 - 5:33 am
iya Ad, blm rampung nih nulisnya, ditunggu ya