Pengendali Motor DC-2019-01-16 · • Praktikan mampu membuat pengendali PID digital untuk...

20
1 EL3214 Praktikum Sistem Mikroprosesor Modul Pengendali Motor DC Daftar Isi 1 Modul IV Pengendali Motor DC............................................................................................................ 2 1.1 Tujuan........................................................................................................................................... 2 1.2 Daftar Komponen ......................................................................................................................... 2 1.3 Kit Kendali Motor DC .................................................................................................................... 3 1.3.1 Perhatian .............................................................................................................................. 4 1.3.2 Persiapan .............................................................................................................................. 4 1.4 Percobaan Arduino Nano ATMega328P ....................................................................................... 5 1.4.1 Tujuan ................................................................................................................................... 5 1.4.2 Persiapan .............................................................................................................................. 5 1.4.3 Tugas .................................................................................................................................... 5 1.5 Sensor Rotary Encoder ................................................................................................................. 5 1.5.1 Tujuan ................................................................................................................................... 5 1.5.2 Teori ..................................................................................................................................... 5 1.5.3 Tugas .................................................................................................................................... 7 1.6 Motor Driver H-Bridge TB6612FNG ............................................................................................ 11 1.6.1 Tujuan ................................................................................................................................. 11 1.6.2 Teori ................................................................................................................................... 11 1.6.3 Persiapan ............................................................................................................................ 13 1.6.4 Tugas .................................................................................................................................. 13 1.7 Kendali Kecepatan Open Loop ................................................................................................... 14 1.7.1 Tujuan ................................................................................................................................. 14 1.7.2 Persiapan ............................................................................................................................ 14 1.7.3 Tugas .................................................................................................................................. 14 1.8 Kendali Kecepatan Motor DC Dengan PID.................................................................................. 14 1.8.1 Tujuan ................................................................................................................................. 14 1.8.2 Persiapan ............................................................................................................................ 14 1.8.3 Tugas .................................................................................................................................. 15 1.9 Kendali Posisi Motor DC Dengan PID.......................................................................................... 15

Transcript of Pengendali Motor DC-2019-01-16 · • Praktikan mampu membuat pengendali PID digital untuk...

1

EL3214PraktikumSistemMikroprosesorModulPengendaliMotorDCDaftarIsi1 ModulIVPengendaliMotorDC............................................................................................................2

1.1 Tujuan...........................................................................................................................................2

1.2 DaftarKomponen.........................................................................................................................2

1.3 KitKendaliMotorDC....................................................................................................................3

1.3.1 Perhatian..............................................................................................................................4

1.3.2 Persiapan..............................................................................................................................4

1.4 PercobaanArduinoNanoATMega328P.......................................................................................5

1.4.1 Tujuan...................................................................................................................................5

1.4.2 Persiapan..............................................................................................................................5

1.4.3 Tugas....................................................................................................................................5

1.5 SensorRotaryEncoder.................................................................................................................5

1.5.1 Tujuan...................................................................................................................................5

1.5.2 Teori.....................................................................................................................................5

1.5.3 Tugas....................................................................................................................................7

1.6 MotorDriverH-BridgeTB6612FNG............................................................................................11

1.6.1 Tujuan.................................................................................................................................11

1.6.2 Teori...................................................................................................................................11

1.6.3 Persiapan............................................................................................................................13

1.6.4 Tugas..................................................................................................................................13

1.7 KendaliKecepatanOpenLoop...................................................................................................14

1.7.1 Tujuan.................................................................................................................................14

1.7.2 Persiapan............................................................................................................................14

1.7.3 Tugas..................................................................................................................................14

1.8 KendaliKecepatanMotorDCDenganPID..................................................................................14

1.8.1 Tujuan.................................................................................................................................14

1.8.2 Persiapan............................................................................................................................14

1.8.3 Tugas..................................................................................................................................15

1.9 KendaliPosisiMotorDCDenganPID..........................................................................................15

2

1.9.1 Tujuan.................................................................................................................................16

1.9.2 Persiapan............................................................................................................................16

1.9.3 Tugas..................................................................................................................................19

1.10 TugasPendahuluan....................................................................................................................19

1.11 Referensi....................................................................................................................................20

DaftarGambar

