A15 - Inertial Measurement Unit

Samankaltaiset tiedostot
Simulaattorin asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje

Toinen harjoitustyö. ASCII-grafiikkaa

Piirien väliset ohjaus- ja tiedonsiirtoväylät H. Honkanen

Toinen harjoitustyö. ASCII-grafiikkaa 2017

CEM DT-3353 Pihtimittari

Tehtävä 5. ECIO dataloggeri lämpötila-anturilla

MUISTIPIIRIT H. Honkanen

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

S11-09 Control System for an. Autonomous Household Robot Platform

ICOM IC-7600 helposti ssb-cw-rtty-digi

iloq P10S.10/20 -ohjelmointilaite Käyttöohje

Näppäimistö CT Käyttäjäopas. Global Safety & Security Solutions Oy info@globalsafety.fi. CT1000v.5

Maha Eurosystem jarrulaskentaohjelman asennusohje versio

AS Automaatio- ja systeemitekniikan projektityöt

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma. M-koodit Omron servojen ohjauksessa. Luovutettu. Hyväksytty

WBelectronics. Infinity USB Phoenix - Käyttöohje

ELEC-A4010 Sähköpaja Arduinon väylät tutuiksi

2. Modeemi- ja ISDN-yhteyden käyttöönotto

HARJOITUSTYÖ: LabVIEW, Kiihtyvyysanturi

7.3. Oheisrautaa. DS

TeleWell TW-3G+ USB / EXPRESS. HSDPA / 3G (UMTS) / EDGE / GPRS -modeemi ASENNUSOHJE

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

KYMENLAAKSON AMMATTIKORKEAKOULU

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

GlucoNavii DMS ohjelma

SUPIKOIRA-projekti. Tommi Berg Eero Alkkiomäki. (Tero Huttunen, Sami Kiiskilä, Ossi Mäkinen, Ilpo Suominen, Mikko Suominen, Asser Vuola)

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

MyTheatre asennus ja kanavien haku

Kompaktisäädin KNX. Kompaktisäädin KNX

Projektityöt. Sami Alaiso, Jyri Lujanen 30. marraskuuta 2009

Keskellä ruutua kuvan yläpuolella linkki on call diabeteksen hallintaohjelmisto. Klikkaa sitä

Hammastankohissin modernisointi. Heikki Laitasalmi

DNA Mokkula E180 - korjaus päivityksen yhteydessä syntyneeseen ongelmaan

1 Muutokset piirilevylle

Asennus ja käyttöopas

Mikrokontrollerit. Mikrokontrolleri

2 Konekieli, aliohjelmat, keskeytykset

MASSER Loader V2.00. käyttö- ja asennusohje

Anturit ja Arduino. ELEC-A4010 Sähköpaja Tomi Pulli Signaalinkäsittelyn ja akustiikan laitos Mittaustekniikka

Let Me Hack It -kurssilla tarvittavat ohjelmat ja välineet

HUOM! Tämä on vain pikaohje. Manuaalissa tarkemmat tiedot turvamääräyksistä, vaatimuksista ja asennuksesta sekä kytkennästä.

UCOT-Sovellusprojekti. Asennusohje

Nopeuden mittaaminen

KIITOS RICA OPTIMOINTIOHJELMAN VALITSEMISESTA

Viestit-palvelun viranomaisliittymän ohjelmointiohje. Java-esimerkki

Gemalto LAN-terminaalit 3G/LTE

Pikaohje Aplisens APIS type 1X0 ja 2XO

TELEWELL TW-EA200 MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL-LIITTYMÄÄN KÄYTTÄEN USB-VÄYLÄÄ

Päivitys käyttäen USB-tikkua

S09 04 Kohteiden tunnistaminen 3D datasta

Opus SMS tekstiviestipalvelu

Tehtävä 2: Tietoliikenneprotokolla

Liikennevalot. Arduino toimii laitteen aivoina. Arduinokortti on kuin pieni tietokone, johon voit ohjelmoida toimintoja.

BL40A1810 Mikroprosessorit, harjoitus 1

Option GlobeSurfer III pikakäyttöopas

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

