Hexapod legged Robot

robotechzone.blogspot.com

Hexapod legged Robot

robotechzone.blogspot.com

Hexapod legged Robot

robotechzone.blogspot.com

Hexapod legged Robot

robotechzone.blogspot.com

Wheeled Robot

robotechzone.blogspot.com

Tampilkan postingan dengan label Sensor. Tampilkan semua postingan
Tampilkan postingan dengan label Sensor. Tampilkan semua postingan

Jumat, 10 Februari 2012

PROGRAM SENSOR ACCELELOMETER HITACHI H48C

H48C adalah sensor yang biasa digunakan untuk mendeteksi kemiringan robot. Sensor ini mampu mendeteksi gaya gravitasi dalam tiga sumbu(X,Y,Z). Karena H48C membutuhkan tegangan 3,3 Volt (tentu ini sangat merepotkan karena tegangan kerja microcontroller AVR rata-rata 5 volt), Parallax menciptakan sebuah module integrasi H48C dengan ADC 12 bit MCP3204 yg dilengkapi regulator tegangan sehingga kita bisa menggunakannya dengan tegangan kerja 5 volt. Module buatan Parallax ini bisa dilihat seperti gambar di atas. Data yang dihasilkan Module H48C diakses dengan komunikasi Synchronous Serial Interface.Microcontroller memerlukan 3 pin untuk komunikasi ini yakni Clokc, DI/O dan CS.

Untuk Contoh Programnya bisa diliahat dibawah ini,
(Untuk Passwordnya Hubungi My Facebook )

SENSOR GYROSCOPE LISY300

Sensor gyroscope yang saya gunakan ini adalah sebuah modul yang terdiri dari sensor Gyroscope LISY300AL dan ADC serial ADC101S021 yang dikeluarkan oleh PARALLAX Inc. Pada modul ini pun telah dilengkapi dengan regulator tegangan 3.3 V sebagai supply nya. Modul Sensor Gyroscope LISY300AL dapat mendeteksi kecepatan sudut (angular rate) satu axis, yaitu sumbu Z (yaw). Dan mampu membaca sampai ± 300°/s full scale.

[PROTOKOL KOMUNIKASI]
Pada dasarnya output dari sensor Gyroscope LISY300AL adalah berupa tegangan analog, tetapi oleh PARALLAX Inc, output dari sensor Gyroscope tersebut dibaca menggunakan ADC serial. Sehingga untuk mengakses modul ini kita harus menggunakan protokol kumunikasi SPI (Serial Peripheral Interface). Berikut adalah timing diagram cara mengakses Modul Sensor Gyroscope LISY300AL (ADC serial ADC101S021).
 Pada dasarnya untuk dapat mengakses Modul Sensor Gyroscope LISY300AL ini, sebenarnya kita hanya harus tau cara mengakses ADC serial ADC101S021, dikarenakan Sensor Gyroscope itu sendiri dibaca oleh ADC serial ADC101S021. Dari gambar diatas terlihat bahwa terdapat 3 jalur untuk mengakses ADC serial ADC101S021 yaitu CS, SCLK dan SDATA.
