Menggunakan kode Gray untuk encoders rotary



Kode Gray dikenal dan banyak digunakan dalam sistem gerakan sudut mana posisi sudut harus diketahui. Encoder kode Gray dapat dibangun dengan mudah oleh roda berkode bit di mana trek dibaca dengan photocells.
gray_code.PNG

Apakah Anda melihat gambar dan berpikir bahwa kode putih kode biner yang sama. Yah tidak ... Masalah utama dengan sistem biner yang menggunakan kode biner di trek ada banyak posisi di mana beberapa kode berubah pada waktu yang sama. Hal ini dapat mengakibatkan kesalahan. Sebenarnya dalam kode putih hanya satu kode dapat berubah sewaktu-waktu sama selama rotasi. Jadi jika kesalahan terjadi, error dihasilkan akan hanya satu bit. Kode Gray mudah untuk mengkonversi ke biner tugas ini dapat dilakukan oleh setiap mikrokontroler menggunakan tabel lookup:


 gray_to_bin.PNG

Anda juga dapat mengkonversi kode Gray ke biner analitis. Untuk mengkonversi dari biner ke Gray, mulai dari MSB dan membandingkannya dengan 0. Jika MSB adalah sama to0, kemudian menulis 0 sebagai MSB untuk nomor kode Gray, jika menulis 1. Selanjutnya membandingkan MSB berikutnya dan membandingkannya dengan MSB. Jika mereka adalah sama menulis 0 dalam posisi untuk nomor kode Gray, jika tidak, 1. Kemudian membandingkan setiap bit dalam bilangan biner ke bit hanya untuk di sebelah kiri itu dan menulis 0 untuk perbandingan yang benar dan 1 untuk palsu. Prosedur ini terus berlanjut sampai LSB dibandingkan dengan bit kedua.
The bawah gambar menunjukkan encoder rotasi 5-bit, dengan menggunakan pola Gray-kode dan sensor optik

5bit.
Singleturn.gif



4 bit :