AXCARD AXCARD PR JOHDANTO 2. LUKIJAN KÄYNNISTYS

Testitapaukset - Siirtoprotokolla

1 Tivax siirto uuteen koneeseen

Sähköposti ja uutisryhmät

HUOM! Tämä on vain pikaohje. Manuaalissa tarkemmat tiedot turvamääräyksistä, vaatimuksista, asennuksesta sekä kytkennästä.

D-Link DSL-504T ADSL Reitittimen Asennusohje ver. 1.0

CipherLab CPT-8001L -tiedonkeruupäätteen käyttö Ecomin kanssa

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Anturityö, Tomi Pulli

Mansour Ahmadi. Liikeanturin mittausjärjestelmän toteuttaminen. Insinöörityö Kajaanin ammattikorkeakoulu Tekniikka ja liikenne Tietotekniikka Aika

Internet ja tietoverkot 2015 Harjoitus 5: (ISO/OSI-malli: Verkkokerros, TCP/IP-malli: internet-kerros)

Adafruit Circuit Playground Express

SIJAISET.FI KÄYTTÖOHJE TAKSI YRITYKSILLE. 1. Palveluun rekisteröityminen Palveluun kirjautuminen Etusivu... 2

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

74470 SPS. Loppuraportti

S85 laseretäisyysanturi

Kieliversiointityökalu Java-ohjelmistoon. Ohje

6.3. AVR_rauta. EEPROM-muisti pva

Mittaustietojen SAF-aineistokuvaus kaasudatahubiin

2. Aloitus -välilehti, leikepöytä- ja fontti -ryhmät

Käyttöohje BTGP-38KM Bluetooth GPS Data Logger V1.0

Vuonohjaus: ikkunamekanismi

Harjoitustyö: virtuaalikone

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

Projektisuunnitelma: Vesipistekohtainen veden kulutuksen seuranta, syksy Mikko Kyllönen Matti Marttinen Vili Tuomisaari

PROBYTE CONTROL GSM. GSM/SMS-hälytys- ja ohjauslaite. GSM Control 7/11/01 sivu 1/5

Versio 1.0. BLUETOOTH DONGLE, GS-301 GPS JA NAVICORE PERSONAL Asennusohje Windows 2000/XP ja Nokia Series 60 älypuhelimille

Yhteydensaantiongelmien ja muiden ongelmien ratkaisuita

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

Micro:bit. Käyttöohje. Innokas verkosto Petja Pyykkönen, Saimaan mediakeskus Käyttöohje / 2016 Innokas

SISÄLLYS LUETTELO RC-436

Arduino. Kimmo Silvonen (X)

Nosturirobotti. robotin tarkoitus. mikä on robotin tehtävä. Kurssin robottiohjelmointi, kesä 2011 harjoitustyö

KÄYTTÄJÄN KÄSIKIRJA OE/OSSPEAKER V KÄYTTÄJÄN KÄSIKIRJA OE/OSSPEAKER V.10.3 SISÄLLYSLUETTELO

A-Tiilikate objektikirjasto

Mikro-ohjain µc harjoitukset - yleisohje

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS

Lähettimet. Vastaanotin Hälytykset. OV-yksikkö DPR990

Motorola Phone Tools. Pikaopas

SM211 RS485 - JBUS/MODBUS mittarille SM103E. Käyttöohje

Transkriptio:

AS-0.3200 Automaatio- ja systeemitekniikan projektityöt (6op) 16.09.2008-19.12.2008 A15 - Inertial Measurement Unit Mikko Virkkilä <mvirkkil@cc.hut.fi> Aki Juutistenaho <atjuutis@cc.hut.fi> Ohjaaja: Tapio Taipalus <tapio.taipalus@tkk.fi>

Johdanto... 3 Tehtävän kuvaus... 3 IMUn käyttö... 3 Mikrokontrollerin pakettirajapinta... 3 Mikrokontrollerin SPI-over-UART rajapinta... 4 C API... 4 Yksinkertaisen visualisoinnin API... 4 Ongelmatilanteissa huomioitavaa... 4 Mekaniikan toteutus... 4 Mikrokontrollerin ohjelmisto... 5 Käännösympäristö ja kirjastot... 5 Ohjelmiston sisäinen toiminta... 5 Havaitut ongelmat ja niiden ratkaisut... 6 Viitteet... 6

