AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Projektisuunnitelma Peltorobotin akselimoduulin ohjain Joni Rannisto Janne Hafrén Matti Koskinen 31.1.2012 1
1. Projektin tavoite Projektin tavoitteena on rakentaa akselimoduulin ohjain vuoden 2012 Field Robot Eventtapahtumassa kilpailevaan Aalto-yliopiston ja Helsingin Yliopiston yhteistyönä rakentamaan peltorobottiin. Robotti on nelipyöräohjattu, nelivetoinen ja noin 20-kiloinen laite, joka pystyy navigoimaan kasvillisuuden seassa ja suorittamaan tehtäviä itsenäisesti. Akselimoduuli sisältää: ajomoottorin alennusvaihteen servon tasauspyörästön potentiometrin servon aseman tarkkailua varten enkooderin ajonopeuden tarkkailua varten vetoakselit lämpöanturin moottorin lämpötilan mittaamiseksi mikrokontrollerin, joka ohjaa akselimoduulin toimintoja. Akselimoduuli kommunikoi muiden robotin ohjainlaitteiden kanssa CAN-tietoväylää hyväksi käyttäen. Näin ollen mikrokontrollerina on käytettävä kontrolleria, joka pystyy kommunikoimaan CAN-protokollaa käyttäen. Elektronisestikin piirilevylle asetetaan suuria vaatimuksia, sillä virrat voivat nousta jopa 80 ampeeriin, mutta silti piirilevyn koon pitäisi olla vain muutamia senttimetrejä. Tähän tilaan pitää mahduttaa muun muassa mikrokontrolleri, H-silta, transistori moottorivirran jännitteen PWM-ohjausta varten, regulaattori servon jännitteen pudottamiseksi oikealle tasolle ja tarvittavat kondensaattorit virtapiikkien tasaamiseksi ja sähköisten häiriöiden vähentämiseksi. Elektroniikkasuunnittelun lisäksi tärkeä osa projektia on ohjelmiston tekeminen mikrokontrollerille. Ajomoottorin pyörimisnopeutta säädetään PI-säätimellä käyttäen apuna enkooderilta saatua toteutunutta pyörimisnopeutta. Myös ohjausservoa tulee säätää pwmsignaalilla ja toteutunut ohjauskulma luetaan potentiometrin avulla. Moottorinohjaimen tulee myös mitata moottorille menevää virtaa ja yhdessä lämpötilamittauksen kanssa voidaan todeta jos moottori ylikuumenee. Mikäli ajomoottorin havaitaan ylikuumenevan tai mikäli servo ei saavuta toivottua asemaa, siirrytään vikatilaan, jolla ehkäistään ajomoottorin tai servon ylikuumeneminen ja vaurioituminen. Näin tapahtuessa tulee ohjaimen lähettää virhetilaviestin CAN-väylälle jotta toinen akselimoduuli tietää myös lopettaa toiminnan eikä moottoreita pala turhaan. Ajokomennot tulevat myös CAN-väylää pitkin ja takaisin pääkoneelle lähetetään mittatulokset. Projektiin on arvioitu kuluvan aikaa noin 78 tuntia tiimin jäsentä kohti, mikä tarkoittaisi kolmea opintopistettä. Työryhmä koostuu kolmesta koneteekkarista, joista kenelläkään ei ole käytännössä minkäänlaista kokemusta elektroniikkasuunnittelusta, mikä selittää osaltaan kohtalaisen suuren tuntimäärän. Lisäksi aiempien vuosien kokemus on osoittanut, että piiristä saatetaan joutua suunnittelemaan useita eri prototyyppejä ennen kuin esimerkiksi virransieto ja lämpenemisongelmat on saatu hyväksyttävälle tasolle. 2
2. Projektin rakenne Edellisen vuoden ohjaimeen tutustuminen Ymmärretään ohjaimen toimintaperiaate, eri komponenttien tarkoitus, tiedetään mitä tämän vuoden ohjaimen rakentamiseen tarvitaan. Työmäärä 4h. Voidaan aloittaa välittömästi Komponenttien valinta Valitaan tarvittavat komponentit ja tilataan ne. Tuotteena on tilauslista. Työmäärä 5h. Voidaan aloittaa välittömästi (ja on jo aloitettukin) Elektroniikkasuunnittelu Suunnitellaan tarvittavat kytkennät, ylösvetovastukset, häiriönpoistokondensaattorit ynnä muut. Lopputuotteena on kytkentäkaavio. Työmäärä 10h. Voidaan aloittaa kun tarvittavat komponentit on valittu Piirilevyn arkkitehtuurin suunnittelu Suunnitellaan piirilevyn layout, komponenttien sijoittelu, kytkentöjen mitoitus ynnä muu piirilevyn fyysinen puoli. Työmäärä 6h Voidaan aloittaa kun tarvittavat kytkennät ja komponentit ovat tiedossa Piirilevyn valmistus Valmistetaan valmis piirilevy K3-rakennuksen laboratoriossa. Lopputuotteena luonnollisesti valmis piirilevy. Työmäärä 2h Voidaan aloittaa kun piirilevyn layout on suunniteltu Juottaminen Juotetaan komponentit kiinni levyyn. Valmiina fyysisesti valmis piirilevy komponentteineen. Työmäärä 8h. Voidaan aloittaa kun piirilevy on valmistettu Ohjelmointi Kirjoitetaan mikrokontrolleriin C-kielinen ohjelma, joka sisältää tarvittavat toiminnallisuudet. Lopputuloksena toimiva koodi, joka voidaan ladata mikrokontrolleriin ja tämän jälkeen kontrolleri toimii halutulla tavalla. Työmäärä 25h Voidaan aloittaa välittömästi Testaaminen & virittäminen Ensimmäinen valmistettu piirilevy ei kuitenkaan toimi. Joko jokin komponentti on mitoitettu väärin tai levyssä on muita suunnitteluvirheitä. Kun levy ja kytkennät on saatu toimimaan, on ohjelmistossa vielä varmasti debugattavaa ja esimerkiksi moottorin ja servon säätimien parametrien hakemisessa on työtä, ennen kuin kaikki toimii kuten Strömsössä. Työmäärä 15h Ohjelmistoa voidaan testata sitä mukaa kun sitä kirjoitetaan. Kokonaisuuden testaaminen voidaan aloittaa kun piirilevy on juotettu valmiiksi ja ohjelma on valmis. 3
3. Ajankäytön ja ryhmätyöskentelyn hallinta On selvää, että projektin vaiheet ovat kronologisesti riippuvaisia toisistaan. Näin ollen esimerkiksi piirilevyn valmistusta ei voida aloittaa ennen kuin piirilevysuunnittelu on valmiina. Kaikki tehtävät eivät kuitenkaan ole toisistaan riippuvaisia, joten on järkevää jakaa tehtävät siten, ettei riippuvuussuhteista ole haittaa projektin etenemisellle. Projekti voidaan jakaa kolmeen (lähes) riippumattomaan osa-alueeseen: Ohjelmisto, CAN-kommunikaatio sekä elektroniikkasuunnittelu ja piirilevyn valmistus. Tietenkin näidenkin välillä on joitain riippuvuussuhteita, mutta määrittelyvaiheen jälkeen näitä osa-alueita pystytään kehittämään itsenäisesti. Jokaiselle osa-alueelle on valittu vastaava, joka on vastuussa siitä, että osa-alueen tehtävät on määräaikaan mennessä suoritettu. Tarkoitus ei siis ole, että osa-aluevastaava tekee yksin tarvittavat tehtävät, vaan että hän johtaa toimintaa. Jokaiselle ryhmän jäsenelle on valittu yksi osa-alue johdettavaksi, mutta hän osallistuu luonnollisesti myös toisten osa-alueiden toimintaan. Osa-alueet ja työryhmät ovat: CAN-kommunikaatio: Janne (vastaava), Matti, Joni Ohjelmisto: Matti (vastaava), Joni, Janne Elektroniikkasuunnittelu: Joni (vastaava), Janne, Matti Osa-alueet pitävät vähintään kerran viikossa kokouksen, jota vastaava johtaa. Kokouksissa ryhmän jäsenille voidaan antaa tehtäviä, joista jäsenet ovat vastuussa. Tehtävät tulee toteuttaa seuraavan viikon kokoukseen mennessä. Projekti jakautuu useaan vaiheeseen alla olevan kuvan esittämällä tavalla. Jokaisen työvaiheen aikataulu on esitetty viikon tarkkuudella siten, että jokaisen vaiheen deadline on viimeisen viikon sunnuntaina. Tarvittavat kurssin deadlinet on merkitty kuvaan. Kuva1 Projektin aikataulu. 4
Käytännössä työtä tullaan luultavasti jakamaan pääosin siten, että tiettynä ajankohtana viikossa tai muutamia kertoja viikossa kokoonnutaan porukalla tekemään ohjainta ja sovitaan tapaamiskohtaisesti mitä kukin tekee. Tällaisessa tapaamisessa myös sovitaan mitä kukin tekee seuraavan viikon tai lähipäivien aikana. Tämä toimintatapa on havaittu toimivaksi samalla porukalla tehdyssä mekaanisessa suunnittelussa. Koska jokainen ryhmän jäsen vastaa yhden alueen suunnittelusta, pysytään tasapainossa sen suhteen, ettei keskitytä liikaa yhteen alueeseen, vaan jokainen jakaa oman vastuualueensa tehtäviä tasaisesti. Tämä on mielekästä, koska jokainen ryhmän jäsen haluaa saada mahdollisimman hyvän kokonaiskuvan projektin eri osa-alueista. Projektin ajankäyttö on ajateltu seuraavasti: Projektin osa-alue Suunniteltu ajankäyttö Toteutunut ajankäyttö Esiselvitys 4 Komponenttien valinta 5 Elektroniikkasuunnittelu 10 Piirilevyn suunnittelu 6 Piirilevyn valmistus 2 Juottaminen 8 Ohjelmointi 25 Testaaminen ja säätö 15 4. Riskien hallinta Seuraavista kohdista saattaa aiheutua riskejä projektin etenemiselle: Ryhmän jäsenten vähäinen kokemus elektroniikasta, ajankäyttöön liittyvät ongelmat, ohjaimen pienehkö fyysinen koko ja suuret virrat. Ryhmän jäsenten vähäinen kokemus elektroniikkasuunnittelusta Koska ryhmämme koostuu kolmesta konetekniikan opiskelijasta, eikä kenelläkään ole varsinaisesti aikaisempaa kokemusta elektroniikkasuunnittelusta (lähinnä juottaminen ja ledien vilkuttaminen), voi projekti edetä ainakin alussa hitaasti, sillä yksinkertaisetkin asiat tulee opetella. Tämän välttämiseksi ryhmän jäsenet lukevat esitietomateriaalia ja konsultoivat elektroniikkasuunnittelusta enemmän tietäviä henkilöitä. Ajankäyttöön liittyvät riskit Peltorobottiprojektissa on samanaikaisesti useampia rinnakkaisia suunnittelutehtäviä, ja ajankäytön jakaminen järkevästi näiden välille saattaa aiheuttaa ongelmia. Riskien välttämiseksi eri tehtävät ja ajankäyttö tulisi suunnitella selkeästi etukäteen mitoittaen ajankäyttö siten, että aikataulu ja deadlinet ovat mieluummin liian tiukkoja kuin löysiä. Näin saadaan tarvittaessa lisää aikaa mahdollisten ongelmien korjaamiseen. 5
Ajankäytön ongelmaksi voidaan lukea myös se, että ohjaimesta saatetaan joutua tekemään useampia iteraatiokierroksia, ellei siitä siis saada kerralla hyvää. Tähän ongelmaan ratkaisuna näemme ryhmän ulkopuolisen henkilön (ohjaaja) konsultoimisen piirilevyn designin ollessa valmis. Näin vältytään turhalta valmistusvaiheelta, mikäli nähdään, että design ei ole toimiva. Mikäli iteraatiokierroksia kuitenkin tulee, ne tuskin vaarantavat projektin valmistumista, vaan aiheuttavat vain pientä lisätyötä. Tähän on kuitenkin varauduttu aikataulutuksessa. Suunnittelun onnistumiseen liittyvät riskit Ohjaimelle on varattu tilaa vain muutamia senttimetrejä ja sen pitää kestää maksimissaan 80 ampeerin piikkivirtoja. Suuret virrat ja piirilevyn pieni koko voivat aiheuttaa riskejä, kuten piirilevyn vaurioitumisen. Lisäksi suuret virrat voivat aiheuttaa häiriöitä elektroniikkaan, varsinkin jos samalla levyllä kulkee suuri moottorivirta ja mikrokontrollerin ohjaussignaalit. Tähän riskiin voidaan vaikuttaa järkevällä piirilevysuunnittelulla. Esimerkiksi mikrokontrollerille ja moottorin virroille kannattaisi mahdollisti valita eri maat. 6