Gambar1KitMotorDC...............................................................................................................................3Gambar2PillowBearing.............................................................................................................................4Gambar3Keluaranrotaryencoderpadaputaransearahjarumjam.........................................................7Gambar4Keluaranrotaryencoderpadaputaranberlawananjarumjam.................................................7Gambar7Contohkonfigurasipercobaanmotordanrotaryencoder.........................................................9Gambar5TampakbawahmotordriverTB6612FNG................................................................................12Gambar6Rangkaianpercobaanmotordriver..........................................................................................13Gambar8Rangkaiansistemkendalimotor..............................................................................................15Gambar9Blokdiagramsistemkendalikecepatan...................................................................................15Gambar10Blokdiagramsistemkendaliposisi.........................................................................................16

DaftarTabel

Tabel1Listingprogrampengukurposisi.....................................................................................................9Tabel2TabelKebenaranmotordriver......................................................................................................12Tabel3Listingprogramkendaliposisi......................................................................................................16

1 ModulIVPengendaliMotorDC1.1 Tujuan

• Praktikandapatmembuatantarmukamikrokontrolerkerotaryencoder• Praktikandapatmembacainformasiposisidankecepatandarirotaryencoder• PraktikandapatmembuatantarmukaoutputmikrokontrolerkemotorDC• PraktikanmampumembuatpengendaliPIDdigitaluntukmengendalikanposisidankecepatan

motorDC

1.2 DaftarKomponenBerikutinidaftarkomponendanperangkatyangdiperlukanuntukpercobaanini:

• KitMotorDC• MikroprosesorArduinoNano(ATMega328P)

3

• KabelUSBminiuntukArduinoNano• Breadboard• ModulMotorDriverTB6612FNG• Potensiometerdengannilai1ksampai10kuntukinputposisi• PowerSupply5volt2ampereuntuksupplykemotor• Osiloskop• Multimeter• Kabel-kabelpendekuntukbreadboard

1.3 KitKendaliMotorDCPraktikuminimenggunakankitmotorDCsebagaiberikut.

Gambar1KitMotorDC

KomponenutamakitmotorDCadalahsebagaiberikut

• MotorDC12volttipe775denganporos5mmsebagaipenggeraksistem.• Porosutamastainlesssteel8mm• Pillowbearing8mm• RotaryEncoder400pulsedenganporos6mm• DuabuahPelatAluminium5mmsebagaibebanmomeninersia• Closedlooptimingbeltdenganpanjang160mm

4

• PulleyGT2denganporos8mm(untukdipasangdiporosutama)• PulleyGT2denganporos6mm(untukrotaryencoder)• Terminalblok12titik• Flexibleshaftcoupling8mmke5mm

Gambar2PillowBearing

MotorDCberputarsesuaidenganteganganyangdiberikanpadaterminalnya.Arahputaransesuaidenganpolaritastegangan.MotorDCmenggerakkanporosutama,yangjugamenggerakkanbebanpiringandansensorrotaryencoder.Kecepatandanposisirelativedaripiringandapatdiketahuidenganmenggunakansensorrotaryencoder.

1.3.1 Perhatian• KitmotorDCinidapatbergerakdengankecepatancukuptinggi,sehinggajikaterkenaalat-alat

atauanggotabadandapatmenyebabkankerusakanataucedera.• Pastikanteganganyangdiberikandaripowersupplykemotordibatasipada5voltsaja.Motor

inidapatmenerimategangansampai12volt,namunputarannyaakanterlalucepatdanmembahayakan.

• Janganmenyentuhkomponenyangbergerakketikamotorsedangberputar.• Bersikapseriusketikamengoperasikanmotor• SegeramematikanpowersupplyjikaterjadimasalahpadakitmotorDC.• Matikanpowersupplyketikamelakukanpenyambungankabel-kabel.

1.3.2 Persiapan• CekfisikkitmotorDC,apakahmekaniknyalengkap.• Cobaputarpiringanaluminiumdengantangan,pastikanhalberikutini:

o porosdapatberputar

5

o beltbergerako sensorrotaryencoderberputaro flexibleshaftberputaro motorberputaro tidakadamur/bautyanglonggar

1.4 PercobaanArduinoNanoATMega328P1.4.1 Tujuan

• MengujifungsionalitasArduinoNano• Mengujiinputanalogdaripotensiometeryangakandipakaisebagaitargetposisidankecepatan

1.4.2 Persiapan• PasangArduinoNanodibreadboard• SambungkanArduinoNanokePCdengankabelUSBmini• JalankanAplikasiArduinodiPC

