Harjoitus 4
Harjoitus 4
Tässä harjoituksessa käynnistetään moottori ja säädetään microbitin avulla sen pyörimisnopeutta. Microbitin pinneistä saatava virta on varsin pieni eikä se riitä käynnistämään suurta tehoa vaativaa moottoria. Siksi tässä harjoituksessa käytetään transistoria, jonka toimii virranvahvistimena. Sen avulla voidaan heikollakin ohjausvirralla kytkeä tehokkaita laitteita päälle. Transistorissa on kolme kytkentäpiikkiä. Reunoilla on kollektori ja emitteri joiden välillä päävirta kulkee. Näiden välissä keskimmäinen piikki on kanta johon tuodaan heikompi ohjausvirta jolla säädellään päävirran suuruutta. Mitä suurempi ohjausvirta sitä enemmän päävirtaa pääsee kulkemaan.
Harjoituksessa käytetään ohjausvirtaa käynnistämään moottori ja sen jälkeen lähdetään kasvattamaan moottorin tehoa pulssinleveysmodulaation (PWM) avulla. Tämä tarkoittaa sitä että transistorin avulla vuoroin sallitaan virran kulku ja vuoroin suljetaan se. Määritetään muuttuja Duty, jolla säädetään transistorille syötettävää ohjausvirtaa. Ohjelmoidaan microbit syöttämään while -silmukan avulla ohjausvirtaa transistorille write_analog() käskyllä niin että portaittain yhä suurempi osuus ajasta virta pääsee läpi ja virtapulssin kesto kasvaa ja lepopulssin pienenee. Lopulta Duty muuttujan arvo on 1023 ja moottori käy täysillä. Silloin ohjelma kääntyy päinvastaiseksi ja lähtee portaittain vähentämään virtapulssin pituutta suhteessa lepopulssiin kunnes moottori sammuu. Ohjelmassa on ikuinen silmukka, joten tämä sykli käynnistyy aina uudelleen.
![harjoi4.jpg](https://peda.net/jyvaskyla/ict/palvelut/ohjelmointi-robotiikka/mp/harjoitus-4/harjoitus-4/harjoi4-jpg:file/photo/6450c004839828a76e0c951fa43ee8cd02df8a00/harjoi4.jpg)
Harjoituksessa käytetään ohjausvirtaa käynnistämään moottori ja sen jälkeen lähdetään kasvattamaan moottorin tehoa pulssinleveysmodulaation (PWM) avulla. Tämä tarkoittaa sitä että transistorin avulla vuoroin sallitaan virran kulku ja vuoroin suljetaan se. Määritetään muuttuja Duty, jolla säädetään transistorille syötettävää ohjausvirtaa. Ohjelmoidaan microbit syöttämään while -silmukan avulla ohjausvirtaa transistorille write_analog() käskyllä niin että portaittain yhä suurempi osuus ajasta virta pääsee läpi ja virtapulssin kesto kasvaa ja lepopulssin pienenee. Lopulta Duty muuttujan arvo on 1023 ja moottori käy täysillä. Silloin ohjelma kääntyy päinvastaiseksi ja lähtee portaittain vähentämään virtapulssin pituutta suhteessa lepopulssiin kunnes moottori sammuu. Ohjelmassa on ikuinen silmukka, joten tämä sykli käynnistyy aina uudelleen.
![harjoi4.jpg](https://peda.net/jyvaskyla/ict/palvelut/ohjelmointi-robotiikka/mp/harjoitus-4/harjoitus-4/harjoi4-jpg:file/photo/6450c004839828a76e0c951fa43ee8cd02df8a00/harjoi4.jpg)