Materi Kuliah Mikro_UTS

download Materi Kuliah Mikro_UTS

of 250

  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    17
  • download

    4

Embed Size (px)

description

silahkan

Transcript of Materi Kuliah Mikro_UTS

  • MikrokontrolerP1 PENDAHULUAN

    RATNA AISUWARYA, M.ENG

  • Materi Hari IniKontrak PerkuliahanPengenalan Mikrokontroler (Arduino,ATMega 328)

  • Penilaian, Aturan Kehadiran Penilaian Tugas Plagiarisme Praktikum Partisipasi

  • Penilaian Tugas :20% Tugas Besar :10% Praktikum :20% UTS:25% UAS:25%

  • Materi Kuliah Pengenalan Arduino ATMega 328Pemrograman Arduino Komunikasi Serial AnalogDigitalConversion(ADC) Sistem Interupsi Sistem Timer Aplikasi Antarmuka

  • Apa yang akan dipelajari ?

  • P1. Overview Konseparduinosebagaihardwareopensource. Layoutdiagramboard Arduino. DeskripsifiturfituryangadabadaboardArduino. FiturfiturdanfungsiATmega328. VarianboardArduino. PengembanganfiturhardwarepadaArduino. Download,konfigurasi,daneksekusiprogramtestmenggunakansoftwareArduino.

  • Apa itu Arduino ?

  • Arduino

  • Arduino

  • Apa saja Komponennya ? Arduinobasedhardwareprocessingplatform Arduino Duemilanove board/Arduino Uno Arduino compatiblepowersupply BoardArduinodapatdiaktifkandenganpoweryangbersumberdariportUSBkomputer,ataudaripowersupplyeksternal.

    Arduinosoftware DisediakanArduinoIDE(IntergratedDevelopment Environment)yangdapatdiunduhgratisdihomepageArduino(www.arduino.cc).

  • Arduino Layout

  • ARDUINO HOST PROCESSOR THE ATMEGA328 ProsesorArduinoadalahAtmelAtmega328.28Pin.Mikrokontroler8bit. Arsitekturnya berbasis Reduced Instruction Set Computer (RISC), yang dapatmengeksekusi 20 Juta Instruksi per detik (MIPS) million instructions per second(MIPS) ketika bekerja dengan frekuensi 20 MHz! FiturfituryangadapadaArduinoDuemilanove:Memorysystem Portsystem Timersystem Analogtodigitalconverter(ADC) Interruptsystem Komunikasiserial

  • Arduino systems

  • EXAMPLE: AUTONOMOUS MAZE NAVIGATING ROBOTSebelum membahas lebih jauh tentang arduino, kita lihat contoh penerapan arduino sebagaikontroler robot (Blinky 602A). Robot ini bekerja sebagai line following robot. Dengan komponensebagai berikut :

    2 motor DC untuk roda kiri dan kanan. Roda ketiga untuk kestabilan robot. 3 sensor Infra Red Sharp GP12D yang akan mendeteksi dinding pada labirin.

  • STRUCTURE CHARTBlok diagram menggambarkan sistem secara visual. Tanda panah menunjukkanaliran data antara bagianbagian. Pada blok diagram robot ini terdapat 3 sistemutama : sistem kontrol motor sistem sensor sistem input/output digital.

    Ketiga sistem tsb saling berinteraksi dengan algoritma kontrol utama yang akanmengatur robot agar dapat bekerja secara otomatis melalui labirin by sensingand avoiding walls.

  • DIAGRAM UMLDiagramUnifiedModelingLanguage(UML)atau flowchart,merupakantoolyangmemvisualisasikanlangkahlangkahyangdiperlukanuntukmenjalankanalgoritma.Padaflowchartrobotini,setelahinisialisasisistem,kontrolrobotberjalansecaracontinousloop.

  • ARDUINO OPEN SOURCE SCHEMATICSemuaprodukArduinomemilikikonsepopensourcehardwaredansoftware,yangberartiuntukpengembangannyaterbukabagisemuapenggunauntukmenghasilkankonsep/idebaru.Sehinggateampengembangarduinosecaraterbukamembagirangkaianskematiksemuatipeboardarduino.

  • Variasi Arduino

  • Arduino shield

  • ARDUINO SOF TWAREDisebutjugadenganArduino DevelopmentEnvironment. PrograminidapatdidownloaddihomepageArduino(www.arduino.cc)

  • ARDUINO /ATMEGA328 HARDWAREFEATURESArduinoDuemilanove/UnomenggunakanAtmega328sebagaiprosesornya.BerikutDiagrampindanblokdiagramAtmega328

  • MEMORYATmega328memiliki3memoriutama: Flashelectricallyerasableprogrammable readonlymemory(EEPROM) Static randomaccessmemory(SRAM) byteaddressableEEPROMuntukpenyimpanandata.

  • In-System Programmable Flash EEPROM programmableflashEEPROM digunakanuntukmenyimpanprogram.memoriinidapatdihapusdandiprogramsebagaisingleunit. FlashEEPROMmerupakanmemorinonvolatile,isimemoritetapadasampaicatudayadimatikan. ATmega328memiliki32Kbytesreprogrammableflashmemory.Komponenmemoryiniterdiridari16Klokasiyangdapatmenyimpan16bituntuksetiaplokasi.

  • Byte-Addressable EEPROM Byteaddressablememorydigunakanuntukmenyimpansecarapermanenvariabelvariabelselamaeksekusiprogram.merupakanmemori nonvolatile. Bergunauntuksistemloggingjikaterjadikesalahan/malfunctionsaateksekusiprogram,jugabergunauntukmenyimpandataketikakehilangancatudayatapibisadigantigantisecaraperiodik.Contoh:kuncielektronik,pintugarasiotomatis. ATmega328memilikiEEPROM1024bytes.

  • Static Random Access Memory (SRAM)MemoryStaticRAMmerupakanvolatile,yangisinyaakanterhapusjikacatudayadimatikan.Memorydapatditulisdandibacaselamaeksekusiprogram. ATmega328 memiliki2KBytesSRAM.Terdapatbagiankecilyangdialokasikanuntukgeneral purposeregistersyangdigunakanolehprosesordansisteminput/outputperipheral. DaftarregisterdanfileheaderyangadapadaATmega328dapatdilihatdilampiranAdanB. Ketikaeksekusiprogram,RAMdigunakanuntukmenyimpanvariabelglobal,mendukungalokasimemorydynamicuntukvariabel,danmenyediakanlokasistack.

  • PORT SYSTEM AtmelATmega328memiliki4unit8bitinput/output(I/O)digital,yaitu: PORTA,PORTB,PORTC,andPORTD. Semuaportinimemilikifungsialternatif.(akandibahasnanti)

  • Terlihatpadagambar1.13,setiapportmemilikitigaregister,yaitu: DataRegisterPORTx digunakanuntukmenulisdataoutputkeport. DataDirectionRegisterDDRx digunakanuntuksetpintertentupadaportuntukoutput(1)atauinput(0). InputPinAddressPINx digunakanuntukmembacadatainputdariport.Gambar1.13(b)menjelaskanpengaturanyangdibutuhkanuntukkonfigurasipintertentupadaportuntukinputatauoutput. Jikainput,pindapatdisetsebagaipininputatauuntukbeoperasidenganmodeimpedansitinggi(HiZ)mode.Ketikamode HiZ,inputpadapintersebutberimpedansitinggi. Jikaoutput,pindapatdiatursebagailogiclowatau logichigh.Pinpinpadaportdikonfigurasidiawalprogram,baikuntukinputatauoutputdengansetnilaiawal. Biasanya8pinpadaportdikonfigurasisekaligusbersamaan.

  • ATmega328 block diagram

  • INTERNAL SYSTEMSBagian ini membahas fiturfitur internal yang ada pada ATmega328.fiturfitur tersebut telah builtin pada chip mikrokontrolernya.Dengan ini tugastugas cukup rumit dapat dilakukan olehmikrokontroler.

  • Time Base Mikrokontrolermerupakansebuahsynchronousstatemachineyangkompleks. secarasekuensialmeresponstepstepprogramsepertiyangtertulispadaprogramyangdibuatolehuserdenganurutanfetchdecodeexecute. setiapinstruksiprogrambahasaassemblermenghasilkanserangkaiansinyalkontrolkehardwaremikrokontroleruntukmenghasilkanoperasioperasiyangberkaitandenganinstruksiyangdiberikan.

  • Time Base (cont) Kecepatan urutanurutan setiap taskpada mikrokontroler diaturdengan clock.Sumber clockini dijadikan sinyal pulsa bagi seluruhperangkat yangterhubung dengan mikrokontroler. ATmega328memiliki clockinternalatau clockeksternal.FrekuensiClockinternaldapat diatur melalui program,dengan frekuensi 1,2,4or8MHz. Untuk variasi frekuensi selain itu dapat menggunakan eksternalclock(cth:oscillatorcrystal).

  • Timing Subsystem ATmega328dilengkapi dengan timertambahan yangdapatmenghasilkan sinyal outputyangpresisi,menghitung karakteristiksinyal digital(periode,dutycycle,frekuensi). ATmega328dilengkapi dengan 2unittimer/counter8bitdan 1unitcounter16bit.

  • Pulse Width Modulation Channels Sinyal Pulsewidthmodulated(PWM)memiliki frekuensi tetap dengan dutycycleyangbervariasi. Dutycycleadalah persentasi waktu sinyal dengan logika highselama periodesinyal berlangsung.Dapat dituliskan sebagai :

    ATmega328memiliki 4unitchannel(PWM).ChannelPWMterhubung dengansumber clockyangdapat menghasilkan beberapa variasi lebar sinyal PWM(darifrekuensi tinggi dengan sinyal lowdutycyclesampai dengan frekuensi rendahdengan sinyal highdutycycle) Sinyal PWMdigunakan dalam berbagai aplikasi,seperti dalam pengontrolanposisi motorservo,pengaturan kecepatan motorDCV,dll.

  • Serial CommunicationsATmega328dilengkapi dengan beberapa subsistem komunikasi serial: UniversalSynchronousandAsynchronousSerialReceiverandTransmitter(USART) Serial peripheralinterface(SPI) TwowireSerialInterface.Semua systemtersebut menggunakan transmisi datasecara serial,yaitu dengan mengirimkan databitperbitdari transmitterkereceiver.

  • Serial USART SerialUSARTmenggunakan komunikasi fullduplex(dua arah)antara receiverdan transmitter.Pada Atmega328dihubungkan dengan hardwareterpisah untuk transmitterdan receiver.

    USARTsecara umum menggunakan komunikasi asynchronous.Yangartinya tidak ada clockyangtetap antara pengirim dan penerima.Untuk menyelaraskan antara keduanya,digunakanstartbitdan stopbitdisetiap awal dan akhir data.

    USARTpada ATmega328USARTcukup flexible.Kecepatan transmisi data(Baud(bitspersecond)dapat diset sesuai dengan keperluan,dengan lebar data5 9bitdengan satu atau duastopbit.

    ATmega328juga dilengkapi dengan bitparity(evenatau odd)dan hardwareyangakanmelakukan checkparitypada receiver.Satu bitparitas dapat mendeteksi errorbitdalam satubytedata.

    USARTjuga biasdikonfigurasi dalam modesynchronous.(akan dibahas nanti).

  • Serial Peripheral InterfaceSPI SerialPeripheralInterface(SPI)menggunakan komunikasi serialdua arah antara transmitterdan receiver.

    Sistem SPImenggunakan sumber clockyangsama.Sehingga membutuhkan jalur clocktambahan antara receiverdan transmittertapi juga meningkatkan kecepatan transmisi datadibandingkan USART.

    SPImerupakan shiftregistersynchronousdengan 8bittransmitterdan 8bitreceiver. Transmitterdisetsebagai masterkarena menyediakan sumber clockantara transmitterdanreceiver.Sedangkan receiverdisetsebagai slave.(dibahas nanti)

  • Two-wire Serial InterfaceTWI Dengan Sistem TWIbeberapa perangkat bisa dihubungkan dalam satu jaringan(microcontrollers,transducers,displays,memorystorage,etc.)denganmenggunakan skema interkoneksi twowire. TheTWIdapat menghubungkan maximum128perangkat sekaligus.Setiapperangkat memiliki alamat yan