Teknillinen korkeakoulu Sähkö- ja tietoliikennetekniikan osasto AS-0.3200 Automaatio- ja systeemitekniikan projektityöt CeilBot 2DoF camera actuator Antti Riksman
Sisältö 1 CeilBot 3 2 Projektin tämän hetkinen tilanne 3 3 Mekaaninen rakenne 3 4 Järjestelmän komponentit 3 4.1 Askelmoottori................................ 4 4.2 Servo..................................... 4 4.3 Enkooderi.................................. 5 4.4 Mikrokontrolleri.............................. 5 4.5 Linja vastaanotin.............................. 5 4.6 5v regulaattori............................... 5 4.7 Askelmoottoriohjain............................ 5 5 Ohjainpiirikortti 7 6 Kommunikointirajapinta 7 2
1 CeilBot Ceilbot on TKK:n monivuotinen projekti, jossa opiskelijat kehittävät prototyyppi palvelurobottia. Erityispiirteenä tälle robotille on sen liikkuminen katossa, täten mahdollistetaan robotin toiminnan hyvinkin ahtaissa tiloissa. Tällä hetkellä valmistellaan prototyyppiä, jonka on määrä kulkea kattoon asennettavia raitetia pitkin. Robottijärjestelmä rakentuu raideverkostosta, rungosta, manipulaattorista ja ympäristön havainnointi antureista. Näihin lukeutuu mm. Microsoftin Kinect kamera, jota on tarkoitus ohjata tämän projektityön suunnittelun kohteena olevalla kahden vapausasteen mekaanisella toimilaitteella. Keskityn työssäni lähinnä ohjauselektroniikkaan. 2 Projektin tämän hetkinen tilanne Projektin luonne on muuttunut alusta suhteellisen radikaalisti. Alunperin tarkoituksena oli käyttää valmiita komponentteja ja niiden pohjalta luoda toimiva osajärjestelmä. Tällä hetkellä tavoitteena on suunnitella oma ohjauslevy osakomponenteilla ja luoda tästä toimiva kokonaisuus. Mekaniikan rakennus on toissijainen ja keskityn lähinnä elektroniikkaan. Mekaniikka ei varsinaisesti kuulu omaan osaamiseen joten sen valmiiksi saattaminen voi osoittautua hankalaksi. Tällä hetkellä projektista on valmiina seuraavat aihealueet: Komponenttien valinta Kytkentäkaaviot Prototyyppi piirilevy, Eaglella suunniteltu Mikrokontrolleri ohjelmointiin perehtyminen Projektin teorian osa-alueisiin perehtymisen täytyisi olla suurinpiirtein valmiina, käytännössä yllättäviä esteitä varmastikin vielä ilmaantuu. Vielä keskeneräisiä tehtäviä: Käytännön testaus prototyyppilevyllä Ohjelmointi koodin kirjoittaminen mikrokontrollerille Testiohjelman kirjoittaminen tietokoneelle GIMnet ajuri Mahdollinen koteloinnin luonti elektroniikalle 3 Mekaaninen rakenne 4 Järjestelmän komponentit Elektroninen järjestelmä koostuu kuudesta osasta, poislukien isäntätietokone. Eri komponentit on havainnollistettu kuvassa 2. Tämän osajärjestelmän selkärankana toimii Teensy++ 2.0 microkontrolleri [1]. Mikrokontrollerin on tarkoitus hoitaa alemmantason laskenta ja toimilaitteiden ohjaus. Mikrokontrolleriin on suoraan kytketty linja vastaanotin, servo ja askelmoottorinohjain piiri. 3
Kuva 1: Alusta suunniteltu mekaaninen rakenne. Ei mittakaavassa, kyseessä on lähinnä hahmotelma mahdollisesta rakenteesta. Kuva 2: Lohkokaavio havainnollistaa elektonisen järjestelmän rakennetta. Päätietokone kommunikoi ylemmällä tasolla suoraan mikrokontrollerin kanssa. Mikrokontrolleri ohjaa suoraan servoa ja epäsuorasti askelmoottoria. Askelmoottorin ohjaus tapahtuu käskyttämällä askelmoottorinohjainta. Enkooderi on kytketty linja vastaanottimen avulla mikrokontrolleriin. Servon ja askelmoottoriohjaimen ohjaus suoritetaan PWM-signaalilla (engl. Pulse Wide Modulation) [2]. PWM signaalilla tarkoitetaan säännöllisesti jollakin taajuudella päälle ja pois päältä kytkeytyvää jännitettä. Linja vastaanotin tulkitsee enkooderin differentiaalisignaalin ja välittää puretun signaalin edelleen mikrokontrollerille. 4.1 Askelmoottori Askelmoottorin tyypiksi on valittu unipolaarinen askelmoottori, lähinnä sen ohjauksen yksinkertaisuuden takia. Toinen vaihtoehto unipolaariselle on bipolaarinen askelmoottori. Unipolaarisuuden etuja on mm. yhden virtalähteen riittävyys, verrattuna bipolaarisen vaatimaan kahteen. Unipolaarisissa moottoreissa on kaksi käämiä per vaihe, yksi kutakin magneettista suuntaa kohden. Käämien keskellä sijaitsee keskusjohdin. Keskusjohtimet voidaan tuoda moottorista ulos erillisinä tai ne voidaan kytkeä yhteen moottorin sisällä ja tuoda yhtenä johtona ulos. [3] 4.2 Servo Servo on perinteinen DC-moottori sisäänrakennetulla säädöllä. 4
Kuva 3: Unipolaarisen askelmoottorin käämitys ja poikkileikkaus. [4] 4.3 Enkooderi Encooderiksi on valittu Agilent AEDA-3300 inkrementti enkooderi, kuva 4. Kyseessä ei ole absoluuttinen enkooderi, joka tietää oman sijaintinsa. Inkrementti enkooderi laskee siirtymää siitä hetkestä kun se käynnistetään. Kuva 4: Agilent AEDA-3300 enkooderi. Encooderi lähettää tulkitsemansa signaalit differentiaalisina, A+, A-, B+, B-, I+, I-. Kyseinen signaalin muoto sietää huomattavasti enemmän magneettisia häiriöitä. Kyseistä signaalia ei kuitenkaan voi suoraan syöttää mikrokontrollerille vaan se täytyy ensin purkaa. Tämän tehtävän suorittaa linja vastaanotin, josta lisää osiossa 4.5. Purettu signaali on A, B, I, muotoa. Se voidaan syöttää mikrokontrollerille, joka laskee pulssien perusteella liikutun matkan. 4.4 Mikrokontrolleri Mikrokontrollerina toimii Teensy++ 2.0 kehitysalusta. Kehitysalusta on piirilevy joka sisältää tarvittavan elektroniikan, jotta itse mikrokontrolleri piirille voidaan syöttää oman koodi. 4.5 Linja vastaanotin 4.6 5v regulaattori 4.7 Askelmoottoriohjain Askelmoottoriohjaimena toimii 5
Kuva 5: Enkooderin antamien signaalien aaltomuodot. Kuva 6: Kuvassa kaksi versiota kehitysalustasta. Käytössä oleva versio on Teensy++ 2.0. [1] 6
5 Ohjainpiirikortti Piirikortin suunnittelussa on käytetty hyväksi Eagle piirisuunnittelu ohjelmaa [5]. Painettua piirikorttia suunnitellessa on syytä ottaa huomioon seuraavat seikat: Muodostuviin silmukoihin indusoituva virta, verrannollinen magneettikentän muutosnopeuteen. 6 Kommunikointirajapinta Keskeneräinen... 7
Viitteet [1] Teensy USB Development Board. Saatavissa: http://www.pjrc.com/teensy/. [2] PWM-signaalin tutoriaali video. Saatavissa: http://www.afrotechmods.com/ groovy/pwm_tutorial/pwm_tutorial.htm. [3] Wikipedian artikkeli askelmoottoreista. Saatavissa: http://en.wikipedia.org/ wiki/stepper_motor#unipolar_motors. [4] Introduction to Stepper Motors. Saatavissa: http://mechatronics.mech. northwestern.edu/design_ref/actuators/stepper_intro.html. [5] Cadsof yrityksen kotisivut - Eagle piirisuunnittelu ohjelmisto. Saatavissa: http: //www.cadsoftusa.com/. 8