Sekilas Rotary Encoder
Arwindra Rizqiawan
Rotary encoder adalah divais elektromekanik yang dapat memonitor gerakan dan posisi. Rotary encoder umumnya menggunakan sensor optik untuk menghasilkan serial pulsa yang dapat diartikan menjadi gerakan, posisi, dan arah. Sehingga posisi sudut suatu poros benda berputar dapat diolah menjadi informasi berupa kode digital oleh rotary encoder untuk diteruskan oleh rangkaian kendali. Rotary encoder umumnya digunakan pada pengendalian robot, motor drive, dsb.
Rotary encoder tersusun dari suatu piringan tipis yang memiliki lubang-lubang pada bagian lingkaran piringan. LED ditempatkan pada salah satu sisi piringan sehingga cahaya akan menuju ke piringan. Di sisi yang lain suatu photo-transistor diletakkan sehingga photo-transistor ini dapat mendeteksi cahaya dari LED yang berseberangan. Piringan tipis tadi dikopel dengan poros motor, atau divais berputar lainnya yang ingin kita ketahui posisinya, sehingga ketika motor berputar piringan juga akan ikut berputar. Apabila posisi piringan mengakibatkan cahaya dari LED dapat mencapai photo-transistor melalui lubang-lubang yang ada, maka photo-transistor akan mengalami saturasi dan akan menghasilkan suatu pulsa gelombang persegi. Gambar 1 menunjukkan bagan skematik sederhana dari rotary encoder. Semakin banyak deretan pulsa yang dihasilkan pada satu putaran menentukan akurasi rotary encoder tersebut, akibatnya semakin banyak jumlah lubang yang dapat dibuat pada piringan menentukan akurasi rotary encoder tersebut.
Gambar 1. Blok penyusun rotary encoder
Rangkaian penghasil pulsa (Gambar 2) yang digunakan umumnya memiliki output yang berubah dari +5V menjadi 0.5V ketika cahaya diblok oleh piringan dan ketika diteruskan ke photo-transistor. Karena divais ini umumnya bekerja dekat dengan motor DC maka banyak noise yang timbul sehingga biasanya output akan dimasukkan ke low-pass filter dahulu. Apabila low-pass filter digunakan, frekuensi cut-off yang dipakai umumnya ditentukan oleh jumlah slot yang ada pada piringan dan seberapa cepat piringan tersebut berputar, dinyatakan dengan:
(1)
Dimana fc adalah frekuensi cut-off filter, sw adalah kecepatan piringan dan n adalah jumlah slot pada piringan.
Gambar 2. Rangkaian tipikal penghasil pulsa pada rotary encoder
Terdapat dua jenis rotary encoder yang digunakan, Absolute rotary encoder dan incremental rotary encoder. Masing-masing rotary encoder ini akan dipaparkan pada bagian berikutnya.
ABSOLUTE ROTARY ENCODER
Absolute encoder menggunakan piringan dan sinyal optik yang diatur sedemikian sehingga dapat menghasilkan kode digital untuk menyatakan sejumlah posisi tertentu dari poros yang dihubungkan padanya. Piringan yang digunakan untuk absolut encoder tersusun dari segmen-segmen cincin konsentris yang dimulai dari bagian tengah piringan ke arah tepi luar piringan yang jumlah segmennya selalu dua kali jumlah segmen cincin sebelumnya. Cincin pertama di bagian paling dalam memiliki satu segmen transparan dan satu segmen gelap, cincin kedua memiliki dua segmen transparan dan dua segmen gelap, dan seterusnya hingga cincin terluar. Sebagai contoh apabila absolut encoder memiliki 16 cincin konsentris maka cincin terluarnya akan memiliki 32767 segmen. Gambar 3 menunjukkan pola cincin pada piringan absolut encoder yang memiliki 16 cincin.
Gambar 3. Contoh susunan pola 16 cincin konsentris pada absolut encoder
Karena setiap cincin pada piringan absolute encoder memiliki jumlah segmen kelipatan dua dari cincin sebelumnya, maka susunan ini akan membentuk suatu sistem biner. Untuk menghasilkan sistem biner pada susunan cincin maka diperlukan pasangan LED dan photo-transistor sebanyak jumlah cincin yang ada pada absolut encoder tersebut.
Gambar 4. Contoh piringan dengan 10 cincin dan 10 LED – photo-transistor untuk membentuk sistem biner 10 bit.
Sistem biner yang untuk menginterpretasi posisi yang diberikan oleh absolute encoder dapat menggunakan kode gray atau kode biner biasa, tergantung dari pola cincin yang digunakan. Untuk lebih jelas, kita lihat contoh absolut encoder yang hanya tersusun dari 4 buah cincin untuk membentuk kode 4 bit. Apabila encoder ini dihubungkan pada poros, maka photo-transistor akan mengeluarkan sinyal persegi sesuai dengan susunan cincin yang digunakan. Gambar 5 dan 6 menunjukkan contoh perbedaan diagram keluaran untuk absolute encoder tipe gray code dan tipe binary code.
Gambar 5. Contoh diagram keluaran absolut encoder 4-bit tipe gray code
Dengan absolute encoder 4-bit ini maka kita akan mendapatkan 16 informasi posisi yang berbeda yang masing-masing dinyatakan dengan kode biner atau kode gray tertentu. Tabel 1 menyatakan posisi dan output biner yang bersesuaian untuk absolut encoder 4-bit. Dengan membaca output biner yang dihasilkan maka posisi dari poros yang kita ukur dapat kita ketahui untuk diteruskan ke rangkaian pengendali. Semakin banyak bit yang kita pakai maka posisi yang dapat kita peroleh akan semakin banyak.
Gambar 6. Contoh diagram keluaran absolut encoder 4-bit tipe binary code
Tabel 1. Output biner dan posisi yang bersesuaian pada absolute encoder 4-bit
INCREMENTAL ROTARY ENCODER
Incremental encoder terdiri dari dua track atau single track dan dua sensor yang disebut channel A dan B (Gambar 7). Ketika poros berputar, deretan pulsa akan muncul di masing-masing channel pada frekuensi yang proporsional dengan kecepatan putar sedangkan hubungan fasa antara channel A dan B menghasilkan arah putaran. Dengan menghitung jumlah pulsa yang terjadi terhadap resolusi piringan maka putaran dapat diukur. Untuk mengetahui arah putaran, dengan mengetahui channel mana yang leading terhadap channel satunya dapat kita tentukan arah putaran yang terjadi karena kedua channel tersebut akan selalu berbeda fasa seperempat putaran (quadrature signal). Seringkali terdapat output channel ketiga, disebut INDEX, yang menghasilkan satu pulsa per putaran berguna untuk menghitung jumlah putaran yang terjadi.
Gambar 7. susunan piringan untuk incremental encoder
Contoh pola diagram keluaran dari suatu incremental encoder ditunjukkan pada Gambar 8. Resolusi keluaran dari sinyal quadrature A dan B dapat dibuat beberapa macam, yaitu 1X, 2X dan 4X. Resolusi 1X hanya memberikan pulsa tunggal untuk setiap siklus salah satu sinya A atau B, sedangkan resolusi 4X memberikan pulsa setiap transisi pada kedua sinyal A dan B menjadi empat kali resolusi 1X. Arah putaran dapat ditentukan melalui level salah satu sinyal selama transisi terhadap sinyal yang kedua. Pada contoh resolusi 1X, A = arah bawah dengan B = 1 menunjukkan arah putaran searah jarum jam, sebaliknya B = arah bawah dengan A = 1 menunjukkan arah berlawanan jarum jam.
Gambar 8. Contoh pola keluaran incremental encoder
Gambar 9. output dan arah putaran pada resolusi yang berbeda-beda
Pada incremental encoder, beberapa cara dapat digunakan untuk menentukan kecepatan yang diamati dari sinyal pulsa yang dihasilkan. Diantaranya adalah menggunakan frequencymeter dan periodimeter.
Cara yang sederhana untuk menentukan kecepatan dapat dengan frequencymeter, yakni menghitung jumlah pulsa dari encoder, n, pada selang waktu yang tetap, T, yang merupakan periode loop kecepatan (Gambar 10). Apabila α adalah sudut antara pulsa encoder, maka sudut putaran pada suatu periode adalah:
(2)
Sehingga kecepatan putar akan kita dapatkan sebagai:
(3)
Kelemahan yang muncul pada cara ini adalah pada setiap periode sudut αf yang didapat merupakan kelipatan integer dari α. Ini akan dapat menghasilkan quantification error pada kecepatan yang ingin diukur.
Gambar 10. Sinyal keluaran encoder untuk pengukuran kecepatan dengan frequencymeter
Cara yang lain adalah dengan menggunakan periodimeter. Dengan cara ini kita akan mengukur kecepatan tidak lagi dengan menghitung jumlah pulsa encoder tetapi dengan menghitung clock frekuensi tinggi (HF Clock) untuk sebuah pulsa dari encoder yaitu mengukur periode pulsa dari encoder (Gambar 11). Apabila αp adalah sudut dari pulsa encoder, t adalah periode dari HF clock, dan n adalah jumlah pulsa HF yang terhitung pada counter. Maka waktu untuk sebuah pulsa encoder, Tp, adalah:
(4)
Sehingga kecepatan yang akan kita ukur dapat kita peroleh dengan:
(5)
Seperti halnya pada frequencymeter, disini juga muncul quantification error karena waktu Tp akan selalu merupakan perkalian integer dengan t.
Gambar 11. Pengukuran kecepatan dengan menggunakan Periodimeter
Ref.
- Fernando Briz, et al. Speed Measurement Using Rotary Encoder for High Performance ac Drives. IEEE Trans.
- http://hades.mech.northwestern.edu
- http://www.ni.com
Aplikasi pengukuran speed /frekuensi seperti pada gambar 10, cenderung rawan terhadap noise atau backstep, sehingga hasilnya mengandung error.
Untuk lebih baiknya, phase-A dan phase-B keduanya dipakai dan diumpankan dulu ke RS flip-flop sebelum diumpankan lagi ke frequency counter.
Resolusi memang akan berkurang, tetapi hasil lebih meyakinkan. Apalagi rotary encoder biasanya tidak untuk aplikasi high speed, karena optocoupler internalnya punya batasan bandwidth.
Pingback: sekilas rotary encoder « nang windar and the mosquito commander
klo mau baca pulsa outputnya encoder (ditranslate) dengan pakai microcontroller atau matlab
Maaf gan mau nanyak, putaran encoder 360 sebelum tercapai 360 ada kondisi output nyala 2 kali, kira2 masalahnya apa gan?
Terima kasih
nice artikel….
terima kasih ^_^
nice post
oh ya, bisa tolong di jelasin gak / kasih contoh untuk pembuatan programnya, terima kasih banyak, salam kenal
Pingback: Articles | nang windar and the angin165
terimakasih…
.. untuk mengukur output rotary encoder dengan avometer biasabisa tidak gan ?..
trims,
Tidak bisa mas..karena output pulse dari encoder itu beragam ada yg A/B Pulse dll..dan itu highspeed pulse tergantung dari type encodernya..
Gan pabrik aku ada encoder lika,cara repairny gmana supaya normal derjatnya dari 0-360-0 derajat
kang untuk penggunaan rotary encoder. kecepatan encoder mempengaruhi hasil output ngak.,,???
Pingback: Encoder | Gallardo LP570-4 Superleggera
Pingback: SOFTWARE | Wahyuadhinugraha's Blog
di pabrik saya ada mesin pembuat atap menggunakan encoder E6B2-CWZ6C,,permasalahannya gimana cara menentukan measure lenght pada display agar output atau panjang atap sesuai dengan target panjang yang di input sebagai order pada display..trimakasih
Sesuai penglman saya, dirubah input parameter setting ( parameter yg ada sekrg x pnjng yg diinginkan ÷ panjang hsil produksi ) ganti nilai parameter dngan hasilnya . Slmt mencoba
hmm cincin yang ada pada piringan itu berbeda-beda ya
pembahasan ini banyak diterangkan tapi belum membahas pada aplikasi yang real, kita kebanyakan belum bisa menterjemahkan datasheet kedalam program,,, jika ada yang pernah buat program motor encoder untuk pergerakan layaknya servo bisa dishare
Sy punya rotary encoder..di pasang servo motor..saya ingin tanya apakah servo motor dan servo drive hrs di beli sepasang…bisa tdk bila di beli satu unitnya sj??trims
Servo motor harus ada servo drive nya..dan itu harus satu paket..
mohon ijin copas
Apakah putaran encoder dapat diputar balikan?
KUMPULAN SITUS TOGEL ONLINE TERPERCAYA
https://www.geocities.ws/botogelterbesar/situs-togel-terpercaya
KUMPULAN SITUS TOGEL ONLINE TERPERCAYA
KUMPULAN SITUS TOGEL ONLINE TERPERCAYA