1.4.3 Tugas• JalankancontohprogramBlinkdariArduino,untukmemastikanbahwaArduinoberfungsibaik.

ProgramBlinkdapatdiaksesdarimenu“File”->“Examples”->“01.Basics”->Blink• JalankancontohprogramDigitalReadSerialdariArduino,untukmemastukanbahwaPCdapat

menerimadataserialdariboardArduinonano.ProgramDigitalReadSerialdapatdiaksesdarimenu“File”->“Examples”->“01.Basics”->DigitalReadSerial

• Jalankancontohprogramuntukmembacainputanalogdaripotensiometer,danmenampilkanoutputnyakeportserial.PerhatikanbatasatasdanbawahdariADC,karenamungkintidakpenuhdari0sampai1023.

1.5 SensorRotaryEncoder1.5.1 Tujuan

• MengujiperilakusensorrotaryencoderuntukmotorDC• Membuatsistempengukurkecepatan• Membuatsistempengukurposisi

1.5.2 Teori

6

Gambar1RotaryencodertipeLPD3806-600BM

TabelKabelpadaRotaryEncoder

WarnaKabel NamaSinyalMerah 5voltsampai24voltDCHitam GNDHijau SinyalA(opencollector)Putih SinyalB(opencollector)Shield GND

Outputrotaryencoderberupapulsayangfrekuensinyasebandingdengankecepatanputaran.ArahputaranjugadapatdiketahuidariperbedaanfasaantarasinyalAdansinyalB.SinyalAdanBadalahopencollector,sehinggamemerlukanresistorpullup.Resistorpullupinidapatmenggunakanresistorbiasa,bisajugamenggunakanpull-upinternalpadamikrokontroler.

7

Gambar3Keluaranrotaryencoderpadaputaransearahjarumjam

Gambar4Keluaranrotaryencoderpadaputaranberlawananjarumjam

1.5.3 Tugas PengujianRotaryEncoderManual

• SambungkanGNDpadarotaryencoder(kabelhitam)• Berikantegangan5VkeVCCpadarotaryencoder(kabelmerah)• BerikanpullupresistorpadaoutputAdanBdarirotaryencoder.• UkurteganganoutputrotaryencoderAdanB(kabelputihdanhijau)denganmenggunakan

osiloskop• Putarsedikitporosmotordengantangan.Jikasensorberfungsibaik,seharusnyaadasinyalpada

outputAdanBpadarotaryencoder.Perhatikanperbedaanfasajikaarahputarandibalik.

Pertanyaan

8

• Bandingkanfasaoutputrotaryencoderantaradatasheetdenganyangdiukur• Catattegangankeluaranrotaryencoder

PengujianmotorDC+rotaryencoder• Pengujianinilanjutandaripengujianrotaryencoer• Berikantegangan5voltDCpadamotor,seharusnyamotorakanberputar• Amatiteganganoutputrotaryencoder,seharusnyasinyalAdanBadabedafasa90derajat• GantipolaritasteganganpadamotorDC,seharusnyaperbedaanfasayangmunculpadaoutput

rotaryencoder(AdanB)akankebalikanfasadarisebelumnya.

Pertanyaan

• Bandingkanfasaoutputrotaryencoderantaradatasheetdenganyangdiukur• Catattegangankeluaranrotaryencoder• Ukur/hitungkecepatanmotormaksimumberdasarkanfrekuensisinyalyangterlihatpada

osiloskop,untukmasing-masingarah,denganteganganpadamotordibatasi5volt.

SoftwarePengukurPosisi

Berikutinifotokonfigurasiuntukpengukuranposisidankecepatanmenggunakanrotaryencoder.

9

Gambar5Contohkonfigurasipercobaanmotordanrotaryencoder

Padapercobaaniniakandijalankansoftwareyangmengukurposisisudut.Posisiawalketikaresetdiasumsikanadalah0.Outputposisiditampilkanpadaportserialdengankecepatan9600bps.

Tabel1Listingprogrampengukurposisi

