PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

12
ISSN: 2085-6989 Elektron: Vol. 1 No. 2, Edisi: Desember 2009 1 PENGENDALIAN KECEPATAN MOTOR DC DENGAN METODA FUZZY LOGIC BERBASIS MIKROKONTROLLER Oleh Nasrul Staf Pengajar Teknik Elektro Politeknik Negeri Padang ABSTRACT The Technology and information development involve production process in industries using microcontroller as a brain in control process. The number of control process with microcontroller using Fuzzy Logic method to get the function as is needed. Motors DC are used in some equipment as a driver, not only in small scale but also in huge scale. It used in low or high speed too. The way of controlled chosen depend on the function of DC motor movement. The another method is Pulse Width Modulation (PWM). This is an effective method to controlled DC motor. This method produces square pulses which have specific comparison between high pulse and low pulse. It is usual scale from 0% to 100%. In this research, both Fuzzy Logic method and Pulse Width Modulation (PWM) method base of microcontroller ATMega 8535, both are integrated to control lthe DC motor speed. Keyword: Microcontroller, Pulse Width Modulation (PWM), Fuzzy Logic, DC Motor PENDAHULUAN Dengan perkembangan teknologi dan informasi sebagian besar proses produksi pada industri-industri menggunakan mikrokontroller sebagai otak dalam proses kontrolnya. Proses kontrol pada mikrokontrollernya sudah menggunakan Fuzzy logic agar sistim yang digunakan dapat berfungsi sesuai dengan yang diinginkan. Demikian juga dengan motor DC banyak digunakan sebagai penggerak dalam berbagai peralatan, baik kecil maupun besar, lambat maupun cepat. Ia juga banyak dipakai karena dapat disesuaikan untuk secara ideal menerima pulsa digital untuk kendali kecepatan. Pemilihan cara pengendalian akan tergantung dari kebutuhan terhadap gerakan motor DC itu sendiri. Metode Pulse Width Modulation (PWM) adalah metode yang cukup efektif untuk mengendalikan kecepatan motor DC. PWM ini bekerja dengan cara membuat gelombang persegi yang memiliki perbandingan pulsa high terhadap pulsa low yang telah tertentu. Perbandingan pulsa high terhadap low ini akan menentukan jumlah daya yang diberikan ke motor DC. Mikrokontroller sebagai sebuah one chip solutionpada dasarnya adalah rangkaian terintregrasi (Integrated Circuit-IC) yang telah mengandung secara lengkap berbagai komponen pembentuk sebuah mikrokomputer. Berbeda dengan penggunaan mikroprosesor yang masih memerlukan komponen luar tambahan seperti RAM, ROM, Timer, dan sebagainya untuk sistem mikrokontroller, tambahan komponen diatas secara praktis hampir tidak dibutuhkan lagi. Hal ini disebabkan semua komponen penting tersebut telah ada bersama dengan sistem prosesor ke dalam IC tunggal mikrokontroller bersangkutan. Dewasa ini generasi AVR (Alf and Vegard’s Rich prosessor), para desainer sistem elektronika telah diberi suatu teknologi yang memiliki kapabilitas yang amat maju, tetapi

Transcript of PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

Page 1: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

Elektron: Vol. 1 No. 2, Edisi: Desember 2009 1

PENGENDALIAN KECEPATAN MOTOR DC DENGAN METODAFUZZY LOGIC BERBASIS MIKROKONTROLLER

OlehNasrul

Staf Pengajar Teknik Elektro Politeknik Negeri Padang

ABSTRACT

The Technology and information development involve production process in industries usingmicrocontroller as a brain in control process. The number of control process withmicrocontroller using Fuzzy Logic method to get the function as is needed. Motors DC are usedin some equipment as a driver, not only in small scale but also in huge scale. It used in low orhigh speed too. The way of controlled chosen depend on the function of DC motor movement. Theanother method is Pulse Width Modulation (PWM). This is an effective method to controlled DCmotor. This method produces square pulses which have specific comparison between high pulseand low pulse. It is usual scale from 0% to 100%. In this research, both Fuzzy Logic method andPulse Width Modulation (PWM) method base of microcontroller ATMega 8535, both areintegrated to control lthe DC motor speed.

