Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Mengendalikan Motor Servo Arduino Melalui Serial Monitor

Motor Servo Arduino

Cara Mengendalikan Motor Servo Arduino Melalui Serial Monitor - Dalam beberapa aplikasi projek, kita akan mengontrol atau mengendalikan motor servo melalui komunikasi serial. Dengan menggunakan Arduino kita dapat dengan mudah melakukan ini

Cara Mengendalikan Motor Servo Arduino Melalui Serial Monitor, Servo Tower Pro MG996R, Tower Pro SG5010, AX12 Dynamixel, Tower Pro SG90, Tower Pro MG90, Savox 1268SG, Savox 1267, Savox 1251, Savox 1256, Savox 1258, servo Tecnica, Bosch servo, Lenze servo, Elmo Motion, Beckhoff Servo Drive, Omron Servo, Servo Parker, Lenze 9400, Kuka servo motor, Mitsubishi servo drive, Siemenst sinamic v90, ABB servo motor, Allen Bradley servo motor, Hiwin servo, Panasonic mbdjt2210 servo drive.
Motor Servo Arduino Serial

A. Pengertian Motor Servo

Servo adalah motor yang dapat dikontrol untuk memutar ke tingkat tertentu. Secara umum motor servo ini dapat berputar dari 0 derajat hingga 180 derajat.

Beberapa dapat berputar hingga 360 derajat. Motor ini memiliki tiga kabel. Dua di antaranya adalah + dan - dan satu untuk data. Kabel data digunakan untuk mengontrol rotasi motor servo.

Motor servo ini merupakan komponen utama dalam robot, servo robot, mobil RC dan pesawat RC. Untuk mengendalikan motor servo ini sangat mudah.

Dengan bantuan perpustakaan Servo.h yang telah disediakan pada Arduino IDE, kita cukup memasukkan jumlah derajat putaran motor, maka motor servo arduino akan berputar sesuai dengan jumlah derajat yang kita inginkan.

Servo populer yang digunakan untuk tutorial ini adalah Servo Tower Pro MG996R, Tower Pro SG5010, AX12 Dynamixel, Tower Pro SG90, Tower Pro MG90, Savox 1268SG, Savox 1267, Savox 1251, Savox 1256, Savox 1258.


B. Konsep PWM Pada Motor Servo

Motor servo bekerja berdasarkan modulasi lebar pulsa (PWM). PWM adalah metode untuk mendapatkan nilai analog atau voltase dari nilai digital. Tegangan 0-5 volt digambarkan menjadi nilai digital 0-255.

Namun, untuk menggambarkan seberapa besar siklusnya, servo PWM menggunakan persen. Perhatikan contoh berikut:

Pin Arduino hanya menghasilkan tegangan maksimum 5 volt. Jadi, lebar pulsa kecil akan menghasilkan tegangan berayun 0-5 volt.

Cara Mengendalikan Motor Servo Arduino Melalui Serial Monitor, Servo Tower Pro MG996R, Tower Pro SG5010, AX12 Dynamixel, Tower Pro SG90, Tower Pro MG90, Savox 1268SG, Savox 1267, Savox 1251, Savox 1256, Savox 1258, servo Tecnica, Bosch servo, Lenze servo, Elmo Motion, Beckhoff Servo Drive, Omron Servo, Servo Parker, Lenze 9400, Kuka servo motor, Mitsubishi servo drive, Siemenst sinamic v90, ABB servo motor, Allen Bradley servo motor, Hiwin servo, Panasonic mbdjt2210 servo drive.

Semakin lebar pulsa dalam siklus sinyal, semakin besar tegangan analog yang dihasilkan. Menulis nilai jika kita menggunakan perintah "analogWrite ()" adalah sebagai berikut:

    analogWrite (0)      = 0%     = 0 volt
    analogWrite (64)    = 25%   = 1,25 volt
    analogWrite (127)  = 50%   = 2.5 volt
    analogWrite (191)  = 75%   = 3,75 volt
    analogWrite (255)  = 100% = 5 volt

Frekuensi yang digunakan dalam siklus adalah 50Hz.

C. Cara Memutar Servo ke Posisi Tertentu