Johdanto jotain diibadaabaa projektin yleiskuvauksesta Tehtävän kuvaus IMUn käyttö Mikrokontrollerin pakettirajapinta Yhtenä tavoitteena oli tehdä IMU:sta yksinkertainen käyttää. Tätä tarkoitusta varten implementoitiin pakettirajapinta, jonka avulla IMU:n kaikki mittausarvot saa helposti siirrettyä tietokoneelle. Pakettirajapinta koostuu seuraavista kolmesta komentotavusta: 0x4F - O nce Lähetä yksi datapaketti 0x43 - C ontinuous Lähetä datapaketteja mahdollisimman useasti 0x53 - S top Lopeta datapakettejen jatkuva lähetys Datapaketti koostuu kahdestatoista kaksitavuisesta sanasta, eli yksi paketti on 24 tavua pitkä. Paketin sanat ovat big-endian muodossa, CRC sanaa lukuunottamatta. Paketin sisältö on seuraava: Sanan Lyhenne Kuvaus numero 0 header Yhden tavun tunnistetavu joka helpottaa epäsynkroniseksi tulleen liikenteen uudelleensynkronointia. Arvo on aina 0xF0F0 1 x accel X akselin kiihtyvyysanturin mittausrekisterin arvo 2 x gyro X akselin kulmanopeusanturin mittausrekisterin arvo 3 x temp X akselin kulmanopeusanturin lämpötilarekisterin arvo 4 y accel Y akselin kiihtyvyysanturin mittausrekisterin arvo 5 y gyro Y akselin kulmanopeusanturin mittausrekisterin arvo 6 y temp Y akselin kulmanopeusanturin lämpötilarekisterin arvo 7 z accel Z akselin kiihtyvyysanturin mittausrekisterin arvo 8 z gyro Z akselin kulmanopeusanturin mittausrekisterin arvo 9 z temp Z akselin kulmanopeusanturin lämpötilarekisterin arvo 10 timestamp Aikaleima, yksikkönä 64us 11 crc XMODEM CRC, erikoisuutena on että muista poiketen tämä sana on little endian muodossa eli tavut ovat käänteisessä järjestyksessä.[xcrc] Tarkemmat kuvaukset mittausrekistrekisterikenttien skaalauksista löytyy mittaussensorin datalehdestä.

Mikrokontrollerin SPI over UART rajapinta ADIS16350 sensorissa on useita konfigurointirekistereitä joiden avulla sensorin käyttäytymistä voidaan muuttaa. Esimerkiksi mittaustietosuotimen parametreja, mittaustaajuutta ja kalibrointiarvoja voidaan haluta säätää. Käytännössä kaikkia mahdollisia käyttötarpeita ei voida ennakoida, joten mikrokontrollerille implementoitiin raaka SPI viestien välitys moodi. Kun mikrokontrolleri tunnistaa että sille on lähetetty 16bit SPI komento (toinen bitti on alhaalla, kts ADIS 16350 datasheet), lähettää mikrokontrolleri sen ADIS 16350 sensorille sellaisenaan. Samalla se vastaanottaa edellisen viestin vastauksen, jonka se vuorostaan kirjoittaa USB sarjaporttiin. Mikrokontrolleri osaa erottaa ASCII komennot ja SPI komennot toisistaan automaattisesti. Kaikki SPI:n käytön yksityiskohdat löytyvät sensorin datalehdestä. C API Yksinkertaisen visualisoinnin API Ongelmatilanteissa huomioitavaa NetworkManagerin uusimmat versiot saattavat tunnistaa IMU:n usb modeemina, avata portin ja saada virheellisen vastauksen johtaen NetworkManagerin kaatumiseen ja IMU:n jäämiseen epämääräiseen tilaan. NetworkManager kannattaa ottaa pois käytöstä ennen IMU:n yhdistämistä PC:hen. Komentona voi toimia esim sudo /etc/init.d/networkmanager stop Mekaniikan toteutus AVR USB laudan portit alla olevassa taulukossa ovat numeroitu alkaen yhdestä, kuten piirilevyyn on painettu. Tämä poikkeaa kuitenkin AT90USB162 omasta dokumentaatiosta jossa portin pinninumerointi alkaa nollasta. IMU-piirin pinni 6 ei ole kytketty mihinkään, joten sitä ei reititetä AVR:lle. Toiminto AVR USB Johtimen väri IMU piirilevy Chip Select Port B Pin 1 Valkoinen Pin 4 Clock Port B Pin 2 Oranssi Pin 2 Master out, slave in Port B Pin 3 Vihreä Pin 1 Master in, slave out Port B Pin 4 Ruskea Pin 3 IMU Reset Port B Pin 5 Violetti Pin 5 Käyttöjännite VCC Sininen Pin 7 Maa GND Musta Pin 8