Keyword: Microcontroller, Pulse Width Modulation (PWM), Fuzzy Logic, DC Motor

PENDAHULUAN

Dengan perkembangan teknologi daninformasi sebagian besar proses produksipada industri-industri menggunakanmikrokontroller sebagai otak dalamproses kontrolnya. Proses kontrol padamikrokontrollernya sudah menggunakanFuzzy logic agar sistim yang digunakandapat berfungsi sesuai dengan yangdiinginkan. Demikian juga dengan motorDC banyak digunakan sebagaipenggerak dalam berbagai peralatan,baik kecil maupun besar, lambat maupuncepat. Ia juga banyak dipakai karenadapat disesuaikan untuk secara idealmenerima pulsa digital untuk kendalikecepatan. Pemilihan cara pengendalianakan tergantung dari kebutuhan terhadapgerakan motor DC itu sendiri. MetodePulse Width Modulation (PWM) adalahmetode yang cukup efektif untukmengendalikan kecepatan motor DC.PWM ini bekerja dengan cara membuatgelombang persegi yang memilikiperbandingan pulsa high terhadap pulsa

low yang telah tertentu. Perbandingan

pulsa high terhadap low ini akanmenentukan jumlah daya yang diberikanke motor DC.

Mikrokontroller sebagai sebuah“one chip solution” pada dasarnyaadalah rangkaian terintregrasi(Integrated Circuit-IC) yang telahmengandung secara lengkap berbagaikomponen pembentuk sebuahmikrokomputer. Berbeda denganpenggunaan mikroprosesor yang masihmemerlukan komponen luar tambahanseperti RAM, ROM, Timer, dansebagainya untuk sistemmikrokontroller, tambahan komponendiatas secara praktis hampir tidakdibutuhkan lagi. Hal ini disebabkansemua komponen penting tersebut telahada bersama dengan sistem prosesor kedalam IC tunggal mikrokontrollerbersangkutan. Dewasa ini generasi AVR(Alf and Vegard’s Rich prosessor), paradesainer sistem elektronika telah diberisuatu teknologi yang memilikikapabilitas yang amat maju, tetapi

Page 2: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

2 | Elektron: Vol. 1 No. 2, Edisi: Desember 2009

dengan biaya ekonomis yang cukupminimal seperti mikrokontrollerATMega 8535.

Berdasarkan latar belakang inimaka dalam penelitian ini digunakanmikrokontroler ATMega 8535 sebagaipengendali kecepatan motor DC denganmenggunakan metode Pulse WidthModulation (PWM) yang diintegrasikandengan fuzzy logic.

Perumusan MasalahBagaimana mengendalikan

kecepatan motor DC denganmengintegrasikan metode Pulse WidthModulation (PWM) dengan metodefuzzy logic berbasis mikrokontrollerATMega 8535?

Tujuan Penelitian1. Mempelajari dan mengaplikasikan

teknologi mikrokontroler ATMega8535 untuk megendalikan kecepatanmotor DC.

2. Mempelajari dan mengaplikasikanmetode Pulse Width Modulation(PWM) untuk megendalikankecepatan motor DC.

3. Mempelajari dan mengaplikasikanmetode fuzzy logic untukmegendalikan kecepatan motor DC.

4. Mengintegrasikan metode PulseWidth Modulation (PWM) denganmetode fuzzy logic untukmengendalikan kecepatan motor DC.

Manfaat PenelitianDengan penelitian ini kita dapat

mengaplikasikan metode Pulse WidthModulation (PWM) dan metode FuzzyLogic untuk mengendalikan kecepatanmotor DC berbasis mikrokontrollerATMega 8535 dalam bidang teknologiinformasi dan komunikasi.

Tinjauan TeoritikMotor DC

Motor DC banyak digunakan sebagaipenggerak dalam berbagai peralatan,

baik kecil maupun besar, lambat maupuncepat. Motor DC juga banyak dipakaikarena dapat disesuaikan untuk secaraideal menerima pulsa digital untukkendali kecepatan.

