Anda di halaman 1dari 9

2/26/2020 sonoku.

com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/

BLOG LEARN SUPPORT

Implementasi Fuzzy Logic


Controller untuk Kontrol
Kecepatan Motor DC
pada Prototype Kipas
Angin
June 20, 2015, 8:35 am Posted in Arduino, Education, Learn,
Lectures Electronics Project, Fuzzy, Kit Mikrokontroler,
Kontrol Leave a comment

Artikel ini membahas perancangan sebuah aplikasi dengan


menggunakan mikrokontroler Arduino yang dapat berguna
sebagai alat untuk mengaktifkan atau menonaktifkan kipas
angin pada suatu ruangan. Perancangan sistem ini dilengkapi
dengan beberapa perangkat keras yaitu sebuah motor DC
1000 rpm, baling-baling, sensor ultrasonic, sensor suhu
LM35, Arduino Uno, rangkaian driver motor dan baterai 10
Volt. Rancangan dari sistem ini digunakan untuk mengatur
putaran kipas angin yang disesuaikan dengan temperatur
dan jarak dari suatu objek. Adapun diagram hardware nya
sebagai berikut :

Gambar 1. Diagram Blok Sistem

Tujuan dari percobaan ini mengatur kecepatan putaran


motor. Sistem pengontrolan kecepatan tersebut dilakukan
dengan cara membaca nilai sensor yang kemudian diubah
menjadi nilai tegangan yang mewakili keadaan sistem.
Bagian-bagian dari hardware:

sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 1/9
2/26/2020 sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/

Mikrokontroler berfungsi sebagai otak dari sistem.


Sebagai otak dari sistem, mikrokontroller ini akan
berfungsi membaca nilai sensor LM35 dan ultrasonic
yang kemudian akan diproses menjadi sebuah nilai
RPM yang nilainya akan diberikan kepada driver
motor.
Data dari sensor LM35 dan ultrasonic kemudian akan
di proses oleh mikrokontroler. Data tersebut berupa
tegangan yang menjadi nilai input yang kemudian
diolah menggunakan fuzzy logic controller.
Motor driver DC berfungsi sebagai pengatur kecepatan
motor dengan input yang diberikan oleh
mikrokontroler menuju motor.
Baterai merupakan sumber tegangan untuk masing-
masing hardware yang membutuhkan.

Berikut ini adalah tabel koneksi pin Arduino dan IC L293d


yang digunakan :

Tabel 1. Koneksi Pin Arduino

Masing-masing penggunaan pin yang terdapat pada Tabel 1.


akan diinsialisasikan pada program Arduino sebagai langkah
awal pembacaan data. SedangkanTabel 2. menunjukkan
koneksi yang terdapat pada rangkaian tersebut berfungsi
untuk mengatur PWM motor yang dalam hal ini bernilai 0 –
255. Nilai tersebut akan diatur melalui sebuah formula di
kode program Arduino.

Tabel 2. Koneksi Pin L293D

sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 2/9
2/26/2020 sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/

Perancangan Fuzzy Logic Controller


Tahapan perancangan software terdiri dari perancangan
fuzzy logic controller yang menggunakan software Arduino.
Digunakan Serial Monitor software Arduino untuk
menampilkan hasil pembacaan sistem. Dari data tersebut
akan diamati respon dari kontrol yang digunakan. Sistem
dikendalikan menggunakan metode Fuzzy Logic Controller.
Pada percobaan ini, input yang digunakan berjumlah 2 buah
yaitu sensor suhu LM35 dan sensor ultrasonik PIR. Nilai
tersebut akan berpengaruh pada kecepatan motor DC yang
pada percobaan ini diatur melalui penetapan nilai PWM.
Terdapat 3 buah nilai PWM yaitu 100 untuk kecepatan motor
lambat, 200 untuk kecepatan motor sedang dan 250 untuk
kecepatan motor cepat.

Proses Fuzzy Logic Controller ini akan diterapkan melalui