Mikrokontrollerin ohjelmisto Käännösympäristö ja kirjastot Yksinkertaisuudessaan projektin pitäisi kääntyä ja asentua AT90USB162 kontrollerille menemällä lähdekoodihakemistoon Projects/IMU ja komentamalla make flip. Tämä olettaa tietenkin että käännösympäristö on kunnossa ja että AT90USB162 on käynnistetty ohjelmointimoodiin. AT90USB162 käynnistyy ohjelmointimoodiin (dfu device firmware upgrade) kun HWB nappi on pohjassa käynnistyessä. Ohjelmiston kääntämiseen käytettiin standardia avr-gcc toolchainia, lopullinen koodi käännettiin Windowsilla käyttäen versiota WinAVR julkaisua 20080610 [wavr]. Mitään muutoksia kyseiseen asennukseen ei tarvinnut tehdä. WinAVR:n mukana tulevan avr-libc kirjaston lisäksi projektissa käytettiin USB kirjastona MyUSB 1.5.3. Kirjastoon ei tehty muutoksia. Oma projektimme rakennettiin MyUSB:n Projects/IMU hakemistoon. Käännetyn ohjelmiston siirtämiseen PC:ltä AT90USB162 piirille käytettiin Atmel Flip ohjelmaa jonka havaittiin toimivan luotettavammin kuin Linuxin dfu-programmer. Mikrokontrollerin ohjelmiston sisäinen toiminta Ohjelmisto on rakennettu MyUSB:n mukana tulevan CDC (usb sarjaportti) esimerkin päälle ja käytännössä kaikki sarjaportin hallintaan liittyvä on suoraan CDC esimerkkikoodia. Koodissa on kaksi pääkäsittelijää, keskeytysten käsittelijä ja sarjaportin käsittelijä. Sarjaportin käsittelijä Sarjaportin käsittelijä on kahdesta huomattavasti yksinkertaisempi. Sen tehtävänä on vain kopioida sisäisestä lähetyspuskurista dataa sarjaporttiin, ja lukea tulevaa data. Tulevasta datasta se päättelee, että onko kyseessä SPI viestin ensimmäinen tavu vai ASCII komento. Mikäli kyseessä on SPI komennon ensimmäinen tavu, se poimii tavun muistiin ja asettaa lipun WAITING_FOR_DATA. Seuraavan tavun vastaanoton kohdalla käsittelijä näkee WAITING_FOR_DATA lipun ja tietää, että kyseessä on SPI komennon jälkimmäinen tavu. Kun jälkimmäinen tavu on vastaanotettu, molemmat tavut kirjoitetaan SPI komentojen lähetyspuskuriin (josta ne myöhemmin lähetetään sensorille). Kun kyseessä on ASCII komento C asetetaan tilamuuttujaan CONTINUOUS_MODE lippu päälle ja herätetään SPI käsittelijä kirjoittamalla SPI viestin ensimmäinen tavu. Kun kyseessä on

Havaitut ongelmat ja niiden ratkaisut Viitteet [xcrc] http://www.nongnu.org/avr-libc/user-manual/group util crc.html [wavr] http://downloads.sourceforge.net/winavr/winavr-20080610-install.exe