



PERCOBAAN 12
BUAT RANGKAIAN MOTOR BRUSHLESS + ESC + ARDUINO (SBG
PENGGANTI FLIGHT CONTROL) DALAM PROTEUS
1. Tujuan : Agar
Bamasis mampu membuat buat rangkaian motor brushless + esc + arduino (sebagai
pengganti flight control) dalam proteus.
2. Alat dan bahan :
a. Laptop
b. Aplikasi proteus
3. Teori
a. Proteus
Proteus
adalah sebuah software yang digunakan untuk simulasi elektronika. Ini
memungkinkan pengguna untuk merancang, mensimulasikan, dan menguji berbagai
rangkaian elektronika sebelum implementasi fisiknya. Proteus memiliki berbagai
library komponen yang mencakup berbagai macam komponen elektronika seperti
mikrokontroler, sensor, aktuator, dan banyak lagi. Pengguna dapat membangun dan
menguji rangkaian elektronika secara virtual sebelum melakukan produksi atau
implementasi fisiknya.
b. Arduino
Arduino
adalah platform pengembangan open-source yang populer untuk elektronika DIY (Do
It Yourself). Ini terdiri dari board mikrokontroler yang dilengkapi dengan
input/output (I/O) dan lingkungan pengembangan perangkat lunak (IDE) yang mudah
digunakan. Arduino dapat digunakan untuk mengontrol berbagai macam perangkat
elektronik, termasuk motor brushless, melalui program yang ditulis dalam bahasa
Arduino yang berbasis C/C++.
c. ESC (Electronic Speed Controller)
Electronic
Speed Controller (ESC) adalah perangkat elektronik yang digunakan untuk
mengontrol kecepatan dan arah putaran motor brushless. ESC menerima sinyal
kontrol dari mikrokontroler atau sistem pengendali lainnya (misalnya, flight
controller pada drone) dan mengubahnya menjadi sinyal PWM (Pulse Width
Modulation) yang sesuai untuk mengatur kecepatan motor brushless. ESC umumnya
digunakan dalam aplikasi drone, RC (Remote Control) mobil, dan model-model RC
lainnya.
d. Motor Brushless
Motor
brushless adalah jenis motor elektrik yang tidak memiliki sikat (brush) seperti
motor DC konvensional. Motor ini menggunakan elektromagnetik untuk menggerakkan
rotor, yang membuatnya lebih efisien dan tahan lama dibandingkan dengan motor
DC sikat. Motor brushless umumnya digunakan dalam aplikasi yang membutuhkan
kecepatan dan efisiensi tinggi, seperti drone, mobil RC, pompa, dan aplikasi
industri lainnya.
4. Langkah- Langkah
Percobaan
1. Buka Proteus
2. Tambahkan Komponen-komponen:
a. Buka
mode Component Mode di Proteus.
b. Cari
dan tambahkan komponen-komponen berikut ke dalam desain:
1)
Arduino Uno: Sebagai pengendali
utama.
2)
Motor Brushless: Temukan motor brushless dalam library Proteus,
biasanya dapat ditemukan di bagian Motor atau Power.
3)
Electronic Speed Controller (ESC): Meskipun tidak ada komponen ESC
secara khusus di Proteus, Anda dapat menggantinya dengan sirkuit sederhana yang
menghasilkan sinyal PWM yang diharapkan oleh ESC.
4)
Potensiometer (opsional): Untuk mensimulasikan input ADC dari
Arduino.
3. Hubungkan Komponen:
Sambungkan komponen-komponen tersebut
sesuai dengan diagram berikut:
a)
Arduino Uno: Hubungkan pin output
PWM (biasanya pin 9) ke input kontrol ESC.
b) Motor Brushless: Hubungkan output dari ESC ke motor brushless.
c) Potensiometer (opsional): Hubungkan potensiometer ke pin ADC
Arduino (misalnya, A0) untuk mensimulasikan input analog.
4. Coding
// Pin ESC terhubung ke pin
9 Arduino
const int escPin = 9;
// Pin ADC yang digunakan
const int analogInPin = A0;
void setup() {
// Mengatur pin ESC sebagai output
pinMode(escPin, OUTPUT);
// Memulai komunikasi serial
Serial.begin(9600);
}
void loop() {
// Membaca nilai dari ADC
int sensorValue = analogRead(analogInPin);
// Mengonversi nilai ADC (0-1023) menjadi
kecepatan motor (0-255)
int throttleInput = map(sensorValue, 0, 1023,
0, 255);
// Mengontrol kecepatan ESC menggunakan
fungsi analogWrite
// Perlu konversi nilai dari 0-255 ke pulsa
PWM (untuk ESC sekitar 1000-2000 mikrodetik)
int escSpeed = map(throttleInput, 0, 255,
1000, 2000);
analogWrite(escPin, escSpeed);
// Menampilkan nilai ADC dan kecepatan motor
ke Serial Monitor
Serial.print("Nilai ADC: ");
Serial.print(sensorValue);
Serial.print(" | Kecepatan motor:
");
Serial.println(throttleInput);
delay(100); // Delay untuk stabilitas dan
mencegah bacaan berulang cepat dari ADC
}
5. Penjelasan cara kerja
- Setup:
- pinMode(escPin, OUTPUT);:
Mengatur escPin (pin 9) sebagai output untuk mengirimkan sinyal PWM ke
ESC.
- Serial.begin(9600);:
Memulai komunikasi serial untuk memantau nilai input dari ADC dan
kecepatan motor.
- Loop:
- analogRead(analogInPin);:
Membaca nilai analog dari pin analogInPin (A0) dan menyimpannya dalam sensorValue
(rentang 0-1023).
- map(sensorValue, 0, 1023,
0, 255);: Mengonversi nilai sensorValue dari rentang 0-1023 menjadi
rentang 0-255 yang akan digunakan sebagai input kecepatan motor.
- map(throttleInput, 0, 255,
1000, 2000);: Mengonversi nilai throttleInput (0-255) menjadi rentang
nilai PWM yang digunakan oleh ESC (sekitar 1000-2000 mikrodetik).
- analogWrite(escPin,
escSpeed);: Mengirimkan sinyal PWM ke pin escPin untuk mengatur kecepatan
ESC dan secara efektif mengatur kecepatan motor brushless.
- Delay:
- delay(100);: Memberikan
delay singkat untuk stabilitas dan mencegah bacaan berulang cepat dari
ADC.
Simulasi di
Proteus
- Upload Program ke Arduino:
- Salin kode Arduino di atas
dan tempelkan di Arduino IDE di Proteus.
- Klik
"Compile/Verify" untuk memastikan tidak ada kesalahan sintaks.
- Klik "Upload"
untuk mengunggah kode ke Arduino Uno dalam simulasi Proteus.
- Mulai Simulasi:
- Setelah mengunggah
program, mulai simulasi di Proteus.
- Monitor Hasil:
- Buka Serial Monitor di
Proteus untuk melihat nilai ADC yang dibaca dan kecepatan motor brushless
yang diatur berdasarkan input analog (potensiometer atau sumber lainnya).
Catatan
Penting:
- Pastikan model motor brushless, ESC, dan Arduino yang Anda gunakan
dalam Proteus sesuai dengan spesifikasi dan karakteristik yang diinginkan.
- Perhatikan pengaturan sumber daya (misalnya, tegangan dan arus)
agar sesuai dengan kebutuhan motor brushless dan ESC.
- Simulasi ini membantu untuk menguji dan memahami cara kerja sistem
kontrol kecepatan motor brushless dengan menggunakan Arduino sebagai
pengganti flight control dalam konteks simulasi Proteus.
6. Kesimpulan
Dalam simulasi menggunakan
Proteus, kami mengembangkan sistem kontrol kecepatan motor brushless dengan
menggunakan Arduino sebagai pengendali utama dan Electronic Speed Controller
(ESC) sebagai perantara untuk mengatur kecepatan motor. Input kecepatan diperoleh
dari sensor analog simulasi, seperti potensiometer, yang terhubung ke pin ADC
Arduino. Arduino membaca nilai analog ini dan mengonversinya menjadi nilai
kecepatan motor dalam rentang 0-255 menggunakan fungsi map(). Selanjutnya,
nilai kecepatan ini dikonversi menjadi sinyal PWM yang sesuai dengan
spesifikasi ESC (antara 1000 hingga 2000 mikrodetik) menggunakan analogWrite().
Sinyal PWM tersebut dikirimkan ke ESC melalui pin output Arduino, yang
selanjutnya mengatur kecepatan motor brushless sesuai dengan sinyal yang
diterima. Proses simulasi ini memungkinkan pengujian sistem secara virtual
sebelum implementasi fisik, memastikan bahwa desain dapat diuji, dioptimalkan,
dan disesuaikan tanpa perlu risiko atau biaya tambahan yang terkait dengan
prototipe fisik. Keseluruhan, integrasi antara Proteus, Arduino, ESC, dan motor
brushless dalam simulasi ini memfasilitasi pemahaman yang mendalam tentang
pengaturan dan kontrol motor brushless untuk aplikasi seperti drone atau
kendaraan tanpa awak lainnya.