Motor servo standard (servo rotation 180 ° ¿ jenis motor dengan putaran poros
outputnya terbatas hanya 90°ke arah kiri.
Motor servo rotation continuous merupakan jenis motor servo yang sebenarnya sama
dengan jenis servo standard, hanya saja perputaran porosnya tanpa Batasan atau
dengan kata lain dapat berputar terus, baik kearah kanan maupun kiri.
Saat lebar pulsa kendali telah diberikan, maka poros motor servo akan bergerak atau
berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi tersebut dan akan tetap
bertahan pada posisi tersebut. Jika ada kekuatan eksternal yang mencoba menahan atau
melawan dengan besarnya kekuatan torsi yang dimilikinya. Namum motor servo tidak akan
mempertahankan posisinya untuk selamanya, sinyal lebar pulsa kendali harus diulang setiap 20
ms untuk menginstruksi agar posisi poros motor servo tetap bertahan pada posisinya.
Gambar 2.2 adalah konfigurasi pin dari mikrokontroler Arduino Mega 2560 dengan penjelasan
fungsi-fungsinya sebagai berikut :
1. VCC adalah untuk masukan digital voltage supply.
2. GND adalah pin ground.
3. ADC Port (PF0 – PF7, PK0 – PK7) digunakan untuk input ADC (Analog to Digital
Converter).
4. Digital Port (PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD3, PE0, PE1, PE3-PE5, PG0-PG2, PG5,
PH0, PH1, PH3-PH6, PJ0-PJ1, PL0-PL7). Masing-masing dari 54 digital pin pada Arduino
Mega dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(),
digitalWrite(), dan digitalRead(). Arduino beroperasi pada tegangan 5 volt.
5. Serial:0 (RX) dan 1 (TX); serial 1:19 (RX) dan 18 (TX); serial 2:17 (RX) dan 16 (TX); serial
3:15 (RX) dan 14 (TX) digunakan untuk menerima (RX) dan mengirimkan (TX) data
serial TTL. Pin 0 dan 1 juga terhubung ke pin chip ATmega16U2 serial USB-to TTL.
6. Eksternal interupsi : pin 2 (interrupt 0), pin 3 (interrupt 1), pin 18 (interrupt 5), pin 19
(interrupt 4), pin 20 (interrupt 3) dan pin 21 (interrupt 2). Pin ini yang dapat
dikonfigurasikan untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau
menurun, atau perubah nilai.
7. SPI : Pin 50(MISO), pin 51(MOSI), pin 52(SCK), pin 53(SS). Pin ini mendukung
komunikasi SPI menggunakan perpustakaan SPI. Pin SPI juga tehubung dengan
header ICSP, yang secara fisik kompatibel dengan Arduino Uno, Arduino Duemilanove
dan Arduino Diecimila.
8. LED : Pin 13. Tersedia secara built-in pada papan arduino mega 2560. Led
terhubung ke pin digital 13. Ketika pin di-set bernilai HIGH, maka LED menyala
(ON), dan ketika pin di-set bernilai LOW, maka LED padam (OFF).
9. TWI : Pin 20 (SDA dan pin 21 (SCL). Yang mendukung komunikasi TWI menggunakan
perpustakaan Wire. Pin ini tidak di lokasi yang sama dengan pin TWI pada Arduino
Duemilanove dan Arduino Diecimila.
10. RESET : Jalur LOW ini digunakan untuk me-reset (menghidupkan ulang)
mikrokontroler. Jalur ini biasanya digunakan untuk menambahkan tombol resetpada
shield yang menghalangi papan utama Arduino.
11. XTAL1 dan XTAL2 berfungsi sebagai pin external clock.
12. AVCC adalah pin tegangan supplyuntuk ADC.
13. AREF. Referensi tegangan untuk input analog. Digunakan dengan fungsi
analogReference.
a. SETTING PERCOBAAN
PROSEDUR
1. Siapkan alat dan bahan yang diperlukan.
2. Siapkan PC dan buka aplikasi software Arduino IDE.
3. Program sesuai dengan ketentuan, hingga tidak terjadi error.
4. Sambungkan USB pada Arduino dengan PC hingga nyala sebuah indicator pada
mikrokontoler, artinya mikrokontroler dapat digunakan dengan baik.
5. Sambungkan kabel pada servo dengan port pada mikrokontroler. Port yang digunakan
yaitu port-13 yang terdiri dari Ground, VCC, dan Sinyal.
6. Pada LCD akan tampil waktu ON dengan satuan mikrosekon.
7. Ukur posisi sudut setiap putaran servo dnegan cara menggerakakan joystick hingga servo
berputar sebesar 180° .
8. Jika sudah dapat data, bandingkan dengan rumus :
θ
t(θ ¿= t(0) + ( t(180° ¿−t (0) ¿
180°
b. DATA HASIL PERCOBAAN
690 – 649,72
= X 100%
649,72
= 6,20%
c. Gambar Percobaan Praktikum
Selain melihat waktu dari Time-on sinyal PWM yang masuk sebagai kontrol gerakan
servo, dilihat juga gerakan lengan servo yang diukur tiap derajatnya dengan menggunakan busur.
Pengukuran derajat ini dilakukan dengan tujuan melihat berapa waktu Time-on yang dibutuhkan
servo untuk bergerak dengan nilai derajat. Pengaturan awal dari program arduino adalah 500
microsecond untuk setting 0 derajat, dan dilihat perkembangan tiap 10 derajat berapa waktu T-on
yang dibutuhkan untuk tiap nilainya.
Untuk menentukan hasil perhitungan dari Time-on tiap derajat dibutuhkan berapa waktu
Time-on ketika 0˚ dan ketika sudah 180˚. Dan dari pengaturan awal program di arduino dapat
dibuat rumus sebagai berikut :
θ
t(θ) = t(0) + (t(180˚) – t(0˚))
180˚
Error yang didapat dari percobaan ini bisa didapatkan dari beberapa faktor, antara lain
adalah jenis servo yang digunakan pada praktikum ini adalah jenis servo continous yang bergerak
360˚ sehingga ketika pada sudut 180˚ tidak berhenti pasti pada 180˚. Dan juga bisa dari jenis
busur yang digunakan adalah dari busur aplikasi android yang menggunakan kamera untuk
mengukur pergerakan sudutnya, berdasarkan dari percobaan yang dilakukan sudut kamera dan
posisi servo dari kamera bisa berpengaruh pada sudut pembacaan dan juga sangat sulit untuk
mengatur tetap posisi busur atau servo
KESIMPULAN
Kesimpulan dari praktikum ini adalah sudut perputaran pada servo ditentukan oleh
besarnya duty cycle atau Ton dari sinyal input, dimana semakin besar duty cycle maka akan
semakin besar pula perubahan sudut servo. Dalam kondisi menyala tanpa diberi sinyal input
maka servo akan otomatis menuju posisi 0 derajatnya (default).