[caturhilman]

1. [Intro] CMPS10
CMPS10 adalah modul sensor buatan Devantech Ltd. yang bermarkas di Inggris. CMPS10 terintegrasi dengan sensor magnetometer 3-sumbu dan accelerometer 3-sumbu, sehingga mampu meng-indera perubahan posisi angular (sudut) pada sumbu-x, sumbu-y, dan sumbu-z. Setiap user bebas memilih inisialisasi sumbu rotasi, dalam artikel ini inisialisasi masing-masing sumbu rotasi dijelaskan sebagai berikut. Sumbu-x adalah sumbu horisontal, sumbu-y adalah sumbu vertikal, dan sumbu-z adalah sumbu yang tegak lurus terhadap sumbu-x dan sumbu-y. Gambar 1.2 berikut adalah ilustrasi penjelasannya.


Gambar 1.1 Konfigurasi pin CMPS10 untuk mode I2C  
(www.robot-electronics.co.uk/htm/cmps10i2c.htm)
Gambar 1.2 Ilustrasi gerak rotasi CMPS10 terhadap 3-sumbu rotasi 
(www.github.com/kragniz/CMPS10
& www.caturhilman.tk)
Jika menggunakan inisialisasi sudut sesuai penjelasan diatas, maka sumbu-x adalah sumbu rotasi roll, sumbu-y adalah sumbu rotasi bearing atau yaw (dalam artikel ini penulis lebih suka memakai istilah yaw), dan sumbu-z adalah sumbu rotasi pitch. Arah panah menunjukkan inisialisasi arah Utara (North), sesuai dengan datasheet CMPS10. CMPS10 membutuhkan tegangan input 3,6-5 Volt DC dan arus 25mA. Terdapat 3 (tiga) mode untuk mengakses data masing-masing sudut yaitu dengan mode I2C, mode serial, dan mode PWM, namun dalam artikel ini hanya dibahas detail mengenai mode I2C saja dan yang lainnya bisa dipelajari di datasheet CMPS10.

2. [Details] CMPS10
I2C (Inter Integrated-Circuit), dibaca:I-two-C, merupakan protokol komunikasi serial antara IC yang didesain oleh Philips Semiconductor (sekarang dikenal NXP Semiconductors) pada tahun 1982. I2C memungkinkan beberapa IC-slave berinteraksi dengan satu atau lebih IC-master.  Sensor CMPS10 ini termasuk kedalam kategori IC-slave, karena fungsinya sebagai sensing element, ujung tombak sistem instrumentasi dan masih membutuhkan divais signal processing sebagai IC-master.
Gambar 2.1 Interaksi IC-master dan IC-slave pada protokol I2C (www.learn.sparkfun.com/tutorials/i2c)
Gambar 2.1 menjelaskan interaksi IC-master dan IC-slave. Komunikasi data pada protokol I2C membutuhkan dua jalur kabel, yaitu SDA (Serial Data signal), dan SCL (Serial Clock signal) yang berfungsi sebagai sinkronisasi data dan dibangkitkan dari IC-master. Salah satu kelebihan protokol I2C adalah mampu menangani hingga 1008 IC-slave. 
Gambar 2.2 Resistor pull-up pada jalur SDA dan SCL IC-master dan IC-slave  (www.learn.sparkfun.com/tutorials/i2c)
Jalur SDA dan SCL bersifat open drain, yaitu IC tersebut hanya mampu menghasilkan output berlogika low, dan tidak bisa menghasilkan logika high. Sehingga diperlukan resistor pull-up pada jalur SDA dan SCL yang selanjutnya terhubung dengan tegangan referensi atau Vcc. Nilai resistor pull-up sebaiknya memakai 4,7 kOhm untuk jumlah IC-slave yang tidak banyak dan panjang kabel maksimal sekitar 2 hingga 3 meter (menurut referensi). Jika jumlah IC-slave yang digunakan lebih dari satu, maka hanya dibutuhkan 1 (satu) resistor pull-up pada jalur SDA dan SCL, seperti ilustrasi gambar 2.3 berikut.
Gambar 2.3 Ilustrasi wiring resistor pull-up jika menggunakan IC-slave lebih dari satu 
(www.robot-electronics.co.uk/acatalog/I2C_Tutorial.html)
Sejak Oktober 2006, tidak ada biaya lisensi yang diperlukan untuk menerapkan protokol I2C, namun biaya lisensi masih berlaku untuk mendapatkan peng-alamat-an register atau register address sebuah IC slave. 
Tabel 2.1 Register CMPS10 untuk mode I2C 
(www.robot-electronics.co.uk/htm/cmps10i2c.htm)