Pulse Width Modulation (PWM)Metode Pulse Width Modulation

(PWM) adalah metode yang cukupefektif untuk mengendalikan kecepatanmotor DC. PWM ini bekerja dengan caramembuat gelombang persegi yangmemiliki perbandingan pulsa highterhadap pulsa low yang telah tertentu,biasanya diskalakan dari 0 hingga 100%.Gelombang persegi ini memilikifrekuensi tetap (biasanya max 10 KHz)namun lebar pulsa high dan low dalam 1periode yang akan diatur. Perbandinganpulsa high terhadap low ini akanmenentukan jumlah daya yang diberikanke motor DC. Pada gambar kita dapatmelihat bagaimana pengendalian denganPulse Width Modulation (PWM).

Gambar 1. Pengendalian dengan PulseWidth Modulation (PWM)

Mikrokontroler AVR ATMega 8535Konsep Dasar AVR

Secara histories mikrokontrollerseri AVR pertama kali diperkenalkan kepasaran sekitar tahun 1997 olehperusahaan Atmel. Berdasarkanarsitekturnya, AVR merupakanmikrokontroller dengan lebar bus data 8

Page 3: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

Elektron: Vol. 1 No. 2, Edisi: Desember 2009 3

bit dimana semua instruksi dikemasdalam kode 16-bit (16-bit word) dansebagian besar instruksi dieksekusidalam 1 siklus clock. Frekuensi kerjamikrokontroller AVR ini pada dasarnyasama dengan frekuensi oscillator.Dengan instruksi yang sangat variatifserta jumlah register serbaguna sebanyak32 buah yang semuanya terhubungsecara langsung ke ALU (ArithmeticLogic Unit), kecepatan operasimikrokontroller AVR ini dapat mencapai16 MIPS (enam belas juta instruksi perdetik) yang merupakan sebuah kecepatanyang sangat tinggi untuk ukuranmikrokontroller 8 bit yang ada di pasaransampai saat ini.

Untuk penyimpanan data,mikrokontroller AVR menyediakan duajenis memori yang berbeda yaituEEPROM (Electrically ErasableProgrammable Read Only Memory) danSRAM (Static Random Access memory).EEPROM umumnya digunakan untukmenyimpan data-data program yangbersifat permanen, sedangkan SRAMdigunakan untuk menyimpan datavariabel yang dimungkinkan berubahsetiap saatnya.

Fuzzy Logic

Teori Fuzzy mulai dikembangkanpertama kali oleh Profesor Lotfi Zadehpada ahun 1965 di University ofCarlifornia, Berkeley. Teori Fuzzydikembangkan untuk mengatasi teori”Two Valued Logic” (logika dua nilai)yang lazim dikenal sebagai logikaBoolean yang membagi suatu keadaanhanya membagi dua kemungkinan sajamisalnya hitam atau putih, benar atausalah dan tidak memberi kemungkinannilai yang lain. Teori “Two ValuedLogic” yang kemudiandiimplementasikan dalam metodepemecahan masalah ternyata sangatefektif dan berhasil sebatas

permasalahan yang dapat dideskripsikansecara tepat kuantitasnya.PetraFuz

PetraFuz adalah perangkat lunakyang digunakan untuk mendesain sistimberbasis Fuzzy Logic. Dengan adanyaperangkat lunak ini, data fuzzy sepertimembership function dan rules dapatdibuat dengan mudah.

Fuzzy Routine EngineFuzzy Routine Engine adalah

suatu program kecil yang merupakan intidari suatu sistim fuzzy menggunakanmikrokontroler.

Secara umum, struktur ini dibagimenjadi 2 blok yaitu: fuzzy inferencekernel dan struktur data pada knowlagebase seperti yang tampak pada gambar 2Blok fuzzy inference kernel dibagimenjadi tiga bagian yaitu fuzzification,rule evolution dan defuzzification. Blokknowlage base berisi struktur data yangmenunjang blok pertama, pembuatannyadibantu dengan PetraFuz.

INPUT MEMBERSHIPFUNCTIONS

RULES

