74470 SPS Loppuraportti Raketin laukaisualustan suoristin Tampereella 4.12.2004 Ryhmä 00 190080 Tommi Berg 182810 Ossi Mäkinen
1. Etusivu 2. Sisällysluettelo 3. Laitteen kuvaus 4. Käyttöohje 5. Tekninen kuvaus 6. Käyttökokemukset ja testitulokset 7. Kommentteja työstä ja työhön liittyvistä asioista 8. Liitteet
Laitteen kuvaus Tässä harjoitustyössä on ollut tarkoituksena saada aikaan laite, joka osaa kääntää pienehkön raketin laukaisualustan maan vetovoimaan nähden kohtisuoraan kulmaan epätasaisella alustalla. Laitteelle voidaan antaa tämän jälkeen sarjaportin kautta (esim. PC:ltä tai laukaisujärjestelmän ohjausboksista) yksinkertaisia käskyjä, joilla alusta käännettyä haluttuun ja tarkasti määritettyyn laukaisukulmaan. Käyttöohje Laite ruuvataan laukaisualustaan kiinni ja kytketään moottorijohdot laukaisualustan moottoreihin, tämän jälkeen kytketään sarjakaapeli ja virtajohto. Laitteessa ei ole turhia kytkimiä tai merkkivaloja, vaan toiminta hoidetaan yksinomaan sarjaväylän kautta. Laitteen käynnistyksen jälkeen PC:n terminaaliohjelmasta voidaan antaa sille käskyjä, jotka ovat nollaus ja ajo haluttuun kulma-arvoon. Laite ilmoittaa kun asento on saavutettu tai ilmoittaa virheestä jos annettu arvo on liian suuri. Tekninen kuvaus Laitteen tehtävänä on käännellä noin 30kg painoista raketin laukaisualustaa. Laukaisualustalla on käytössä 24V akusto, jota tämäkin laite käyttää. Kuten aiemmin on todettu, laitteen on voitava sarjaväylän kautta tapahtuvan käskytyksen mukaan kääntää alusta haluttuun kulmaan. Laitteessa on kaksi 65A N-tyypin MOSFET:illä toteutettua H-siltaa, joilla ohjataan 24V moottoreita. Takaisinkytkentänä on kaksiakselinen Analog Devicesin ADXL-kiihtyvyysanturi, josta saadaan selville alustan kallistuskulma riittävällä, noin 2 tarkkuudella. Laite koostuu kahdesta erillisestä piirikortista, jotka ovat: kontrollerikortti sekä moottoriohjauskortti.
Kontrollerikortilla on nimensä mukaisesti mikrokontrolleri (AVR AT90S2313) ja sen lisäksi ADXL213 1,2g kiihtyvyysanturi, MAX232 sarjaliikennepiiri, MAX809 reset-piiri, ohjelmointiliitin, liitin moottorinohjauskortille, RS232-liitin ja 5V virtalähde. Kiihtyvyysanturin alipäästösuodatukseksi on valittu 10Hz, jotta laukaisualustaan kohdistuvat tärinät eivät turhaan häiritsisi laitteen toimintaa. Laitteen kotelossa on myös otettu huomioon laitteen kalibrointi säätämällä kontrollerikorttia kolmen kierretangon varassa niin, että se saadaan suoraan kotelon pohjaan nähden. Kontrollerikortille tulee 24V käyttöjännite suoraan akusta moottoriohjauskortin kautta, kortilla on suojadiodi väärää napaisuutta vastaan ja sarjainduktanssi jännitepiikeiltä suojautumista varten. Moottoriohjauskortilla on siis kaksi H-siltaa, jotka on toteutettu käyttäen hyväksi Intersilin HIP4082 ohjainpiiriä, joka mahdollistaa parempien ja edullisempien N-tyypin FET:ien käytön laitteessa. Kortilla on kontrollerikortin tapaan oman jännitelähde, joka antaa vakavoidun 15V käyttöjännitteen HIPohjauspiireille. 15V valittiin käyttöjännitteeksi siksi että se käy sopivasti fettien ohjaukseen niin että ne saadaan varmasti täysin auki. Jännitelähteessä on myös suojaukset jännitepiikkejä ja väärää napaisuutta vastaan. FET:nä on käytetty Fairchildin melko edullista, sisäiseltä resistanssiltaan alhaista (0,016ohm) ja nimellisvirrankestoltaan 65A FET:iä. FET:it on kiinnitetty kotelon sisällä yhteiseen kuparilevyyn, joka puolestaan on kiinnitetty läpiruuvein alumiinikotelon pohjaan. Riittävän jäähtymisen varmistaa vielä laitteen kiinnityspaikka laukaisualustan alumiinista runkorakennetta vasten. 10A kuormalla yhden FET:n lämmitystehoksi on laskettu 1,6W, mikä on vielä varsin kohtuullinen lukema. Moottorinohjauskortilla on moottoreiden kanssa rinnan 30V varistorit, joilla pyritään rajaamaan moottoreiden aiheuttamat jännitepiikit kohtuullisiksi, samaan tarkoitukseen tullaan myös käyttämään moottorien napojen väliin sijoitettavia kondensaattoreita. Piirikaavioita suunnitellessa käytettiin hyväksi havaittua Eagle-ohjelmistoa, assemblerkoodauksessa taas apuna oli Atmelin wavrsam -ohjelma ja Ponyprog -ohjelmointiohjelma. Terminaaliohjelmana käytettiin Windowsin Hyperterminal ohjelmaa. Ohjelmointia varten rakensimme itse STK-200 ISPohjelmointilaitteen Ponyprog-sivuston ohjeiden mukaisesti.
Laitteen ohjelma Laitteen ohjelma on kirjoitettu kokonaisuudessaan Atmelin AVR assembler kielellä. Ohjelma sisältää funktiot sarjaportin käyttöön terminaaliyhteyttä varten, PWM sisääntulon kautta tapahtuvaan kiihtyvyysmittaukseen sekä H-siltojen ohjaussilmukan. Laitteen ohjelma on hyvin ympäristösidonnainen, esim. anturien kalibrointi on tehty suoraan ohjelmakoodissa eikä säädettävänä. Tämä ei tosin muodostu ongelmaksi; laite on yksittäiskappale. H-siltoja voitaisiin ohjata PWM - ulostulolla, mutta siihen ei nähty tarvetta mekaniikan pienten välityssuhteiden vuoksi. Laitteen ilmoittamia kulmakoordinaatteja ei ole myöskään sovitettu mihinkään yleiseen asteikkoon (rad, aste, grad tms.). Anturin epälineaarisuudesta johtuen ulostulo noudattaa lähinnä sinifunktion käyrää ja taulukon rakentaminen esim. astemuunnosta varten nähtiin tarpeettomana. Laitteen pääasiallinen käyttötarkoitus on alustan suorittaminen mutta sille voidaan tosin antaa myös nollasta poikkeavat asetusarvot kallistusta varten. Anturin ulostulo on pulssinleveysmoduloitua TTL tasoista dataa, 1 khz keskitaajuudella pulssisuhteen vaihdellessa. Koska mittaus ei ole järin aikakriittinen ja laitteen toimintaan tarvittiin jonkinlainen viivesilmukka, toimii mittausaliohelma myös sellaisena. Mittaus odottaa kullekin kanavalle (x ja y) nousevaa reunaa ja alkaa inkrementoida mittausarvoa (alkupiste nolla) mittausviiveen välein. Kun laskeva reuna kohdataan, dekrementoidaan mittausarvoa mittausviiveen välein. Näin saadaan 2. komplementtimuodossa olevat mittausarvot anturiin kohdistuvista kiihtyvyyksistä. Moottorien ohjaaminen tapahtuu erillisessä aliohjelmassa joka ohjaa moottoreita suoran asetusarvon ja mittausarvon vertailun kautta. Koska molemmat arvot ovat 2.komplementtimuodossa (+/- 128), summataan niihin ensin vakio 128 jotta voidaan tehdä vertailuja suoraan cp käskyllä. Kun haluttu asema on saavutettu kummallakin akselilla, sammutetaan H-sillat; niiden yhteisen sammutuslinjan ja piirien toimintaperiaatteen vuoksi kumpaakin kanavaa tulee ohjata kunnes molemmat sammutetaan. Ohjaus voidaan keskeyttää escape -näppäimen painalluksella. Itse pääohjelmassa laite asettuu käynnistettäessä odottamaan enter-näppäimen painallusta. Kun näppäin on saatu, laite ilmoittaa mittaamansa kulmapoikkeaman (kiihtyvyysasteikolla) ja odottaa toista enternäppäimen painallusta alustan nollausta varten. Kun näppäintä painetaan, alusta alkaa ohjata itseään nollaa kohti; saavutettuaan nollan kummallekin akselille se pysähtyy ja kysyy uusia koordinaatteja. Pääohjelma: - odota enteriä - näytä prompti ja mittausarvot - odota enteriä - nollaa asetusarvot; ohjaa alusta niihin - kysy uusia asetusarvoja - ohjaa alusta niihin, toista edellinen
Käyttökokemukset ja testitulokset Käyttökokemuksia laitteesta aidossa toimintaympäristössä ei ole vielä ehtinyt kertyä, mutta testeissä laitteen toimivuus on todettu pienemmillä moottoreilla. Todellisessa käyttötilanteessa laite tulee luultavasti myös lämpenemään hieman, sillä kaavaillut 24V ns. tuulilasinpyyhkijänmoottorit tulevat olemaan merkittävästi suurempi kuorma kuin testeissä käytetyt pienet moottorit. Käyttötilanteessa tyypillinen moottorin ottama virta on luultavasti 10A luokkaa. Nykyisellään laite on ulkoiselta olemukseltaan tarkoituksenmukainen ehkä lukuun ottamatta liittimiä. Laitteen tulee kestää rankkaa käsittelyä ja kohtuullisia annoksia lunta/räntää/sadetta/moskaa vaativissa kenttäoloissa, missä kytkimien ja muiden ulokkeiden puute on etu. Toisaalta ehkä jatkossa laitteen kuoreen tulee kuitenkin jonkinlainen nollausnappi ja merkkivalo, joiden avulla alustan saa suoristettua heti ilman sarjaliikenteen virittelyä. Kommentteja työstä ja työhön liittyviä asioita Työssä jouduttiin tekemään useita iteraatiokierroksia, joiden aikana laite ja ohjelmisto hioutuivat kohti lopullista malliaan esim. kontrollerikortista on kuvissa nähtävissä evoluutioversio 3. Työtä tehdessä tukeuduimme useasti elektroniikkakerho Telokiin ja sen komponenttivarastoon elektroniikan laitoksen työtilan / komponenttivaraston sijaan. Telokilta tuntuu löytyvän tarvittavia osia, työkaluja yms. merkittävästi paremmin.. Liitteet 1. Skema 2. Layout/osasijoittelu 3. Osalista 4. Ohjelmakoodit
Skema: Kontrollerikortti Skema: Moottorinohjauskortti
Layout: Kontrollerikortti Layout: Moottorinohjauskortti
Osalista: AT90S2313 MAX809 MAX232 ADXL213E HIP4082 x2 RJ11 liitin FET FQP65N06 x8 Kide 7,7372Mhz Molex-liitin 3-nap x2 Molex-liitin 2-nap Pintaliitoskela 1.2uH x2 7805 regulaattori 7815 regulaattori 0,22uF tantaali x4 0,47uF tantaali x2 4,7uF tantaali x 8 47uF elko x2 100nF kerko x4 20pFkerko x2 varistori 30V 250A x2 diodi UF4002 nopea x4 diodi 1N4002 x2 0,1 vastus x8 10k vastus x9 121k vastus 270 vastus 9-nap D-liitin Piikkirimaa Johtoa Piirilevyä Kotelo Ruuveja Kuparilevyä Kiilleliuskoja + eristeholkkeja