KONTROL PWM SERVO MENGGUNAKAN ARDUINO UNO

 

1. Membuat Rangkaian Motor Brushless + ESC + Arduino dalam Proteus

Untuk membuat rangkaian motor brushless menggunakan ESC dan Arduino di Proteus, berikut adalah langkah-langkahnya:

Komponen yang dibutuhkan:

  • Arduino Uno
        

  • ESC (Electronic Speed Controller)
           

  • Motor Brushless
           

  • Potensiometer (untuk input frekuensi)
        

  • Baterai atau sumber daya
        

Langkah-langkah:

  1. Buka Proteus dan buat proyek baru.
  2. Tambahkan komponen berikut dari library:
    • Arduino Uno
    • Motor Brushless
    • ESC
    • Potensiometer
    • Sumber daya (baterai)
  3. Rangkaian Dasar:
    • Sambungkan pin sinyal ESC ke salah satu pin PWM pada Arduino, misalnya pin 9.
    • Sambungkan kabel daya ESC ke sumber daya (baterai).
    • Hubungkan motor brushless ke ESC.
    • Hubungkan potensiometer dengan pin analog Arduino, misalnya A0.
  4. Skema Rangkaian:
    • ESC Signal (White/Yellow) -> Arduino PWM pin (9)
    • ESC Ground (Black) -> Arduino Ground (GND)
    • ESC Power (Red) -> Baterai positif
    • ESC Ground -> Baterai negatif
    • Potentiometer VCC -> Arduino 5V
    • Potentiometer GND -> Arduino GND
    • Potentiometer output -> Arduino A0

2. Coding untuk Mengatur Kecepatan Motor Brushless

Berikut adalah contoh kode untuk mengatur kecepatan motor brushless menggunakan Arduino:

cpp

Salin kode

#include <Servo.h>

 

Servo esc; // membuat objek Servo untuk mengontrol ESC

 

int potPin = A0; // Pin analog untuk potensiometer

int potValue; // Variabel untuk menyimpan nilai potensiometer

int escPin = 9; // Pin PWM untuk mengontrol ESC

 

void setup() {

  esc.attach(escPin); // Menghubungkan ESC ke pin 9

  Serial.begin(9600); // Memulai komunikasi serial

}

 

void loop() {

  potValue = analogRead(potPin); // Membaca nilai potensiometer (0-1023)

  int escValue = map(potValue, 0, 1023, 1000, 2000); // Mapping nilai potensiometer ke nilai PWM (1000-2000)

  esc.writeMicroseconds(escValue); // Mengirim sinyal PWM ke ESC

 

  Serial.print("Potentiometer Value: ");

  Serial.print(potValue);

  Serial.print(" - ESC Value: ");

  Serial.println(escValue);

 

  delay(50); // Delay kecil untuk stabilitas

}

3. Input Data pada Arduino pada ADC Pin 0

Potensiometer akan digunakan untuk mengatur kecepatan motor dengan memberikan nilai analog ke pin A0 Arduino. Nilai ini akan dibaca oleh Arduino dan di-mapping untuk menghasilkan sinyal PWM yang sesuai ke ESC.

Hasil praktikum :

4. Cara Kerja

  1. Input Frekuensi:
    • Potensiometer berfungsi sebagai input untuk mengubah nilai analog yang dibaca oleh pin ADC (A0) pada Arduino.
    • Semakin tinggi nilai potensiometer, semakin besar frekuensi yang dihasilkan dan dikirim ke ESC.
  2. Pengaturan Kecepatan:
    • Arduino membaca nilai analog dari potensiometer menggunakan analogRead().
    • Nilai analog (0-1023) di-mapping ke nilai PWM (1000-2000) menggunakan fungsi map().
    • Nilai PWM ini dikirim ke ESC menggunakan fungsi writeMicroseconds() dari library Servo.
  3. ESC dan Motor Brushless:
    • ESC menerima sinyal PWM dari Arduino dan mengatur daya yang dikirim ke motor brushless sesuai dengan sinyal tersebut.
    • Motor brushless berputar dengan kecepatan yang sesuai dengan sinyal PWM yang diterima dari ESC.

Dengan langkah-langkah di atas, Anda dapat membuat rangkaian untuk mengontrol kecepatan motor brushless menggunakan Arduino dan Proteus.

 




Komentar

Postingan Populer