OUTPUTMEMBERSHIPFUNCTIONS

FUZZIFICATION

RULE EVALUATION

DEFUZZIFICATION

KNOWLEDGE BASE

SISTEM INPUT

FUZZYINFERENCE

UNIT

SISTEM OUTPUTS

FUZZYINPUTS

FUZZYOUTPUTS

Gambar 2. Diagram Blok Fuzzy RoutineEngine

Page 4: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

4 | Elektron: Vol. 1 No. 2, Edisi: Desember 2009

Bagian fuzzification mengambilinput dari input, lalu dibandingkandengan input membership function yangada pada knowlage base dan menyimpanhasilnya (fuzzy input) pada RAM. Setiaplabel pada membership function akanmenghasilkan satu fuzzy input. Prosedurini akan menghitung nilai kebenaran tiapinput sistim pada setiap membershipfunction dari input.

Bagian rule evolution memprosesdata rules pada knowlage basemenggunakan hasil dari bagianfuzzification (fuzzy input) dan akanmenghasilkan fuzzy output yangdisimpam pada RAM.

Bagian defuzzificationmenggunakan fuzzy output dari bagianrule evaluation dan output membershipfunction pada knowledge base untukmenghasilkan satu nilai output untuksetiap output sistim.

METODOLOGI PENELITIAN

Gambar 3. Metodologi Penelitian

Sistim Hardware

Dari diagram blok pada gambar 3 terlihatbahwa alat yang akan dirancang terdiridari beberapa bagian:

Gambar 4. Diagram Blok Sistim

Bagian pertama yaitu input (set point)berupa potensiometer yang berfungsiuntuk mengatur kecepatan putaran motorDC seperti yang tampak pada gambar.Potensiometer yang digunakanmempunyai tahanan sebesar 0 Ohmsampai dengan 10 Kohm. Besarnyatahanan ini yang akan mepengaruhibesarnya tegangan yang akan diinputkanke mikrokontroler yaitu sebesar 0Vsampai dengan 5 V. Dari 10 Kohm inidibagi menjadi tiga kondisi untukmengendalikan kecepatan putaran motorDC dengan keterangan sebagai berikut :

1. Untuk kondisi pertama yaitusebesar 0 Ohm dengan besarnyategangan input 0 V. Pada kondisiini akan memberikan kondisiputaran motor DC tidak bergerakatau diam.

2. Untuk kondisi kedua besarnyatahanan 1 Ohm sampai dengan 5Kohm dengan besarnya teganganinput 1 V sampai dengan 2,5 V.Pada kondisi ini putaran motorDC akan begerak lambat.

3. Untuk kondisi ketiga besarnyatahanan 5,1 Kohm sampaidengan 10 Kohm. Denganbesarnya tegangan input 2,6 Vsampai dengan 5 V. Pada kondisiini motor DC akan bergerakcepat.

Bagian kedua yaitu sistim minimummikrokontroler ATMega 8535.Mikrokontroller ini mempuyai 4 buahport I/O yaitu port A, port B, port C danPort D. Pada mikrokontroller ini sudah

Page 5: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

Elektron: Vol. 1 No. 2, Edisi: Desember 2009 5

terdapat pengkonversi sinyal analog kesinyal digital secara internal denganinput yaitu pada port A0 sampai A7.Dimana pada sistim ini port A1terhubung dengan set point(potensiometer) yang berfungsi untukmengendalikan kecepatan putaran motorDC. Pada sistim ini port D5 difungsikansebagai output yang dihubungkandengan motor DC.Bagian ketiga yaitu driver motor DCberfungsi untuk menjalankan motor DCdengan menggunakan IC L293D yangdapat menggerakkan motor DC.Bagian keempat yaitu motor DC. MotorDC yang digunakan adalah motor DC 12V.

Sistim Perangkat LunakPerangkat lunak yang dirancang

untuk sistim ini adalah perangkat lunakuntuk menjalan sistim mikrokontrolersecara keseluruhan, software inidirancang dengan menggunakan sofwareBascom dan software PetraFuz untukmendesain logika Fuzzy.