Kini kita akan coba memutar motor servo arduino. Umumnya untuk menggerakkan motor servo, waktu siklus maksimum 2ms diperlukan. 1ms untuk 0 °, 1,5ms untuk 90 ° dan 2ms untuk 180 °. Lihatlah gambar berikut:

 Cara Mengendalikan Motor Servo Arduino Melalui Serial Monitor, Servo Tower Pro MG996R, Tower Pro SG5010, AX12 Dynamixel, Tower Pro SG90, Tower Pro MG90, Savox 1268SG, Savox 1267, Savox 1251, Savox 1256, Savox 1258, servo Tecnica, Bosch servo, Lenze servo, Elmo Motion, Beckhoff Servo Drive, Omron Servo, Servo Parker, Lenze 9400, Kuka servo motor, Mitsubishi servo drive, Siemenst sinamic v90, ABB servo motor, Allen Bradley servo motor, Hiwin servo, Panasonic mbdjt2210 servo drive.

Kami akan membahas program yang akan digunakan dalam tutorial ini, tetapi sebelumnya silakan menghubungkan Arduino dan Servo Motor seperti pada gambar ini.

Cara Mengendalikan Motor Servo Arduino Melalui Serial Monitor, Servo Tower Pro MG996R, Tower Pro SG5010, AX12 Dynamixel, Tower Pro SG90, Tower Pro MG90, Savox 1268SG, Savox 1267, Savox 1251, Savox 1256, Savox 1258, servo Tecnica, Bosch servo, Lenze servo, Elmo Motion, Beckhoff Servo Drive, Omron Servo, Servo Parker, Lenze 9400, Kuka servo motor, Mitsubishi servo drive, Siemenst sinamic v90, ABB servo motor, Allen Bradley servo motor, Hiwin servo, Panasonic mbdjt2210 servo drive.


D. Program Motor Servo

1. Program Dasar Servo Drive

Perintah untuk menggerakkan motor servo ini pada Arduino IDE adalah "analogWrite ()". Berikut adalah program servo dasar:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#include <Servo.h> 

Servo myservo;

void setup() 
{ 
  myservo.attach(9); //Pin PWM
  myservo.write(90); // 90 adalah derajat 
} 

void loop() {}

2. Program Konversi Char ke Int

Jika kita mengirim nilai monitor serial, 90 misalnya, dengan tujuan memutar servo ke 90 derajat, ini tidak akan berhasil. Karena nilai yang kami terima dari monitor serial adalah karakter atau tipe data char.

Sedangkan nilai yang kita butuhkan untuk menentukan posisi motor servo adalah nilai dengan tipe data integer.

Untuk mengubah tipe data dari char ke int kita dapat menggunakan perintah "Serial.parseInt ()". Untuk tutorial tentang mengonversi tipe data dari monitor serial, baca di sini.

Berikut ini adalah perintah dasar untuk mengonversi nilai dari monitor serial ke nilai integer:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
void setup(){
  Serial.begin(9600);
}

void loop(){
  while (Serial.available() != 0){
    int val = Serial.parseInt();
    Serial.println(val);
    delay(20);
  }
}

3. Kontrol Servo Menggunakan Serial Monitor

Kami akan menggunakan arduino sebagai program dasar servo pengontrol dan mengonversi nilai di atas untuk menggerakkan motor servo, sebagai berikut:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <Servo.h>

Servo myServo;

void setup() {
  Serial.begin(9600);
  myServo.attach(9);
}

void loop() {
  while (Serial.available() != 0) {
    int val = Serial.parseInt();
    Serial.println(val);
    myServo.write(val);
    delay(5);
  }
}

Program di atas telah dicoba dan berhasil. Di atas adalah panduan dasar tentang cara kerja servo. 

Jika Anda memahami ini, kemungkinan besar anda dapat memahami cara mengontrol kecepatan tinggi, high-speed servo and hybrid servo drives such as 5kg servo motor, 15kg servo motor, 20kg servo motor, 30kg servo motor, 100kg servo motor.

Produsen terkenal seperti servo Tecnica, Bosch servo, Lenze servo, Elmo Motion, Beckhoff Servo Drive, Omron Servo, Servo Parker, Lenze 9400, Kuka servo motor, Mitsubishi servo drive, Siemenst sinamic v90, ABB servo motor, Allen Bradley servo motor, Hiwin servo, Panasonic mbdjt2210 servo drive.

Terima kasih telah mengunjungi website Kini Saya Ngerti dan semoga bermanfaat.

Posting Komentar untuk "Cara Mengendalikan Motor Servo Arduino Melalui Serial Monitor"