/*MengukurposisirelatifrotaryencoderdenganINT0danINT1*/intstate=0;longintposisi=0;voidISR_INT0(){intpinA,pinB;pinA=digitalRead(2);pinB=digitalRead(3);if(pinA==LOW&&pinB==LOW){posisi--;//CCW}if(pinA==LOW&&pinB==HIGH){

10

posisi++;}if(pinA==HIGH&&pinB==LOW){posisi++;//CCW}if(pinA==HIGH&&pinB==HIGH){posisi--;//CCW}}voidISR_INT1(){intpinA,pinB;pinA=digitalRead(2);pinB=digitalRead(3);if(pinA==LOW&&pinB==LOW){posisi++;//CCW}if(pinA==LOW&&pinB==HIGH){posisi--;}if(pinA==HIGH&&pinB==LOW){posisi--;//CCW}if(pinA==HIGH&&pinB==HIGH){posisi++;//CCW}}voidsetup(){//initializeserialcommunicationsat9600bps:Serial.begin(9600);pinMode(LED_BUILTIN,OUTPUT);//untukindikatorpinMode(2,INPUT_PULLUP);pinMode(3,INPUT_PULLUP);attachInterrupt(digitalPinToInterrupt(2),ISR_INT0,CHANGE);attachInterrupt(digitalPinToInterrupt(3),ISR_INT1,CHANGE);}voidloop(){if(state==0){state=1;digitalWrite(LED_BUILTIN,HIGH);//turntheLEDon(HIGHisthevoltagelevel)}else{state=0;digitalWrite(LED_BUILTIN,LOW);//turntheLEDon(HIGHisthevoltagelevel)}Serial.print("posisi");

11

Serial.print(posisi);Serial.println("");delay(1000);}

Pertanyaan:

• Amatiberapaperubahanposisiyangdicatatjikasistemdiputar360derajat• SoftwareinimenggunakanpinINT0danINT1.BagaimanacaramenghubungkanINT0danINT1

supayaangkahasilpengukuranposisisesuai(positif/negatifnya).• Modifikasisoftwareinisupayadapatdijalankanmenggunakan“InterupsiPinChange”,supaya

dapatdipakaidipinselainINT0danINT1• ModifikasisoftwareinisupayadapatdijalankanpadaCodeVisionAVR

SoftwarePengukurKecepatanBuatlahsoftwareyangmengukurkecepatansudut.Outputkecepatanditampilkanpadaportserial.

Tips:

• Pengukurankecepatandilakukandengancaramembagiposisidenganwaktu.Teknisnyadapatdilakukandenganmenggunakaninterupsitimeruntukmembangkitkansamplingdenganfrekuensitertentu,danmeresetcounterposisisetiapterjadiinterupsitimer.Angkaposisiyangtercatatketikaterjadiinterupsimewakilikecepatansudut.

• InterupsiTimer1diArduinodapatmenggunakanlibraryTimer1(http://playground.arduino.cc/code/timer1)

• InterupsiTimer1diCodeVisionAVRdapatdiaktifkandenganmenggunakanCodeWizardataupuncaramanual(membacaregisterdaridatasheetATMega328)

Pertanyaan:

• BuatlahsoftwareyangmenampilkankecepatansudutsistemberbasissoftwareArduino• BuatlahsoftwareyangmenampilkankecepatansudutsistemberbasissoftwareCodeVisionAVR

1.6 MotorDriverH-BridgeTB6612FNG1.6.1 Tujuan

• MengujiperilakumotordriverTB6612FNGdenganbebanresistor• MengujioutputPWM• Menghitungdisipasienergypadamotordriver

1.6.2 Teori

12

Gambar2TampakatasmotordriverTB6612FNG

Gambar6TampakbawahmotordriverTB6612FNG

Tabel2TabelKebenaranmotordriver

13

1.6.3 PersiapanBuatlahbebanresistoryangdapatmenerimaarus1amperepadategangan5volt.Perhatikanbatasdisipasiresistor.

Buatlahrangkaianmotordriversebagaiberikut:

Gambar7Rangkaianpercobaanmotordriver

Perhatikanbahwapowersupplyuntukmikrokontrolerdibedakandenganpowersupplyuntukmotor-driver.

1.6.4 Tugas• BuatlahsoftwarepadaArduinoNanountukmenghasilkansinyalPWMdarimotordriverdengan

berbagaidutycycle(0%,25%,50%,100%)danpolaritaspositifdannegative.Jaditotalada7pengukuran.

• Ukurlahteganganpowersupplymotordanteganganyangmunculpadaresistorbeban.Hitunglahdisipasienergypadamotordriver,danefisiensimotordriverini.BandingkandenganteoriefisiensitransistorMOSFETsebagaisakelar.

• Ukurlahteganganpowersupplymotor,cekapakahterjadifluktuasiteganganberkaitandenganteganganpadabebanresistor.

14

1.7 KendaliKecepatanOpenLoopPadapercobaaninimotordriverdilakukanpengamatanresponmotorterhadapsinyalPWMdenganberbagaidutycycledanpolaritas.

1.7.1 Tujuan• MerekamoutputkecepatanterhadapberbagaiinputPWM

1.7.2 PersiapanBuatlahrangkaiansebagaiberikut

1.7.3 TugasBuatlahrangkaian&programuntukmengirimkansinyalPWMkemotordriverdanmencatatkecepatanmotorsecaraperiodik.

• Amatiuntuktegangan-100%,-75%,-50%,-25%,0,25%,50%,75%,100%• Buatgrafiktransienkecepatanterhadapwaktu.• Apakahperilakusistemorde1,atauorde2ataulebihlagi?Berapakanbandwidthsistem

tersebut?• BuatgrafikkorelasidutycyclePWMdengankecepatansteadystatemotor.• UkurjugaberapadeadbanddengancaramencarinilaiPWMyangtidakdapatmembuatmotor

berputar.

1.8 KendaliKecepatanMotorDCDenganPID1.8.1 TujuanMengendalikankecepatanmotorDCdenganpengendalidigitalberbasisPID

1.8.2 PersiapanBuatlahrangkaiansebagaiberikut.PCdigunakanuntukmemonitorresponsistem.

15

Gambar8Rangkaiansistemkendalimotor

1.8.3 TugasBuatlahpengendalitipePID(ProporsionalIntegralDerivatif)untukmengendalikankecepatanmotor.

• Frekuensisampling1kHz,ataudisesuaikandenganbandwidthdarisistemmotorDCtersebut.• Inputkecepatandiberikanmelaluipotensiometer• DatayangdikirimkePCadalahkecepatantargetdankecepatanyangdicapai.• Pewaktuanmenggunakaninterupsitimer

Gambar9Blokdiagramsistemkendalikecepatan

Halyangdilaporkan:

• Rangkaianpercobaan• Softwarepercobaan• Outputresponterhadapinputstep.Inputstepdapatdibuatdenganmenambahkantombolatau

sinyalinputdariportserial.

1.9 KendaliPosisiMotorDCDenganPIDPadapercobaaninidibuatpengendaliposisimotorDCdenganpengendaliPID.

16

1.9.1 Tujuan• MengendalikanposisimotorDCdenganpengendalidigitalberbasisPID

1.9.2 PersiapanRangkaiansamadengansistemkendalikecepatan.

Berikutdiagrambloksistemkendaliposisi.

Gambar10Blokdiagramsistemkendaliposisi

Berikutinicontohprogramkendaliposisisederhana.Programinimasihmemilikikelemahansebagaiberikut:

• Menggunakandelay()untukpewaktuan,sehinggafrekuensisamplingtidaktepat.Perludiubahmenggunakaninterupsitimer.

• Terdapatserialoutputpadaloopyangdapatmempengaruhifrekuensisampling.

Tabel3Listingprogramkendaliposisi

/*Kendaliposisisederhana*/constintIN2=10;//pinuntukkendaliarahmotorconstintIN1=11;constintPWM=9;//pinuntukPWMconstintanalogInPin=A0;longintsensorValue=0;//valuereadfromthepotintoutputValue=0;//valueoutputtothePWM(analogout)intstate=0;longintposisi=0;longintkecepatan=0;intpinA;intpinB;voidISR_INT0(){

17

pinA=digitalRead(2);pinB=digitalRead(3);if(pinA==LOW&&pinB==LOW){posisi--;//CCWkecepatan--;}if(pinA==LOW&&pinB==HIGH){posisi++;kecepatan++;}if(pinA==HIGH&&pinB==LOW){posisi++;//CCWkecepatan++;}if(pinA==HIGH&&pinB==HIGH){posisi--;//CCWkecepatan--;}}voidISR_INT1(){pinA=digitalRead(2);pinB=digitalRead(3);if(pinA==LOW&&pinB==LOW){posisi++;//CCWkecepatan++;}if(pinA==LOW&&pinB==HIGH){posisi--;kecepatan--;}if(pinA==HIGH&&pinB==LOW){posisi--;//CCWkecepatan--;}if(pinA==HIGH&&pinB==HIGH){posisi++;//CCWkecepatan++;}}voidmotor_power(intpower){intpwm_value;pwm_value=abs(power);if(pwm_value<0)pwm_value=0;if(pwm_value>255)

18

pwm_value=255;if(power>0){digitalWrite(IN1,LOW);//turnoffdigitalWrite(IN2,HIGH);//turnoffanalogWrite(PWM,pwm_value);}elseif(power<0){digitalWrite(IN1,HIGH);//turnoffdigitalWrite(IN2,LOW);//turnoffanalogWrite(PWM,pwm_value);}else{digitalWrite(IN1,LOW);//turnoffdigitalWrite(IN2,LOW);//turnoff}}voidsetup(){//initializeserialcommunicationsat9600bps:Serial.begin(9600);pinMode(LED_BUILTIN,OUTPUT);attachInterrupt(digitalPinToInterrupt(2),ISR_INT0,CHANGE);attachInterrupt(digitalPinToInterrupt(3),ISR_INT1,CHANGE);pinMode(IN1,OUTPUT);pinMode(IN2,OUTPUT);pinMode(PWM,OUTPUT);}voidloop(){staticfloaterror_integral=0;inttarget;floatcontrol;floaterror;//printtheresultstotheSerialMonitor:sensorValue=0;//posisi=0;//wait2millisecondsbeforethenextloopfortheanalog-to-digital//convertertosettleafterthelastreading:if(state==0){state=1;digitalWrite(LED_BUILTIN,HIGH);//turntheLEDon(HIGHisthevoltagelevel)}else{state=0;digitalWrite(LED_BUILTIN,LOW);//turntheLEDon(HIGHisthevoltagelevel)}sensorValue=analogRead(analogInPin);target=sensorValue*2;error=target-posisi;

19

error_integral=error_integral+error;control=error*0.15+error_integral*0.001;motor_power(control);Serial.print(target);Serial.print("");Serial.print(kecepatan);Serial.print("");Serial.print(posisi);Serial.print("");Serial.print(control);Serial.println("");kecepatan=0;delay(10);}

1.9.3 TugasBuatlahpengendalitipePID(ProporsionalIntegralDerivatif)untukmengendalikanposisimotor.

• Frekuensisampling1kHz,ataudisesuaikandenganbandwidthdarisistemmotorDC• InputposisidiberikanmelaluiportserialdariPC• DatayangdikirimkePCadalahposisitargetdanposisiyangdicapai.• Pewaktuanmenggunakaninterupsitimer

Halyangdilaporkan:

• Rangkaianpercobaan• Softwarepercobaan• Outputresponterhadapinputstep.Inputstepdapatdibuatdenganmenambahkantombolatau

sinyalinputdariportserial.

1.10 TugasPendahuluanTugaspendahuluanadalahmenyiapkansemuaprogramyangakandijalankan.

• Modifikasisoftwarepengukurposisisupayadapatdijalankanmenggunakan“InterupsiPinChange”,supayadapatdipakaidipinselainINT0danINT1

• ModifikasisoftwarepengukurposisisupayadapatdijalankanpadaCodeVisionAVR• SoftwareyangmenampilkankecepatansudutsistemberbasissoftwareArduino• SoftwareyangmenampilkankecepatansudutsistemberbasissoftwareCodeVisionAVR• KendaliOpenLoop:programuntukmengirimkansinyalPWMkemotordriverdanmencatat

kecepatanmotorsecaraperiodik.• KendaliKecepatan:programkendalikecepatanberbasisPID• KendaliPosisi:programkendaliposisiberbasisPID

20

1.11 Referensi• ArduinoNano(ATMega328)https://store.arduino.cc/usa/arduino-nano• RotaryEncoderTeardownhttps://wemakethings.net/2014/05/26/rotary-encoder-teardown/• DatasheetRotaryEncoder(bahasaJepang)https://uamper.com/products/datasheet/LPD3806-

360BM.pdf• ReadingRotaryEncoderhttps://playground.arduino.cc/Main/RotaryEncoders• DatasheetTB6612FNGhttps://toshiba.semicon-

storage.com/us/product/linear/motordriver/detail.TB6612FNG.html• TB6612FNGHookupGuidehttps://learn.sparkfun.com/tutorials/tb6612fng-hookup-guide• CodeVisionAVRhttp://www.hpinfotech.ro/cvavr-features.html.•