Perangkat Lunak SistimMikrokontroler ATMega 8535

Seperti yang telah dijelaskan diatasperangkat lunak ini dirancang denganmenggunakan Bascom.

Gambar 5. Flowchart pengontrolkecepatan putaran motor DC

Dari gambar 5. flowchart yang tampakpada gambar dapat kita jelaskan sebagaiberikut :

Pertama-tama mikrokontrollerakan menginisialisasi inputpotensiometer pada port A1 dan outputberupa motor DC pada port D5.Kemudian mikrokontroller akanmemberikan innstruksi untuk membacadata analog dari input yang kemudianmengkonversikannya ke data digital.Setelah itu mikrokontroller akanmemanggil rutin fuzzy logic yang telahdibuat dengan bantuan PetraFuz. Outputdari fuzzy logic ini yang nantinyaberfungsi untuk mengontrol kecepatanputaran motor DC dan output dari fuzzylogic dimasukan sebagai nilai PulseWidth Modulation (PWM) untukmengendalikan kecepatan putaran motorDC.

PetraFuzPetraFuz adalah perangkat lunak

yang digunakan untuk mendesain sistimberbasis Fuzzy Logic. Dengan adanyaperangkat lunak ini, data fuzzy sepertimembership function dan rules dapatdibuat dengan mudah.

Fuzzy Routine Engine sepertipada gambar adalah suatu program kecilyang merupakan inti dari suatu sistimfuzzy menggunakan mikrokontroler.Secara umum, struktur ini dibagimenjadi 2 blok yaitu: fuzzy inferencekernel dan struktur data pada knowlagebase. Blok fuzzy inference kernel dibagimenjadi tiga bagian yaitu fuzzification,rule evolution dan defuzzification. Blokknowlage base berisi struktur data yangmenunjang blok pertama, pembuatannyadibantu dengan PetraFuz.

Page 6: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

6 | Elektron: Vol. 1 No. 2, Edisi: Desember 2009

Gambar 6. Flowchart fuzzy logic denganPetraFuz

Dari flowchart pada gambar 6. diatasdapat kita jelaskan sebagai berikut:

Bagian fuzzification mengambilinput dari set point lalu dibandingkandengan input membership function yangada pada knowlage base dan menyimpanhasilnya (fuzzy input) pada RAM. Setiaplabel pada membership function akanmenghasilkan satu fuzzy input.

Bagian rule evolution memprosesdata rules pada knowlage basemenggunakan hasil dari bagianfuzzification (fuzzy input) dan akanmenghasilkan fuzzy output yangdisimpam pada RAM.

Fungsi keanggotaan input yangdirencanakan untuk input error dandeltaerror (kesalahan dan perubahankesalahan) terdiri dari 5 label yaitu NB(Negativ Big), NS (Negativ Small), Z(Zero), PS (Positiv Small) dan PB(Positiv Big).Dimana :

Error (n) = setpoint (n) – pointvalue (n)Deltaerror (n) = error (n) – error (n-1)

Fungsi keanggotaan output yangdirencanakan terdiri dari 5 label yaituNB (Negativ Big), NS (Negativ Small), Z

(Zero), PS (Positiv Small) dan PB(Positiv Big). Output

Output = Output(n) – Output(n-1)

Bagian defuzzificationmenggunakan fuzzy output dari bagianrule evaluation dan output membershipfunction pada knowlage base untukmenghasilkan satu nilai output untuksetiap output sistim sebagai nilai PulseWidth Modulation (PWM) untukmengendalikan kecepatan putaran motorDC.

Adapun fungsi keanggotaaanmembership function sistim yangdirancang dengan menggunakanPetraFuz pada gambar 7.

(a) Membership Function untukError

(b) Membership Function untukDelta Error

Page 7: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

Elektron: Vol. 1 No. 2, Edisi: Desember 2009 7

(c) Membership Function untukOutput

(d) Fuzzy Logic Evaluator

Gambar 7(a)(b)(c)(d) MembershipFunction Input-Output PetraFuzz

Adapun rule yang dirancangkansebanyak 15 rule seperti yang tampakpada table 1,2,3 dan 4 dalam hal inidigunakan If.....AND.......Then........

