BAB 3 PERANCANGAN SISTEM 3.1. Gambaran Umum Sistem Dengan melakukan perancangan sistem secara prototype pada penilitian ini diharapkan sistem yang dirancang dapat berjalan dengan baik. Yang penulis teliti dalam sistem yang dibuat ini adalah pengendalian arah dan kecepatan putaran motor servo yang dikendalikan oleh rangkaian elektronik tanpa menggukan brush. Dimana Mikrochip PIC16F877A berperan penting untuk menggerakan motor servo dengan cara menghasilkan sinyal PWM sinusoidal menuju gate transistor T2, T4 dan T6, sinyal square untuk transistor T1, T3 dan T5. Dan mengubah komutasi motor BLDC berdasarkan kombinasi dari keluaran tiga sensor hall yang dibaca dengan ADC. PWM hanya dikenakan pada bagian transistor karena keterbatasan mikrochip yang hanya memiliki 3 port PWM syncronus. Gambar 3.1 Sinyal PWM Sumber : Pengendalian motor brushless dgn metode pwm sinussoidal “Abe Dharmawan FT UI 2009” Sinyal PWM yang telah di kombinasi diteruskan ke encoder yang berfungsi sebagai BDC (binary Code Desimal) untuk mengkombinasikan data yang akan di inputkan untuk motor servo dalam format biner dimana kode-kode biner ini merupakan kombinasi logic yang menyebabkan motor bergerak. 3.2. Perancangan Perangkat Keras Secara umum perancangan perangkat keras sangatlah penting dalam mengembangkan suatu sistem. Hal ini bertujuan agar rancangan perangkat keras yang dibuat dapat mendukung sistem yang akan dibangun. Perancangan Keras meliputi Blok diagram sistem dan pemilihan perangkat keras, Blok design komponen. 3.2.1 Blok diagram Blok diagram pengendali motor servo adalah sebai berikut. Gambar 3.2 Blok Diagram Sistem Pada sistem digunakan 2 sumber tegangan yaitu tegangan 12v dan tegangan untuk motor. Dimana tegangan 12v yang diturunkan oleh IC regulator IR2184 menjadi 5v agar tegangan yang masuk ke rangkaian stabil dan sesuai dengan kebutuhan suplay rangkaian digital yang termasuk di dalamnya adalah Mikrochip PIC16F877A. Mikrochip PIC16F877A kemudian mengeluarkan output untuk driver 3 fasa dan transistor . Dari transistor akan di dapatkan kombinasi binary yang akan diteruskan ke encoder untuk dikombinasikan menjadi input untuk motor servo dalam format biner dimana kode-kode biner ini merupakan kombinasi logic yang akan menyebabkan motor bergerak. 3.2.2. Pemilihan Perangkat Keras 3.2.2.1. Motor servo MFA010LA2NS. Motor servo adalah sebuah motor dengan sistem umpan balik tertutup di mana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor. Gambar 3.3 Panasonic AC Servo Motor Pengendalian gerakan batang motor servo dapat dilakukan dengan menggunakan metode PWM. (Pulse Width Modulation). Teknik ini menggunakan system lebar pulsa untuk mengemudikan putaran motor. Sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor. 3.2.2.2. Mosfet Driver FET dibagi menjadi dua keluarga: Junction FET (JFET) dan Insulated Gate FET (IGFET) atau juga dikenal sebagai Metal Oxide Silicon (atau Semiconductor) FET (MOSFET). Berbeda dengan IGFET, terminal gate dalam JFET membentuk sebuah diode dengan kanal (materi semikonduktor antara Source dan Drain). Secara fungsinya, ini membuat N-channel JFET menjadi sebuah versi solid-state dari tabung vakum, yang juga membentuk sebuah diode antara grid dan katode. Dan juga, keduanya (JFET dan tabung vakum) bekerja di "depletion mode", keduanya memiliki impedansi input tinggi, dan keduanya menghantarkan arus listrik dibawah kontrol tegangan input. FET lebih jauh lagi dibagi menjadi tipe enhancement mode dan depletion mode. Mode menandakan polaritas dari tegangan gate dibandingkan dengan source saat FET menghantarkan listrik. Jika kita ambil N-channel FET sebagai contoh: dalam depletion mode, gate adalah negatif dibandingkan dengan source, sedangkan dalam enhancement mode, gate adalah positif. Untuk kedua mode, jika tegangan gate dibuat lebih positif, aliran arus di antara source dan drain akan meningkat. Untuk P-channel FET, polaritas-polaritas semua dibalik. Sebagian besar IGFET adalah tipe enhancement mode, dan hampir semua JFET adalah tipe depletion mode. BJT (Bipolar Junction Transistor) adalah salah satu dari dua jenis transistor. Cara kerja BJT dapat dibayangkan sebagai dua diode yang terminal positif atau negatifnya berdempet, sehingga ada tiga terminal. Ketiga terminal tersebut adalah emiter (E), kolektor (C), dan basis (B). Perubahan arus listrik dalam jumlah kecil pada terminal basis dapat menghasilkan perubahan arus listrik dalam jumlah besar pada terminal kolektor. Prinsip inilah yang mendasari penggunaan transistor sebagai penguat elektronik. Rasio antara arus pada koletor dengan arus pada basis biasanya dilambangkan dengan β atau h_{FE}. β biasanya berkisar sekitar 100 untuk transistortransisor BJT. Transistor jenis BJT (NPN dan PNP) dan UJT (FET dan MOSFET) memiliki cara kerja yang sama, namun dengan karakteristik yang berbeda. Berikut ini beberapa perbedaan antara Transistor BJT dan UJT (FET) 1. Konversi: Transistor BJT mengkonversi arus menjadi arus, FET mengkonversi tegangan menjadi arus 2. Arus input: BJT membutuhkan arus input, FET tidak membutuhkan arus input 3. Input/output: Hubungan input/output BJT adalah linear direpresentasikan oleh sebuah garis lurus, namun hubungan input/output sebuah FET tidak linear untuk sinyal-sinyal besar (bertegangan tinggi). Hal ini dapat mengakibatkan terjadinya distorsi pada sinyal-sinyal besar yang diumpankan ke sebuah FE 4. Kecepatan: FET dapat melaksanakan proses pensaklaran secara lebih cepat dibandingkan BJT, namun demikian kedua jenis transistor ini dirasa cukup cepat untuk memenuhi kebutuhan sebagian besar aplikasi elektronik 5. Tegangan input: sebuah FET menjadi aktif ketika tegangan gate-sourcenya melampaui suatu tegangan ambang. Tegangan gate dapat memiliki nilai yang berada dalam kisaran antara tegangan ambang dan tegangan sumber, ketika FET dalam keadaan aktif. Tegangan basis-emitor BJT akan selalu mendekati nilai 0,7 V, ketika BJT dalam keadaan aktif, terlepas dari berapa besar arus inputnya 6. Resistor input: sebuah FET tidak membutuhkan sebuah resistor di depan terminal gatenya. Hal ini dapat menjadikan rangkaian yang bersangkutan jauh lebih sederhana. 7. Tahanan output: kebanyakan FET memiliki tahanan yang sangat rendah ketika berada dalam keadaan aktif, biasanya kurang dari 1 Ohm. Hal ini membuat komponen-komponen ini sangat cocok untuk digunakan dalam rangkaian saklar transistor. Pada sistem yang dibuat menggunakan MOSFET IRF4710 yang di susun parallel dimana rangkaian ini juga berfungsi sebagai proteksi terhadap konsleting pada beban (Motor DV yang di kendalikan) sehingga rangkaian tetap aman. Gambar 3.4 mosfer driver 3.2.2.3. Mikrochip PIC16F877A Penggunaan mikrochip jenis PIC16F87AA karena IC ini mudah di dapat di pasaran dan mudah terbilang mudah untuk digunakan dan pada sistem yang dibuat PIC16F87AA dikombinasikan dengan ICD (In Circuit Debuger) karena kode dapat di debugged kedalam hardware atau prototype dalam hal ini PIC tanpa program tambahan atau emulator. Untuk debug program ke dalam PIC menggunakan MPLAB. High-Performance RISC CPU, Kecepatan Operasi : DC - 20 MHz clock input, Sampai dengan 8K x 14 kata-kata Flash Memory Program, Sampai dengan 368 x 8 byte memori data ( RAM ) , Sampai dengan 256 x 8 byte memori EEPROM data, Pinout kompatibel dengan yang lain 28 - pin atau 40/44-pin, 10 - bit , hingga 8 channel Analog -to – Digital Converter ( A / D ), Single- 5V In- Circuit Serial Programming, Mode hemat daya Sleep. CMOS Teknologi : • Low-power , kecepatan tinggi Flash / EEPROM teknologi • desain Sepenuhnya statis • rentang tegangan operasi lebar ( 2.0V ke 5.5V ) • suhu berkisar Komersial dan Industri • Rendah konsumsi daya Gambar 3.5 PIC16F87AA Sumber : AN857 “Brushless DC Motor Control Made Easy” 2002 Microchip Technology Inc. 3.2.2.4. Power Suplay Power suplay adalah perangkat keras yang dibuat untuk mengubah arus AC menjadi arus DC dan outpot DC yang diatur sesuai kebutuhan. Power suplay yang digukan dalam sistem ini ada 2 buah, dimana yang ada yang berfungsi untuk mengsuplay 12V untuk rangakaian digital dan ada yg mengsuplay daya untu motor servo. Gambar3.6 power Suplay 3.2.2.5. Encoder Encoder adalah rangkaian yang memiliki fungsi berkebalikan dengan dekoder. Encoder berfungsi sebagai rangakain untuk mengkodekan data input mejadi data bilangan dengan format tertentu. Encoder dalam rangkaian digital adalah rangkaian kombinasi gerbang digital yang memiliki input banyak dalam bentuk line input dan memiliki output sedikit dalam format bilangan biner. Encoder akan mengkodekan setiap jalur input yang aktif menjadi kode bilangan biner. Gambar 3.7 Encoder 3.3. Perancangan Perangkat Lunak Dalam membuat perangkat lunak (software) yang pertama harus adalah menentukan alur programnya (flowchart). Dari flowchart dapat dibuat realisasi programnya. 3.3.1. Perancangan Keseluruhan Program Pada Mikrokontroler Gambar 3.8 Sensored Drive Flowchart Sumber : AN857 “Brushless DC Motor Control Made Easy” 2002 Microchip Technology Inc. pada saat pertama kali program dijalankan, mikrochip akan melakukan inisialisasi untuk mengecek input dari sensor untuk memastikan ada input yang masuk. Setelah pengecekan maka step selanjudnya adalah mengecek status ADC jika status ADC ready maka mikrochip akan read data baru untuk menyatakan ada perubahan data logic pada ADC, jika ada data baru maka ADC akan di set dalam kondisi GO dan akan dimasukan ke alamat TMR0 sedangkan apabila status ADC pada pengecekan tidak ada data baru maka akan dilanjudkan ke TMR0. Setelah pengecekan apakah adanya perubahan data atau tidak proses selanjudnya adalah membagi data berupa logic yang masuk ke TMR0 dan menghitung apakah ada carry pada proses pembagian apabila ada carry maka akan masuk ke proses output drive world dan apabila tidak ada carry maka akan masuk ke mask drive world. Setelah proses berjalan sampai sini maka akan dilakukan pengecekan apakah ada sensor yang berubah jika tidak ada perubahan sensor maka proses akan diulang ke cek data ADC, sedangkan apabila ada perubahan sensor maka akan dilanjudkan ke proses selanjudnya yaitu save sensor code dan kemudian akan di komutasi. Setelah proses komutasi selesai barulah akan di ulang proses pengecekan data ADC. 3.3.2. Program #define OffMask B’11010101’; #define DrivePort PORTC; #define DrivePortTris TRISC #define SensorMask B’00000111’; #define SensorPort PORTE; #define DirectionBit PORTA,1; org 0x000 ; nop ; clrf PCLATH ; goto Initialize ; ORG 0x004 ; retfie ; clrf DrivePort; clrf DrivePortTris ; movlw B’00000011’ ; movwf TRISA ; ; setup Timer0 movlw B’11010000’ ; movwf OPTION_REG ; Setup ADC (bank1) movlw B’00001110’ ; movwf ADCON1 banksel ADCON0 ; setup ADC (bank0) movlw B’11000001’ ; movwf ADCON0 bsf ADCON0,GO ; clrf LastSensor ; call Commutate ; clrf ADC ; Loop call ReadADC ; incfsz ADC,w ; goto PWM ; movf DriveWord,w ; goto Drive ; PWM movf ADC,w ; addwf TMR0,w ; movf DriveWord,w ; btfss STATUS,C ; andlw OffMask ; Drive movwf DrivePort ; call Commutate ; goto Loop ; btfsc ADCON0,NOT_DONE ; return ; movf ADRESH,w ; bsf ADCON0,GO ; movwf ADC ; return ; Commutate movlw SensorMask ; andwf SensorPort,w ; xorwf LastSensor,w ; btfsc STATUS,Z ; return ; xorwf LastSensor,f ; btfss DirectionBit ; goto FwdCom ; movlw HIGH RevTable ; movwf PCLATH ; movlw LOW RevTable ; goto Com2 FwdCom ; movlw HIGH FwdTable ; movwf PCLATH ; movlw LOW FwdTable ; Com2 addwf LastSensor,w ; btfsc STATUS,C ; incf PCLATH,f ; call GetDrive ; movwf DriveWord ; return GetDrive movwf PCL FwdTable retlw B’00000000’ ; retlw B’00010010’ ; retlw B’00001001’ ; retlw B’00011000’ ; retlw B’00100100’ ; retlw B’00000110’ ; retlw B’00100001’ ; retlw B’00000000’ ; RevTable retlw B’00000000’ ; retlw B’00100001’ ; retlw B’00000110’ ; retlw B’00100100’ ; retlw B’00011000’ ; retlw B’00001001’ ; retlw B’00010010’ ; retlw B’00000000’ ; END ; Sumber : AN857 “Brushless DC Motor Control Made Easy” 2002 Microchip Technology Inc.