Tabel 2.1 menjelaskan alamat register CMPS10 untuk mode I2C. Register nomer 1, (nomer 2 dan 3) digunakan untuk mengakses data sudut yaw. Perbedaannya kalau hanya memakai register nomer 1, resolusi sensor hanya 8 bit, yaitu 0 hingga 255. Namun kalau memakai register nomer 2 dan 3, resolusi sensor menjadi 16 bit, yaitu 0 hingga 3599. Maksud kalimat tersebut yaitu jika user memakai register nomer 1, maka nilai sudut yaw yang mampu di-indera oleh sensor sebesar 1,4 derajat dan kelipatannya. Nilai ini diperoleh dari besar sudut satu putaran penuh yaitu 360 derajat dibagi resolusi maksimal yaitu 255.  Sedangkan jika user memakai register nomer 2 dan 3, maka nilai sudut yaw yang mampu di-indera oleh sensor sebesar 0,1 derajat, diperoleh dari perhitungan yang sama dengan sebelumnya. Register nomer 4 digunakan untuk mengakses data sudut pitch, yaitu sudut kemiringan obyek terhadap sumbu horisontal. Mempunyai nilai 0 derajat jika posisi obyek adalah tepat sejajar dengan sumbu horisontal. Sesuai datasheet CMPS10, resolusi sensor untuk akses sudut pitch maupun roll adalah 1 derajat, dan mampu meng-indera perubahan sudut pitch/roll  sebesar +/- 85 derajat.  

detail syntax dan antarmuka CMPS10 ke LCD dan mikrokontroler silahkan email ke: hilmanadritya@gmail.com

3. [Conclusions] CMPS10
  • CMPS10 mampu meng-indera perubahan posisi angular suatu obyek, meliputi perubahan sudut yaw, sudut pitch, dan sudut roll
  • Resolusi sensor untuk sudut yaw mempunyai 2 opsi, yaitu 1,4 derajat dan 0,1 derajat
  • Resolusi sensor untuk sudut pitch sebesar 1 derajat
  • Resolusi sensor untuk sudut roll sebesar 1 derajat
4. [Referensi]
Plagiarisme menurut KBBI adalah sikap mengambil karya orang lain dengan tujuan kepentingan pribadi menjadikannya seolah karya sendiri, mengambil mentah-mentah tanpa menuliskan sumber atau sitasi. Plagiarisme merupakan tindak pidana karena mencuri hak cipta orang lain (www.id.wikipedia.org/wiki/Plagiarisme). 

Mohon menuliskan sitasi dari blog ini jika artikel ini dijadikan sebagai referensi. Penulis sangat berterimakasih dan meng-apresiasi tindakan tersebut, demi kemajuan penelitian bangsa Indonesia yang beretika.

 
 






Categories:

2 Responses so far.

  1. bang...
    kalo ke arduino konsepnya gmana?

  2. mohon maaf baru balas, saya belum pernah coba di arduino. sy pernah coba di atmega16/8535. konsepnya di komunikasinya saja, pin yang dipakai adalah pin SDA dan SCL. kalau mau lebih lengkap silahkan email di hilmanadritya@gmail.com
    Terimakasih

Leave a Reply