coding Arduino Uno. Langkah awal dalam proses algoritma
software ini adalah inisialisasi variable yang digunakan
sebagai berikut:

1 //Sensor Ultrasonic
2 #include <NewPing.h>
3 #define TRIGGER_PIN  4  // Arduino pin tied to trigger p
4 #define ECHO_PIN     6  // Arduino pin tied to echo pin
5 #define MAX_DISTANCE 50 // Maximum distance we want to p
6 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // N
7  
8 float sensorUS;
9 int enablePin = 11;
10 int in1Pin = 10;
11 int in2Pin = 9;
12 int switchPin = 7;
13 float defuz, pwm;
14  
15 //Sensor Suhu
16 float PinSuhu = A2;
17 int vin;
18 int PinUS = A1;
19 float sensorSuhu;
20 float temp;
21  
22 //Rule Base

sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 3/9
2/26/2020 sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/
23 float suhu [3];
24 float jarak [3];
25 float rule [3][3];
26 float rule00, rule01, rule02;
27 float rule10, rule11, rule12;
28 float rule20, rule21, rule22;

Adapun source code pembacaan sensor dan driver motor


sebagai berikut :

1 //suhu
2   vin = analogRead(PinSuhu);
3   sensorSuhu = (500*vin)/1024;
4   // ultrasonic
5 unsigned int uS = sonar.ping();  // Send ping, get ping
6   sensorUS = (sonar.convert_cm(uS)); // Convert ping tim
7 void setMotor(int speed, boolean reverse)
8 {
9   analogWrite(enablePin, speed);
10   digitalWrite(in1Pin, ! reverse);
11   digitalWrite(in2Pin, reverse);
12 }

Setelah inisialisasi variable dan pembacaan sensor, langkah


selanjutnya merancang Fuzzy Logic Controller. Fuzzy Logic
Controller tersebut dibagi menjadi 3 tahap yaitu :

1. Kode Program Fuzzi kasi


Pada percobaan ini, masing-masing sensor memiliki fungsi
keanggotaan yang terdiri dari 3 keanggotaan. Fungsi
keanggotaan sensor suhu (LM35) terdiri dari Dingin, Hangat
dan Panas. Hal ini ditunjukkan pada Gambar 3 di bawah ini.

Gambar 3. Fungsi Keanggotaan Suhu

Berikut ini merupakan source code dari fuzzi kasi sensor


suhu.

1 void FuzzySuhu(){
2   // untuk suhu dingin
3   if (sensorSuhu <= 22.5)
4   { suhu [0] = 1;}
5   else if (sensorSuhu > 22.5 && sensorSuhu <= 25)
6   {  suhu [0] = (25 - sensorSuhu)/(25 - 22.5); }
7   else
8   { suhu [0] = 0;}
9  
10   // untuk suhu hangat
11   if (sensorSuhu <= 22.5)

sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 4/9
2/26/2020 sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/
12   { suhu [1] = 0;}
13   else if (sensorSuhu > 22.5 && sensorSuhu <= 25)
14   { suhu [1] = (sensorSuhu-22.5)/(25-22.5);}
15   else if (sensorSuhu > 25 && sensorSuhu <= 27.5)
16   { suhu [1] = (27.5-sensorSuhu)/(27.5 - 25);}
17   else
18 { suhu [1] = 0;}
19  
20   // untuk suhu panas
21   if (sensorSuhu <= 25)
22   { suhu [2] = 0;}
23   else if (sensorSuhu > 25 && sensorSuhu <= 27.5)
24   { suhu [2] = (sensorSuhu-25)/(27.5-25);}
25   else
26   { suhu [2] = 1;}
27 }

Untuk sensor ultrasonic juga memiliki 3 fungsi keanggotaan


yaitu Dekat, Sedang, dan Jauh seperti yang ditunjukkan pada
Gambar 4. Adapun fungsi dari sensor ini untuk mengukur
jarak dari suatu objek yang terdeteksi.

Gambar 4. Fungsi Keanggotaan Jarak

Berikut ini merupakan source code dari fuzzi kasi sensor