Tabel 1. Rule-rule Fuzzy Control yangdirancang

RuleNo.

Input Output(Result)Error DeltaError

1 PositivBig(PB)

Zero(Z)

PositivBig(PB)

2 Zero(Z)

NegativBig(NB)

NegativBig(NB)

3 NegativBig(NB)

Zero(Z)

NegativBig(NB)

4 Zero(Z)

PositivBig(PB)

PositivBig(PB)

5 PositivSmall(PS)

Zero(Z)

PositivSmall(PS)

6 Zero(Z)

NegativSmall(NS)

NegativSmall(NS)

7 NegativSmall(NS)

Zero(Z)

NegativSmall(NS)

8 Zero(Z)

PositivSmall(PS)

PositivSmall(PS)

9 Zero(Z)

Zero(Z)

Zero(Z)

10 NegativSmall(NS)

NegativSmall(NS)

NegativSmall(NS)

11 PositivSmall(PS)

PositivSmall(PS)

PositivSmall(PS)

12 NegativBig(NB)

NegativBig(NB)

NegativBig(NB)

13 NegativBig(NB)

NegativSmall(NS)

NegativBig(NB)

14 PositivBig(PB)

PositivBig(PB)

PositivBig(PB)

15 PositivBig(PB)

PositivSmall(PS)

PositivBig(PB)

Page 8: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

8 | Elektron: Vol. 1 No. 2, Edisi: Desember 2009

Tabel 2. Membership FunctionUntukinput Error

Crisp InputError

NumericalRange

PositivBig (PB) 64 - 255

PositivSmall (PS) 0 - 128

Zero (Z) -32 - 32

NegativSmall (NS) -128 - 0

NegativBig (NB) -64 - 255

Tabel 3. Membership FunctionUntukinput Delta Error

Crisp Input DeltaError

NumericalRange

PositivBig (PB) 64 - 255

PositivSmall (PS) 0 - 128

Zero (Z) -32 - 32

NegativSmall (NS) -128 - 0

NegativBig (NB) -64 - 255

Tabel 4. Membership FunctionUntukOutput

Crisp Output NumericalRange

PositivBig (PB) 128

PositivSmall (PS) 64

Zero (Z) 0

NegativSmall (NS) -64

NegativBig (NB) -128

HASIL DAN PEMBAHASAN

Hasil Rule-rule Fuzzy Controldalam bentuk database yang dihasilkandari software PetraFuz yang terdapat

dalam mikrokontroller berdasarkan tabeladalah sebagai berikut:

NUMINP EQU 02HNUMOUT EQU 01H

.CODEORG 4100H

INPUT_MFS ;Input Membership FunctionsIN0MF ;error

DB 0A0H,008H,0FFH,0FFH ;PBDB 080H,008H,0A0H,008H ;PSDB 070H,010H,080H,010H ;ZDB 040H,008H,060H,008H ;NSDB 000H,0FFH,040H,008H ;NBDB 000H,000H,000H,000H ;DB 000H,000H,000H,000H ;DB 000H,000H,000H,000H ;

IN1MF ;deltaerrorDB 0A0H,008H,0FFH,0FFH ;PBDB 080H,008H,0A0H,008H ;PSDB 070H,010H,080H,010H ;ZDB 040H,008H,060H,008H ;NSDB 000H,0FFH,040H,008H ;NBDB 000H,000H,000H,000H ;DB 000H,000H,000H,000H ;DB 000H,000H,000H,000H ;

.CODEORG 41A0H

OUTPUT_MFS ;Output Membership FunctionsOUT0MF ;output

DB 0D5H ;PBDB 0AAH ;PSDB 080H ;ZDB 055H ;NSDB 02BH ;NBDB 000H ;DB 000H ;DB 000H ;

.CODEORG 41B8H

RULE_START DB 000H ;IF error IS PBDB 00AH ;AND deltaerror IS ZDB 080H ;THEN output IS PBDB 002H ;IF error IS Z

DB 00CH ;AND deltaerror IS NBDB 084H ;THEN output IS NB