CS digunakan untuk meng-enable ADC serial ADC101S021 agar dapat diakses, harus beri logika LOW.
SCLK digunakan sebagai serial clock, dimana semua aplikasi yang berkomunikasi secara serial membutuhkan clock untuk mengaksesnya, maksimal kecepatan clock untuk mengakses ADC serial ADC101S021 adalah 4MHz.
Sedangkan SDATA adalah jalur data serial yang berasal dari ADC serial ADC101S021. Data yang berasal dari ADC serial ADC101S021 mempunyai 15 bit data. Yaitu 3 bit 0 (LOW) awal, 10 bit data ADC dan 2 bit 0 (LOW) akhir. Dimana 10 bit data ADC dimulai dari MSB dan diakhiri oleh LSB.
[SENSITIVITAS]
Dan sensor Gyroscope LISY300AL, mempunyai sensitivitas 3.3 mV/°/s. Dimana ADC serial ADC101S021 mempunyai pembacaan data 10 bit (0-1023 atau sebanyak 1024 step) dengan perkiraan 3.22 mV/step. Sehingga setiap perubahan setiap step adalah perubahan 1 derajat.
[ZERO RATE LEVEL]
Sebenarnya sensor Gyroscope LISY300AL sudah terkalibrasi dari pabriknya. Yaitu dengan supply tegangan 3.3 V akan menghasilkan zero rate level 1.65 V (tegangan offset atau Voffset). Nilai zero rate level ini terjadi ketika Gyroscope tidak melakukan kecepatan sudut (angular rate), atau sensor Gyroscope dalam keadaan diam. Atau dengan kata lain jika dibaca menggunakan ADC 10 bit, dengan range input ADC 0-3.3 V, maka didapat nilai ADC sebesar 512 untuk zero rate level (tidak terjadi percepatan sudut atau dalam keadaan diam). Jika sumbu Z bergerak searah jarum jam, maka nilai ADC akan berkurang (dibawah nilai zero rate levelnya), Jika bergerak berlawanan arah jarum jam maka nilai ADC akan bertambah (diatas zero rate levelnya).
Tetapi menurut datasheet Gyroscope LISY300AL:
“Zero-rate level describes the actual output signal if there is no angular rate present. For a 3.3 V powered sensor the absolute zero-rate output is ideally 1.65 V. Zero-rate level of precise MEMS sensors is, to some extent, a result of stress to the sensor and therefore zero-rate level can slightly change after mounting the sensor onto a printed circuit board or after exposing it to extensive mechanical stress. This value changes very little over temperature and also very little over time.”
[KALIBRASI]
Karena alasan diatas, maka terjadi penyimpangan untuk nilai zero rate levelnya, yaitu maksimal sekitar 512±24. Oleh karena itu harus dilakukan cara untuk dapat menentukan nilai zero rate level melalui kalibrasi.
Pada dasarnya nilai zero rate level sudah bisa kita tentukan sendiri, yaitu saat tidak terjadi kecepatan sudut (angular rate) atau gyroscope dalam keadaan diam. Sebagai contoh ketika saya baca keluaran Modul Sensor Gyroscope LISY300AL muncul nilai 511, 509, 504, 513 (berubah-ubah). Dari data tersebut bisa saja saya mengambil kesimpulan jika nilai zero rate levelnya adalah 507 (nilai tengahnya).
Pertanyaannya, mengapa nilainya tidak diam/statis? Jawabannya adalah sensor gyroscope bersifar dinamis, dimana sensor gyroscope mempunyai nilai saat terjadi  kecepatan sudut (angular rate). Sedangkan saat diam (tidak terjadi angular rate) maka nilainya adalah sama dengan zero rate level. Lalu nilainya yang berubah-ubah dikarenakan gyroscope mempunyai efek drift saat kondisi diam (saya tidak tahu istilah drift dalam bahasa indonesia). Hal ini adalah kebalikan dari sensor accelerometer, dimana sensor accelerometer bersifat statis. Oleh karena itu mengapa pada banyak aplikasi selalu menggabungkan dua buah sensor tersebut (gyroscope dan accelerometer).
Baiklah, berikut adalah cara melakukan kalibrasinya. Cara ini saya dapat dari program demo yang diberikan oleh PARALLAX Inc.
center (saya gunakan untuk mengganti istilah zero rate level)
data_gyro (hasil pembacaan ADC dari gyroscope melalui komunikasi SPI)
center(n)=(center(n-1)+data_gyro(n))/ n
dimana:
n = banyaknya sampling
center(n-1) = 0 (bernilai nol pada awalnya)
Semakin banyak n (sampling) maka semakin baik untuk mendapatkan nilai zero rate levelnya. Kalibrasi ini dilakukan hanya 1 kali pada awal program saja.

PROGRAM MOTOR EMS 30A H-BRIDGE

H-Bridge Ems ini mampu menggerakkan 1 buah motor dengan 2 arah gerakan cw (clockwise) dan  ccw (counter clock wise). mampu menggerakkan motorDC berkekuatan 30 Amper. Tegangan Output mulai dari 5 Volt sampai 40 volt. Driver motor buatan Innovative Electronics ini mampu diandalkan, karena ke stabilannya dalam menggerakkan MotorDC.

 Berikut Adalah Scematik dari EMS 30 A H-Bridge ini Klik DIsini

dalam Program ini menggunakkan Atmega 8535 untuk mengendalikan EMS tersebut. Di program ini terdapat cara menggerakan Motor Maju, Mundur, belok kiri dan kanan dengan menggunakan PWM
LCD di PORTB

Untuk Contoh Programnya bisa diliahat dibawah ini,
(Untuk Passwordnya Hubungi My Facebook )