Cara Menangani Motor Servo DS04-NFC dengan Arduino

Motor servo adalah motor yang memiliki feedback sensor yang melaporkan posisi/sudut putaran motor saat berputar. Nah, berangkat dari pengertian ini yang awalnya yang membuat saya ‘tertipu’ 🙁 . Kalo motor DS04 ini nama pasarannya adalah ‘motor servo’ DS04-NFC. Tetapi pada kenyataannya, motor tipe ini tidak memiliki feedback sensor yang dapat dibaca untuk mengetahui posisi putaran saat ini. Feedback sensor ini dapat berupa potensiometer atau encoder yang berlubang-lubang yang dibaca dengan optocoupler. Motor DS04 ini saya buka casing-nya ternyata tidak memiliki keduanya. Jadi istilah yang tepat untuk tipe motor ini adalah motor ‘continous rotation’ 3600. [AdSense-B]

Spesifikasi Motor ‘Servo’ DS04-NFC

Motor DS04 ini memiliki spesifikasi teknis sebagai berikut:

-Torsi: 5.5 kg/cm (at 4.8 V)
-Kecepatan: 0.22SEC/60 (at 4.8 V)
-Tegangan kerja: 4.8V‐6V
-Suhu: 0C ‐60C
-Arus: < 1000mA
-Berat: 38g
-Dimensi: 7.4 x 1.7cm

Cara Mengendalikan Motor DS04 – Arduino

Untuk mengendalikan motor DS04 dengan Arduino caranya cukup mudah. Tapi ingat ya, motor ini bukan motor servo, jadi cara pengendaliannya juga berbeda dengan motor servo. Kalau motor servo, Anda cukup mengeluarkan perintah servo.write (sudut_tujuan) untuk menggerakkan motor ke sudut tujuan (contoh: servo.write (90) untuk menggerakkan motor ke sudut 900). Nah, untuk motor ‘servo’ DS04-NFC ini cara pengendaliannya berbeda. Anda harus mengeluarkan pulsa PWM dengan duty cycle tertentu. Duty cycle tersebut adalah sebagai berikut:

2000 : putar kanan (clockwise = CW)

1500 : berhenti

1000 : putar kiri (counter clockwise = CCW)

Jika Anda memberikan pulsa PWM dengan nominal 1000, maka motor DS04 akan terus berputar (continous rotation) ke kiri. Motor ini akan terus berputar sampai Anda mengeluarkan pulsa PWM dengan duty cycle 1500. Sampai di sini sudah terlihat dengan jelas perbedaannya dengan motor servo bukan?

Gambar Rangkaian Motor DS04-NFC – Arduino

Untuk mulai percobaan motor DS04 dengan Arduino, silahkan hubungkan keduanya dengan konfigurasi sebagai berikut :

Arduino Motor DS04-NFC
5V merah
Gnd hitam
9 putih

cara-menangani-motor-servo-ds04-nfc-dengan-arduino

Sketch Motor DS04-NFC – Arduino

Dari sisi software-nya, untuk mengeluarkan pulsa PWM dengan duty cycle tertentu, Anda dapat menggunakan perintah ‘writeMicroseconds (duty_cycle)’. Berikut ini adalah contoh mengendalikan motor DS04-NFC dengan Arduino. Jika Anda meng-upload source code di bawah, maka motor DS04 Anda akan berputar ke kanan (CW) selama 5000 milidetik (5 detik), berputar ke kiri (CCW) selama 3000 milidetik kemudian berhenti

/*
* Program Motor DS04-NFC – Arduino
* saptaji.com
*/
#include <Servo.h>

Servo myservo;
int pos;

void setup()
{
  myservo.attach(9);
  myservo.writeMicroseconds(2000);  // putar kanan
  delay(5000);
  myservo.writeMicroseconds(1000);  // putar kiri
  delay(3000);
  myservo.writeMicroseconds(1500);  // berhenti
  delay(100);
}

void loop() {
}