Page 9: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

Elektron: Vol. 1 No. 2, Edisi: Desember 2009 9

DB 004H ;IF error IS NBDB 00AH ;AND deltaerror IS ZDB 084H ;THEN output IS NBDB 002H ;IF error IS Z

DB 008H ;AND deltaerror IS PBDB 080H ;THEN output IS PBDB 001H ;IF error IS PSDB 00AH ;AND deltaerror IS ZDB 081H ;THEN output IS PSDB 002H ;IF error IS Z

DB 00BH ;AND deltaerror IS NSDB 083H ;THEN output IS NSDB 003H ;IF error IS NSDB 00AH ;AND deltaerror IS ZDB 083H ;THEN output IS NSDB 002H ;IF error IS Z

DB 009H ;AND deltaerror IS PSDB 081H ;THEN output IS PSDB 002H ;IF error IS ZDB 00AH ;AND deltaerror IS ZDB 082H ;THEN output IS ZDB 003H ;IF error IS NS

DB 00BH ;AND deltaerror IS NSDB 083H ;THEN output IS NSDB 001H ;IF error IS PS

DB 009H ;AND deltaerror IS PSDB 081H ;THEN output IS PSDB 004H ;IF error IS NB

DB 00CH ;AND deltaerror IS NBDB 084H ;THEN output IS NBDB 004H ;IF error IS NB

DB 00BH ;AND deltaerror IS NSDB 084H ;THEN output IS NBDB 000H ;IF error IS PB

DB 008H ;AND deltaerror IS PBDB 000H ;AND error IS PBDB 080H ;THEN output IS PBDB 000H ;IF error IS PB

DB 009H ;AND deltaerror IS PSDB 080H ;THEN output IS PB

END_OF_RULE DB 0FFH

PEMBAHASANHardware

Input (set point) berupapotensiometer yang berfungsi untuk

mengatur kecepatan putaran motor DC.Besarnya tahanan ini yang akanmepengaruhi besarnya tegangan yangakan diinputkan ke mikrokontroler yaitusebesar 0V sampai dengan 5 V. Untukkondisi sebesar 0 Ohm dengan besarnyategangan input 0 V memberikan kondisiputaran motor DC tidak bergerak ataudiam. Untuk kondisi yang besarnyatahanan 1 Ohm sampai dengan 5 Kohmdengan besarnya tegangan input 1 Vsampai dengan 2,5 V kecepatan putaranmotor DC akan begerak lambat. Untukkondisi besarnya tahanan 5,1 Kohmsampai dengan 10 Kohm denganbesarnya tegangan input 2,6 V sampaidengan 5 V kecepatan putaran motor DCakan begerak cepat. Kondisi dari input-input ini dimasukkan pada bagianpengkonveri analog ke digital (ADC)yang terdapat pada mikrokontroller. Daribagian ADC ini kemudian data yangdihasilkan dimasukan ke bagian FuzzyRoutine Engine yang terdapat padaRAM. Output dari Fuzzy Routine Enginemenghasilkan nilai Pulse WidthModulation (PWM) untukmengendalikan kecepatan putaran motorDC.

Software

Fuzzy Routine Engine adalahsuatu program kecil yang merupakan intidari suatu sistim fuzzy menggunakanmikrokontroler yang dibagi menjadi 2blok yaitu: fuzzy inference kernel danstruktur data pada knowlage base. Blokfuzzy inference kernel dibagi menjaditiga bagian yaitu fuzzification, ruleevolution dan defuzzification. Blokknowlage base berisi struktur data yangmenunjang blok pertama, pembuatannyadibantu dengan PetraFuz. Bagianfuzzification mengambil input dari setpoint dari potensiometer laludibandingkan dengan input membershipfunction yang ada pada knowlage basedan menyimpan hasilnya (fuzzy input)pada RAM. Setiap label pada

Page 10: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

10 | Elektron: Vol. 1 No. 2, Edisi: Desember 2009

