Laboratorijske vaje pri predmetu Mikroprocesorski sistemi Ime in priimek: Nikola Ančić , Zdenko Nikolić Vpisna številka: E5034408, E5034134 Študijski program: MAG - Elektrotehnika Smer: Elektronika Študijsko leto: 2017/2018 KAZALO: Contents Uvod ........................................................................................................................................... 3 1. Specifikacijo zahtev ............................................................................................................ 4 2. Funkcijsko specifikacijo ..................................................................................................... 5 2.1. Komponente .................................................................................................................... 5 2.2. Shema projekta .............................................................. Error! Bookmark not defined. 3. Izvedbeno specifikacijo....................................................................................................... 8 4. Uporabniška navodila za izradu projekta .......................................................................... 15 Uvod Zadatak laboratorijski vaji je samostalno izdelati projekat s pomočjo mikrokrmilnika. V poročilu bo natančno opisana izrada projekta, te zahtevi s katerima smo se srečali. Poročilo sadrži specifikacijo zahtev, funkcijsko specifikacijo, izvedbeno specifikacijo in uporabniška navodila za izvedbu projekta. S izradom projekta s pomočjo mikrokrmilnika susrečemo se prvi put. Zaradi tega smo se susrečali s številnimi problemima. U ovom poročilu detaljno čemo opisati na kateri način smo izradili projekat, te način na kateri bi lahko neki drugi uporabnik (lahko hobby uporabnik, brez poznavanja mikrokrmilnika in programiranja). 1. Specifikacijo zahtev Zahtev projekta je izdelati mehanizam ki upravlja sončnom celicom in prati sonce, če bi postavil sončnu celicu v optimalni položaj. V zadnjih letih se potreba za energijom večkrat povečala in potreba za obnobljive vire energije je nujna. Naloga projekta je tudi i osveščanje o pomenu obnovljivi virov energije. Obnovljivi izvori energije su viri energije ki se dobijajo iz narave in kateri se mogu obnavljati. Danes su prav tako korisni ker ne škode naravi. Zaradi tega ena od najpopularniji načina za izkoriščanje su sončne celice. Izdelana je sončna celica ki na vrlo enostavan način zadovoljava potrebe za hobby korištenje . Naloga projekta je tudi i cenejša izdelava, ker je projekt namenjen za šolarje,studente in hobby korisnike . V projektu je potrebno imati fu nkcionalnu strukturu, da bi bolje prikazal nalogo sončne celice z dvi osi in bolje zanimljiv za končneg korisnika. Takoder zahteva projekta je pokrenuti i senzor temperature. Senzor temperature ki 2. Funkcijsko specifikacijo Funkcijska specifikacija je zasnovana tako, da nudi podrobnejši vpogled v sestavo in izgradnjo zadanega sistema. 2.1. Komponente Za kompletiranje projekta potrebujemo nasljedne dele: Naziv komponente Serijski broj Količina Enota Mikrokrmilnik STM32L152C - DISCO 1 KOM Servo motor SER0039 2 KOM LDR NORPS12 4 KOM Solarna ćelija 1 KOM Žice 1 PAK Otpornik 10 kΩ 4 KOM Baterija 4,5V 1 KOM Drveno ohišje 1 KOM Izvijač 1 KOM Trenutno lepilo 1 KOM Lepilo za les 1 KOM Klešče 1 KOM Vijak s maticom M5X20 16 KOM Vijak s maticom M5X30 2 KOM Vijak s maticom M4X40 1 KOM Tabela 1. Komponente potrebne za izradu projekta Mikrokrmilnik je čip, ki vsebuje skoraj vse sestavine mikroračunalnika( procesor,notranji pomnilnik,vmesnike) Za popoln mikroračunalnik, mikrokrmilniku potrebuje le vhodno - izhodne enote ( tipke, senzorji, motori ... ) . Najpomebnejša sestavina mikrokrmilnika je procesor . Procesorji v mikrokrmilniku se razlikujejo v številu bitov, ki jih obdelujejo hkrati in v hitrosti delovanja oziroma taktu. Na nasljednoj tabeli podatki mikrokrmilnika ki smo izabrali. Oznaka STM32L152RCT6 Procesor ARM Cortex M3 Flash memory 256 KB RAM memory 32 KB EEPROM 8 KB Power supply 3.3V-5V LCD ekran 24 segmentni LED 4 LED, LD1 za USB komunikaciju, LD2 za 3.3V, LD3 in LD4 korisničke LED Linearni senzor dodira, Dodatne mogućnosti Dva gumba( korisnički in reset), 4 tipke na dodir Senzor temperature Dokumentacija STM32L152C - DISCO, Datasheet Tabela 2. Podatci o mikrokrmilniku Slika 1. Mikrokrmilnik STM32L152C-DISCO LDR- Light detection resistor – Komponenta, ki ima spremenjivo odpornost, ki se spreminja z intezivnosti svetlobe, ki jo pade na njo. To jim omoguča, da se uporablja v svetlobnih vezjih. Zelo pogosto ih srečamo na prostem luči u vrtu,ali nočne loči v zaprt ih prostori.Delajo tako, da spremenijo stopnjo odpornosti, ki temelji na tem, koliko svetlobe jih zadene. Več svetlobe,manj odpornosti imajo. V našem projektu v odvnisnosti spreminjanja odpornosti, pomicati će se sončna celica. Slika 2. Light detect resistor Slika 3. Odvisnost otpora o jakosti svetlobe Servo motor SER- 0039 je jako mali, precizni i cenejši servo motorić. . Odločili smo se uporabljati tiste s kovinskimi orodji, saj želimo da naš projekt traja zelo dolgo. Motor katerem lahko odredimo zadati kut, hitrost okretaja in akceleraciju. Kada servo motor dobije naredbu za pokret okretati će se do zadane pozicije. Servo motor posjeduje DC motor, potenciometar in kontrolne ploščice. Ko se motor vrti, se odpornost potenciometra spremeni. To omogoča, da nadzorna plošča natančno nadzoruje vrtenje, hitrost, pospešek in smer vrtenja. Motore krmilimo s pošiljanjem signala PWM nad krmilno žico. Slika 4. Servo motor 3. Izvedbeno specifikacijo V izvedbenoj specifikaciji potrebno je postaviti vse vidike izvedbe sistema, od zasnove vezja do izvedbe projekta. Na začetku projekta smo izdelali shemu projekta. LDR smo spojili zajedno s otpornicima na ADC pinove. Otpornike ki smo koristili v vezju su 10 k Ω. Dva servo motora ki imamo smo morali spojiti na PWM pinovi. PWM – Pulse Width Modulation- tehnika dobijanja analogni vrednosti s pomočju digitalnih impulsa ker je u svakom trenutku vremena nivo signala ili na nič ili na maksimum. Dodatno smo još imali napajanje s pomočju baterija od 6V kako bi mogli napajati cijeli sustav. Napon ki je potreban za pokretanje servo mtoora je od 4.8V do 6V, ki smo s napajanjem od 6V uspjeli zadovoljiti. Slika 5. Shema projekta Nakon izrade sheme in naručivanja komponente smo trebali izraditi samo kučište, kako bi imali sončnu celicu s pomjeranjem v dvi osi. Na slici ispod lahko vidimo shemu kučišta ki trebamo izrezati. Slika 6. Shema kučišta za rezanje drveta Nakon crtanja sheme smo kupili drvo debljine 6 mm. Vijke ki so potrebni za sastavljanje komponenti lesa, ljepilo za les in ljepilo za plastiku je takoĎer potrebno nabaviti. Les skupaj z shemom smo odnijeli na lasersko rezanje sheme. Na slici ispod ćemo vidjeti komponente nakon laserskog rezanja. Slika 7. Komponente poslije laserskog rezanja Nakon laserskog rezanja spojili smo komponete lesa i elektronske komponente. Na slikama ispod ćemo objasniti kako smo napravili končnu izvedbu projekta. Potrebno je otvoriti vrecicu v kateri se nahaja servo motor in pomocni deli. V vrecici dobijemo vijke ki so nam potrebni kako bi pritvrdili na les. Slika 8. Servo motor spojen na les Slika 9. Drugi servo motor spojen na les Okrugli dio sa servo motor potrebno je sestaviti sa 4 enaka dela in velikom ploščom ki se nahaja na dnu. Pri tome je potrebno koristiti vijke dimenzije M5X20. Potrebujemo 8 vijaka. Potrebno je obratiti pozornost na okretanje servo motora. Glava servo motora mora se nahajati sa gornje strane. Slika 10. Spojene komponente lesa Nasljedni korak je sestaviti dijelove, na katerima ce se nahajti solarna celica. Koristimo vijke 4x20 pri ovom koraku in potrebujemo 4 vijka. Dijelove gdje se spajajo lesovi, potrebno je pritvrditi s lepilom za les. Slika 11. Spojene komponente lesa Nasljedni korak je spajanje delova gdje se nahaja drugi servo motor. Na ovoj slici takoder potrebujemo vijke m5x20 in potrebujemo lepilo za les. Slika 12. Spojene komponente lesa Potem stavljamo LDR kao na slici ispod in spajamo ih kao na slici . Takoder za tocno spajanje lahko pogledamo shemu. Slika 13. Spajanje LDR sa lesom Na slici ispod ćemo vidjeti zalijepljen protoboard na les. S LDR s pomočjo žica smo spojili na protoboard in na otpornike ki se nahajajo na protoboardu. TakoĎer svakui pojedinu žicu smo izolirali s pomočju trake, ker je potrebno osigurati da ne pride do sastavljanja žica. Slika 14. Spajanje LDR sa otpornicima na les pomočju protoboard Na nasljednoj sliki vidimo končno kučište projekta. Nakon izrade kučišta smo trebali napisati kod kako bi sve fun kcioniralo što boljše. Ker se prvi put susrečemo s projektom smo morali nači alat kako bi što lakše napisali kod ki je potreban. Za prvič put smo izabrali Atollic Studio. Atollic je sada dio STMicroelectronics. Mi radimo s kikrokontrolerom STM32, za ki je Atollic baš namjenjen. Atollic TrueStudio za STM32 je komercijalni IDE baziran na C/C++ otvorenom kodu sa profesionalnim dodacima , funkcije i pomoči. In što je za studente in hobby korisnike, Ato llic je brezplačan za skidanje. Medtem potrebno je napisati i inicijalizirati kod za sve komponente. Za to smo na netu pronašli program STM32CubeMX. STM32CubeMX je dio STMicroelectronics če bi napravio programerima lakšu inicijalizaciju samog koda. V CubeM X smo pronašli naš mikrokrmilnik in za njega in naše komponente ki posjedujedujemo inicijalizirali početni kod. Potrebno je odabrati točne pinove. TakoĎer potrebno je odreĎene pinove ki se automatski inicijaliziraju za LCD ekran izbrisati, če nebi došlo do preklapanja sa pinovima za mikrokrmilnik. Če smo inicijalizirali početni kod smo kod otvorili v AttolicStudio . V njemu smo dodali kod, ki je potreban za pokretanje sončne celice. Prvo smo probali pokrenut i očitavati vrijednosti sa samog LDR. Če smo usp jeli očitati vrednosti sa LDR , napisali smo kod i za servo motore. Nakon uspješno napisanog koda za cjelokupan sustav smo dodali još kod za senzor temperautre ki se nalazi automatski ugrajen na našem mikrokrmilniku. Za senzor temperature je potrebno bilo pronaći u datasheet način na kateri bi senzor temperature kalibrirali da pokaziva točnu temperaturu. Pomočjo datasheet smo to uspjeli uraditi. 4. U porabniška navodila za izradu projekta . Na začetku projekta potrebno je dobiti nasljedne komponente. Naziv komponente Serijski broj Količina Enota Mikrokrmilnik STM32L152C - DISCO 1 KOM Servo motor SER0039 2 KOM LDR NORPS12 4 KOM Solarna ćelija 1 KOM Žice 1 PAK Otpornik 10 kΩ 4 KOM Baterija 4,5V 1 KOM Drveno ohišje 1 KOM Izvijač 1 KOM Trenutno lepilo 1 KOM Lepilo za les 1 KOM Klešče 1 KOM Vijak s maticom M5X20 16 KOM Vijak s maticom M5X30 2 KOM Vijak s maticom M4X40 1 KOM Drveno ohišje, ki nam je potrebno za izradu projekta, potrebno je laserski izrezati. Shema drvenog ohišja ki je potrebno laserski izrezati. Debljina drveta za rezanje je 6 mm. Dimenzija plošče ki je potrebno kupiti je nasljedna : 80cmx60cm. Ko smo dobili odrezane dele za drveno ohišje, potrebno je spojiti dijelove na nasljedni način: Na slici gore lahko vidimo izrezane sve dele. Delove je potrebno spajati kao na slikama ispod št o ćemo objasniti. Na začetku je potrebno spojiti servo motore kao na slici ispod. Potrebno je otvoriti vrecicu v kateri se nahaja servo motor in pomocni deli. V vrecici dobijemo vijke ki so nam potrebni kako bi pritvrdili na les. Okrugli dio sa servo motor potrebno je sestaviti sa 4 enaka dela in velikom p loščom ki se nahaja na dnu. Pri tome je potrebno koristiti vijke dimenzije M5X20. Potrebujemo 8 vijaka. Potrebno je obratiti pozornost na okretanje servo motora. Glava servo motora mora se nahajati sa gornje strane. Nasljedni korak je sestaviti dijelove, na katerima ce se nahajti solarna celica. Koristimo vijke 4x20 pri ovom koraku in potrebujemo 4 vijka. Dijelove gdje se spajajo lesovi, potrebno je pritvrditi s lepilom za les. Nasljedni korak je spajanje delova gdje se nahaja drugi servo motor. Na ovoj slici takoder potrebujemo vijke m5x20 in potrebujemo lepilo za les. Potem stavljamo LDR kao na slici ispod in spajamo ih kao na slici . Takoder za tocno spajanje lahko pogledamo shemu.