Demikian sedikit tutorial Cara Menangani Motor ‘servo’ DS04-NFC dengan Arduino. Anda dapat mengembangkan source code/sketch di atas sesuai dengan kebutuhan Anda. Motor DS04-NFC ini cocoknya untuk aplikasi yang membutuhkan putaran motor yang kontinyu (> 3600). Contohnya adalah untuk menggerakkan robot atau smart car. Motor ini tidak cocok untuk aplikasi yang membutuhkan akurasi posisi motor berdasarkan sudut putaran. Untuk kebutuhan seperti ini Anda harus menggunakan motor servo yang sebenarnya. Pada tutorial berikutnya, akan saya sajikan cara memodifikasi motor DS04-NFC menjadi motor servo ‘sejati’ 😉 . Stay tune on this blog. [AdSense-A]

4 1 vote
Article Rating

Leave a Reply

24 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
aprilindo

mau nanya mas..
gmna ngatur putaran motor DC, kalau ada sensor baru berputar?
soalnya sya coba, di kasi arus motor dc ya langsung berputar

Ardis

mau nanya kak, kalo sensor ldr bisa bekerja secara maksimal terhadap motor servo seperti apa ya, soalnya sensor ldr saya tidak dapat bekerja secara maksimal terhadap motor servo

samsul ma'arif

master klo mau ngubah putaran yg tadinya 360derajat menjadi 180 derajat kaya gimana ?

klen

mas untuk servo DS04-NFC ini untuk kontrol arah sudut dan stopnya lebih baik seperti apa ya?
kalo menggunakan delay kadang servo DSnya tidak langsung berhenti (ada lebamnya sehingga posisi berhentinya berbeda-beda)

eko budi

kak saya mau tanya..gmn caranya supaya servo itu berputar sesuai dengan tombol yg ditekan.ada 2 tombol untuk berpugar kekanan dan kiri..jika kiri ditekan motor bergerak kekiri kalu di lepas motor stop dan kanan ditekan motor kekanan kalau dilepas stop..jadi lama tidaknya motor berputar tergantung lamanya tombol ditekan..mohon pencerahannya ya kak..saya sedang belajar arduino sama servo ini..

andi

Mas brarti code writemicrosecond bisa buat control arah putaran motor dc yg memakai ESC dong ya?

Insan

Yang masih saya bingungkan angka 2000, 1500, 1000…itu apa yaa mas?

Roy

Mas saya udah cma yg buat berhenti itu tapi ko masih muter ke kiri ya mas?

Dina

ka ketika pwmnya dikasi 2000 motor bisa muter, ketika pwmnya dikasih 1000 motor muter berbalik arah. tapi klau pwmnya dikasih 2000 lagi di tetep muter seperti pwmnya 1000. saya pake motor mg995

Dina

itu knpa ya ka?

venna

saya mau tanya mas, saya mau skripsi dan saya berencana membuat regulator otomatis untuk menghentikan aliran gas LPG saat terjadi kebocoran. jadi kalo terjadi kebocoran LPG regulator otomatis menutup katubnya sehingga aliran gas nya terhenti. nah apa motor servo ini bisa sebagai pengganti katubnya tersebut kalo bisa mohon sedikit pnjelasannya. ohya disini saya makek arduino uno

dipta

Mas, saya mengalami kendala saat menggabungkan program (motor servo+ultrasonik) dan (tcrt5000+l298n. tiap sub program sudah berjalan normal, tapi ketika digabungkan, motor dc tidak mau berputar. saat saya hapus my servo attach (pin), jadinya motor dc bisa berputar lagi, mohon pencerahannya agar servo saya dan motor dc nya semua bisa bekerja. terimakasih.

utin

mohon maaf mau tanya kak, jadi kami pake arduino uno untuk sensor Raindrop dan servo (atap jemuran otomatis). minggu lalu rangkaian alat ini berhasildan berfungsi dengan baik, kemudian seminggu setelahnya kami coba lagi akan tetapi sensor raindrops dan servonya tidak berfungsi lagi data yang masuk tidak sesuai, itu bagiamaan ya solusinya ? terimakasih

24
0
Would love your thoughts, please comment.x
()
x