membership function akan menghasilkansatu fuzzy input. Fungsi keanggotaaninput yang direncanakan untuk inputerror dan deltaerror (kesalahan danperubahan kesalahan) terdiri dari 5 labelyaitu NB (Negativ Big), NS (NegativSmall), Z (Zero), PS (Positiv Small) danPB (Positiv Big). Bagian rule evolutionmemproses data rules pada knowlagebase menggunakan hasil dari bagianfuzzification (fuzzy input) dan akanmenghasilkan fuzzy output yangdisimpam pada RAM. Bagiandefuzzification menggunakan fuzzyoutput dari bagian rule evaluation danoutput membership function padaknowlage base untuk menghasilkan satunilai output untuk setiap output sistimsebagai nilai Pulse Width Modulation(PWM) untuk mengendalikan kecepatanputaran motor DC.

Berikut ini akan dijelaskan prosesfuzzy logic berdasarkan membershipfunction input dan output untuk masing-masing rule.

Rule 1; If Error is PositivBig and DeltaError is Zero then output is PositivBigdimana kondisi kecepatan putaran motorDC akan cepat.

(a) Membership Function untuk inputError

(b) Membership Function untuk inputDelta Error

(c) Membership Function untuk output

Gambar 8(a)(b)(c) MembershipFunction untuk input dan output Rule 1

Rule 5; If Error is PositivSmall andDelta Error is Zero then output isPositivSmall dimana kondisi kecepatanputaran motor DC akan lambat.

(a) Membership Function untukinput Error

Page 11: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

Elektron: Vol. 1 No. 2, Edisi: Desember 2009 11

(b) Membership Function untukinput Delta Error

(c) Membership Function untuk output

Gambar 9(a)(b)(c) MembershipFunction untuk input dan output Rule 5

Rule 9; If Error is Zero and Delta Erroris Zero then output is Zero dimanakondisi kecepatan putaran motor DCakan diam atau tidak bergerak.

(a) Membership Function untukinput Error

(b) Membership Function untukinput Delta Error

(c) Membership Function untuk output

Gambar 10(a)(b)(c) MembershipFunction untuk input dan output Rule 9

Dari hasil pengujian simulasifuzzy logic dengan mengggunakanPetraFuz dapat kita lihat bahwa desainMembership Function Sistim dan RuleFuzzy Control yang dirancangmenghasilkan output yang sesuai denganyang kita inginkan. Output dari fuzzylogic ini yang nantinya berfungsi untukmengontrol kecepatan putaran motor DCdan output dari fuzzy logic dimasukansebagai nilai Pulse Width Modulation(PWM) untuk mengendalikan kecepatanmotor DC.

Page 12: PENGENDALIAN KECEPATAN MOTOR DC DENGAN …

ISSN: 2085-6989

12 | Elektron: Vol. 1 No. 2, Edisi: Desember 2009

KESIMPULAN

1. Dengan metode Pulse WidthModulation (PWM) kita dapatmengendalikan kecepatan motor DC.

2. Dengan metode fuzzy logic kitamengendalikan kecepatan motor DC.

3. Dengan mengintegrasikan metodePulse Width Modulation (PWM)dengan metode fuzzy logic kita dapatmengendalikan kecepatan putaranmotor DC.

4. Dengan mengunakan PetraFuzdesain Fuzzy Logic berbasismikrokontroller dapat dirancang dandibuat dengan mudah

DAFTAR PUSTAKA

Ibrahim, Ahmad M.(2003).”Fuzzy Logicfor Embedded SystemApplication.” New York:Elsevier Science.

Kazuo Tanaka, Hua O. Wang(2001).”Fuzzy Control systemsDesign and Analysis.” NewYork: Jhon Wiley and Son Inc.

Ross, Timothy J. (1997).”Fuzzy LogicWith Engineering Applications.”New York: McGraw-Hill Int.

Turner, Rufus P., Rutherford, Brinton L.(1993). ”133 RangkaianElektronika.” Jakarta: ElexMedia Komputindo.

Wiyono, Didik (2007).”Panduan PraktisMikrokontroller Keluarga AVRMenggunakan DT-Combo AVR-51 Starter Kit dan DT-ComboAVR Exercise Kit.” Surabaya:Innovative Electronics.