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:
- Buka Proteus dan buat proyek baru.
- Tambahkan komponen berikut dari library:
- Arduino Uno
- Motor Brushless
- ESC
- Potensiometer
- Sumber daya (baterai)
- 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.
- 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
- 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.
- 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.
- 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
Posting Komentar