ultrasonic

1 void FuzzyJarak(){
2 // untuk  kondisi dekat
3   if (sensorUS <= 10)
4   { jarak [0] = 1;}
5   else if (sensorUS > 10 && sensorUS <= 20)
6   {  jarak [0] = (20 - sensorUS)/(20 - 10); }
7   else
8   { jarak [0] = 0;}
9  
10   // untuk kondisi sedang
11   if (sensorUS <= 10)
12   { jarak [1] = 0;}
13   else if (sensorUS > 10 && sensorUS <= 20)
14   { jarak [1] = (sensorUS -10)/(20-10);}
15   else if (sensorUS > 20 && sensorUS <= 40)
16   { jarak [1] = (40-sensorUS)/(40 - 20);}
17   else
18   { jarak [1] = 0;}
19  
20   // untuk kondisi jauh
21   if (sensorSuhu <= 20)
22   { jarak [2] = 0;}
23   else if (sensorUS > 20 && sensorUS <= 30)
24   { jarak [2] = (sensorUS-20)/(30-20);}
25   else if (sensorUS > 30)

sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 5/9
2/26/2020 sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/
26   { jarak [2] = 1;}
27 }

Untuk nilai PWM motor akan diatur sebagai berikut

Gambar 5. Fungsi Keanggotaan Kecepatan Motor

Bersambung ke artikel berikutnya disini.

Comments
52 comments

52 Comments Sort by Newest

Add a comment...

Hidayat Turilah
Assalamu'alaikum,bang mau tanya pakai fuzzy apa
metodenya ya?untuk yg in.
Like · Reply · 1y

Ulfah Putri
assalamualaikum
mas, boleh minta tolong kirim source code nya untuk
referensi TA?
ulfahpb@gmail.com

terima kasih mas


Like · Reply · 1y

Zidni Chori Nurindra


dapatkah?
Like · Reply · 1y
sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 6/9
2/26/2020 sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/

Fahri Ismail
Assalamu'allaikum.
mas boleh minta untuk refensi TA .
Makasih mas.

Fahri.ismail@ymail.com
Like · Reply · 1y

Zulfaesa Hamka
mas boleh mintak untuk refensi TESIS makasi mas
zulfaesa.hamka@gmail.com
Like · Reply · 1y

Rifqi Fauzan
mas boleh mintak untuk refensi TA makasi mas
rifqi.fzn@gmail.com
Like · Reply · 1y

Zidni Chori Nurindra


dapt kah coding nya gan?
Like · Reply · 1y

Yusuf Afif
Zidni Chori Nurindra belum dapat gan
Like · Reply · 1y

Zidni Chori Nurindra


Yusuf Afif satu perguruan jangan ganggu kwkw
Lik R l 1

← Kendali Motor Pada Memperbaiki Driver WiFi


Prototipe Overhead Crane Adapter RTL8188CUS di
Menggunakan Metode Fuzzy Beaglebone Black →
Logic Controller

Leave a Reply
You must be logged in to post a comment.

Author

Benny Wijaya

sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 7/9
2/26/2020 sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/

Dian
Pancawati

Alif Tony

Christopher
Alexander
Tanujaya

Bel Cerdas
Cermat Murah

Status
Pesanan

Bpk. Andre Logo


Tgl pesan : 8 September
2015
Kota : Kupang, NTT
Produk/Qty: SL02/ 1
unit
Customisasi : Tambah
panjang kabel
Status :Selesai
Bpk. Fidel
Tgl pesan : 24 Agustus
2015
Kota : Jakarta
Produk/Qty: SL02/ 1
sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 8/9
2/26/2020 sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/

Cek Status
Kiriman

#Resi:

CHECK

CONTACT US
SUPPORT
PRIVACY STATEMENT

 

Copyright 2014 - sonoku.com All rights reserved

sonoku.com/implementasi-fuzzy-logic-controller-untuk-kontrol-kecepatan-motor-dc-pada-prototype-kipas-angin/ 9/9

Anda mungkin juga menyukai