Kamis, 04 Juli 2024

 Nama : Yudi Setiadi Sopandi

Nosis : 202207024-E

Telkommil Tkt 2 semester 4

KONTROL PWM SERVO MENGGUNAKAN ARDUINO UNO

1.       BUAT RANGKAIAN MOTOR BRUSHLESS + ESC + ARDUINO (SBG PENGGANTI FLIGHT CONTROL) 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.       BUAT 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, SEMAKIN BESAR FREKUENSINYA SEMAKIN CEPAT PUTARAN MOTORNYA SEMAKIN RENDAH FREKUENSI SEMAKIN RENDAH PUTARANNYA

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.

 

4.       JELASKAN CARA KERJANYA

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.

 

0 komentar:

Posting Komentar

Cari Blog Ini

Diberdayakan oleh Blogger.

BTemplates.com

MEMBUAT ROBOT HUMANOID