Sekilas Rotary Encoder

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.

baganrotaryGambar 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:

pers1rotaryencoder (1)

Dimana fc adalah frekuensi cut-off filter, sw adalah kecepatan piringan dan n adalah jumlah slot pada piringan.

gb2rotaryencoderGambar 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.

gb3rotaryencoder

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.

gb4rotaryencoderGambar 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.

gb5rotaryencoder

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.

gb6rotaryencoder

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

tabel1rotaryencoder

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.

gb7rotaryencoder

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.

gb8rotaryencoder

Gambar 8. Contoh pola keluaran incremental encoder

gb9rotaryencoder

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 pers3rotaryencodermenggunakan 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:

pers2rotaryencoder(2)

Sehingga kecepatan putar akan kita dapatkan sebagai:

pers3rotaryencoder(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.

gb10rotaryencoder

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:

pers4rotaryencoder

(4)

Sehingga kecepatan yang akan kita ukur dapat kita peroleh dengan:

pers5rotaryencoder

(5)

Seperti halnya pada frequencymeter, disini juga muncul quantification error karena waktu Tp akan selalu merupakan perkalian integer dengan t.

gb11rotaryencoderGambar 11. Pengukuran kecepatan dengan menggunakan Periodimeter

Ref.

About angin165

Pria, Indonesia, muda, lajang, belum mapan.
This entry was posted in Application, Electrical Drives. Bookmark the permalink.

24 Responses to Sekilas Rotary Encoder

  1. JS says:

    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.

  2. Pingback: sekilas rotary encoder « nang windar and the mosquito commander

  3. BB says:

    klo mau baca pulsa outputnya encoder (ditranslate) dengan pakai microcontroller atau matlab

    • Fatahillah says:

      Maaf gan mau nanyak, putaran encoder 360 sebelum tercapai 360 ada kondisi output nyala 2 kali, kira2 masalahnya apa gan?
      Terima kasih

  4. nice artikel….
    terima kasih ^_^

  5. the win says:

    nice post
    oh ya, bisa tolong di jelasin gak / kasih contoh untuk pembuatan programnya, terima kasih banyak, salam kenal

  6. Pingback: Articles | nang windar and the angin165

  7. .. untuk mengukur output rotary encoder dengan avometer biasabisa tidak gan ?..
    trims,

    • asep says:

      Tidak bisa mas..karena output pulse dari encoder itu beragam ada yg A/B Pulse dll..dan itu highspeed pulse tergantung dari type encodernya..

  8. Aguss says:

    Gan pabrik aku ada encoder lika,cara repairny gmana supaya normal derjatnya dari 0-360-0 derajat

  9. hidayat says:

    kang untuk penggunaan rotary encoder. kecepatan encoder mempengaruhi hasil output ngak.,,???

  10. Pingback: Encoder | Gallardo LP570-4 Superleggera

  11. Pingback: SOFTWARE | Wahyuadhinugraha's Blog

  12. nataly y says:

    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

    • Endang mahpudin says:

      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

  13. hmm cincin yang ada pada piringan itu berbeda-beda ya

  14. 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

  15. jaka says:

    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

  16. sapto says:

    mohon ijin copas

  17. Asep says:

    Apakah putaran encoder dapat diputar balikan?

  18. togel slot says:

    KUMPULAN SITUS TOGEL ONLINE TERPERCAYA
    https://www.geocities.ws/botogelterbesar/situs-togel-terpercaya
    KUMPULAN SITUS TOGEL ONLINE TERPERCAYA

  19. togel slot says:

    KUMPULAN SITUS TOGEL ONLINE TERPERCAYA

Leave a comment