Diusulkan oleh:
i
i
Daftar Isi
Hal
Lembar Sampul i
Daftar Isi ii
Bab 1 – Introduction X
Bab 2 – Objective X
Bab 3 – Methodology X
Bab 4 – Concept and Technical Details X
Bab 5 – Evaluation and Conclusion X
Reference X
Lampiran (Code) X
i
BAB 1. Introduction
1
BAB 2. Objective
2
BAB 3. Methodology
Pada projek kali ini kami selaku penulis laporan menulis code yang dijalankan
di arduino sebagai mikrokontroller untuk mengendalikan DC motor yang
dihubungkan pada motor driver (LM298N) yang berguna sebagai pengendali arus
tinggi dan pengatur kecepatan serta arah pada DC motor.
Cara kerja sistem adalah dengan menulis code dengan menggunakan arduino
IDE sebagai perantara penghubung agar code dapat digenerate menjadi perintah
untuk perangkat Arduino. Lalu dengan terhubungnya arduino dengan DC motor dan
motor driver Arduino dapat mengatur nilai kecepatan motor dan mengubah arah putar
motor. Signal yang dikirim dari serial monitor software Arduino IDE berguna sebagai
pemberi perintah kepada arduino guna menjalankan perangkat agar sesuai dengan
kemauan pengguna. Dengan adanya motor driver pengguna dapat mengatur arah dan
3
kecepatan putaran motor. arah yang diatur dengan menggunakan H-Brige pada
LM298N dengan mengatur kombinasi on/off pada IN1, IN2, IN3 maupun IN4, pada
projek kali ini pembuat laporan menggunakan kombinasi high dan low pada code
untuk mengatur IN1 dan IN2. lalu untuk pengaturan kecepatan motor H-Brige
digunakan untuk mengatur besar energi yang masuk agar dapat mengontrol besar
tenganan dengan menggunakan teknik PWM.
4
BAB 4. Concept and Technical Details
Konsep Dasar:
Detail Teknis:
5
Digunakan untuk berkomunikasi dengan perangkat lain seperti
komputer, sensor, atau perangkat lainnya.
● USB Interface: Terdapat port USB untuk menghubungkan langsung
dengan komputer. Digunakan untuk mengunggah program dan
komunikasi serial.
● Power Supply: Dapat ditenagai melalui port USB atau adaptor listrik
eksternal (7-12V DC). Memiliki regulator tegangan internal yang
menghasilkan 5V untuk komponen elektronik.
● ICSP (In-Circuit Serial Programming): Port ini memungkinkan
pengunggahan program melalui programmer eksternal.
● GPIO Header: Header "GND" dan "5V" memberikan sumber daya dan
referensi tanah untuk proyek.
● Perangkat Lunak: Diprogram menggunakan Arduino IDE dengan
bahasa C/C++ yang disederhanakan.
Konsep Dasar:
Detail Teknis:
6
● Input dan Output Pins: Setiap motor memiliki dua input kontrol untuk
maju dan mundur, serta pin enable (ENA dan ENB) untuk mengatur
kecepatan motor melalui PWM.
● Power Supply: Memerlukan sumber daya eksternal untuk motor,
biasanya sesuai dengan spesifikasi motor. Tegangan kontrol berasal
dari mikrokontroler (biasanya 5V).
● Current Sensing: Beberapa versi L298N memiliki resistor sensing
untuk mengukur arus ke motor. Ini dapat digunakan untuk memantau
beban pada motor.
● Protection Features: Beberapa versi dilengkapi dengan perlindungan
tegangan berlebih dan arus berlebih untuk mencegah kerusakan.
Konsep Dasar:
Detail Teknis:
7
● Sistem Kontrol: Menerima informasi dari sensor umpan balik dan
membandingkannya dengan setpoint. Menghasilkan sinyal kontrol
untuk mengoreksi posisi atau kecepatan rotor.
● PID Controller: Menggunakan pengontrol PID (Proporsional-Integral-
Derivatif) untuk sinyal kontrol yang tepat.
● Feedback Loop: Proses umpan balik terjadi dalam loop berulang:
Sensor mengukur posisi, sistem kontrol membandingkan dengan
setpoint, dan sinyal kontrol dikirimkan ke driver motor.
8
BAB 5. Evaluation and Conclusion
Dengan dibuatnya projek ini diharapkan pembaca serta pembuat laporan dapat lebih
paham dan mendalami terkait pengaplikasian arduino pada bidang elektronik. Dengan
dibuatnya projek ini penulis laporan dan pembaca dapat memahami bagaimana cara
kerja dari tiap tiap komponen baik arduino, motor driver maupun DC motor dengan
encoder. Selain memahami cara kerja penulis laporan pembaca dapat memahami pula
bagaimana komponen komponen dapat dibuat menjadi suatu alat yang mungkin dapat
berguna bagi kehidupan. Dengan menyusun komponen komponen agar dapat
mengendalikan baik kecepatan maupun arah dari motor diharapkan baik penulis
laporan maupun pembaca dapat mengembangkan kreativitas terkait projek tersebut.
Lalu dengan dibuatnya projek ini kami juga dapat mengerti bahwa projek masih
belum sempurna karena masi terjadi beberapa bug terkait code yang dibuat.
9
REFERENCE
https://curiores.com/positioncontrol
https://www.youtube.com/watch?v=QVsNu8hVk0Y&t=243s
10
Lampiran (Code)
int pwm;
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pwm = 0;
}
void loop() {
if (Serial.available() > 0) {
char incomingdata = Serial.read();
switch (incomingdata) {
case 'z':
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
Serial.println("Direction: Counter-Clockwise");
break;
case 'x':
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
Serial.println("Direction: Clockwise");
break;
case 's':
digitalWrite(2, LOW);
digitalWrite(3, LOW);
Serial.println("Direction: Stop");
break;
11
case 'v':
if (pwm >= 255) {
pwm = 0;
} else {
pwm = pwm + 10;
}
analogWrite(2, pwm);
digitalWrite(3, LOW);
Serial.print("Direction: Counter-Clockwise, ");
Serial.print("PWM value: ");
Serial.println(pwm);
break;
case 'b':
if (pwm >= 255) {
pwm = 0;
} else {
pwm = pwm + 10;
}
digitalWrite(2, LOW);
analogWrite(3, pwm);
Serial.print("Direction: Clockwise, ");
Serial.print("PWM value: ");
Serial.println(pwm);
break;
}
}
}
12
Berikut link video kami cantumkan:
https://drive.google.com/drive/folders/11KIZSzBij4lIWGZWIer8cyY9vTS0Nlu2?
usp=sharing
13