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

Samankaltaiset tiedostot
AS automaatio- ja systeemitekniikan projektityöt

Peltorobotin akselimoduulin kontrolleri

S13-02 Linear motor controller for CAN-bus

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

AS Automaatio- ja systeemitekniikan projektityöt

AS Automaatio- ja systeemitekniikan projektityöt

Supply jännite: Ei kuormaa Tuuletin Vastus Molemmat DC AC Taajuus/taajuudet

em4 3G, GPRS tai Ethernet Loggaus ja hälytys Analogiset tulot/lähdöt Etäkäyttö Keskus Pienoislogiikat

GSM OHJAIN FF KÄYTTÖOHJE PLC MAX S03

Nokeval No Käyttöohje. Tekstinäyttö 580-ALF

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

ELEC-C5070 Elektroniikkapaja (5 op)

S Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010

Arduino. Kimmo Silvonen (X)

PM10OUT2A-kortti. Ohje

7.3. Oheisrautaa. DS

Hammastankohissin modernisointi. Heikki Laitasalmi

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

Automaatioratkaisu vedenottoon pohjavesikaivosta

Mikrokontrollerikitit - väliraportti

ELEC-C1110 Automaatio- ja systeemitekniikan. Luento 11 Esimerkki automaation soveltamisesta

Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin

AS Automaatio- ja systeemitekniikan projektityöt. Projektisuunnitelma. Peltorobotin akselimoduulin ohjain

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

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

smartallinone Sarjaliikenteellä toimiva releohjain

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

Successive approximation AD-muunnin

A15 - Inertial Measurement Unit

PAVIRO End Of Line Slave Module

NiMH Laturi. Suunnittelu Olli Haikarainen

Flash AD-muunnin. Ominaisuudet. +nopea -> voidaan käyttää korkeataajuuksisen signaalin muuntamiseen (GHz) +yksinkertainen

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

111570SF CS60. Liitäntä- ja määritysopas Ohjausautomatiikka

Arduino ohjelmistokehitys

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys

Tehtävään on varattu aikaa 8:30 10:00. Seuraavaan tehtävään saat siirtyä aiemminkin. Välipalatarjoilu työpisteisiin 10:00

Moottorin lämpötilan mittauksen kytkeminen taajuusmuuttajaan

A11-02 Infrapunasuodinautomatiikka kameralle

Pienitehoisen keinokuorman suunnittelu ja rakentaminen. AS Automaation ja systeemitekniikan projektityöt Lauri Mäkelä, Henrik Vento 4.2.

S Elektroniikan häiriökysymykset. Laboratoriotyö 1

Mikrokontrollerit. Mikrokontrolleri

SISÄLLYS. SATEL I-LINK 100 MODBUS I/O-konvertteri Käyttöohje, Versio 1.5

Ohjelmistoradio. Mikä se on:

Avoimen luukun varoitussanomat. Toiminto

Asennusohje. EasyLine GSM

KÄYTTÖOHJE PEL / PEL-M

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

MSnS-extra PCB v1.0. Kevyt käyttöohje

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

KÄYTTÖOHJE PEL 2500 / PEL 2500-M

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

Väylään liitettävä laite: Pheonix Contact ILB PB DI8 DIO8

1 Muutokset piirilevylle

Nokeval. No Kenttänäytöt 581D ja 582D sarjaviesteille RS-485/232

1. a) Piiri sisältää vain resistiivisiä komponentteja, joten jännitteenjaon tulos on riippumaton taajuudesta.

Momentinrajoitin. Aktivointi analogisilla signaaleilla. Aktivointi ulkoiseilla CAN-verkolla

Sähköpajan elektroniikkaa

d) Jos edellä oleva pari vie 10 V:n signaalia 12 bitin siirtojärjestelmässä, niin aiheutuuko edellä olevissa tapauksissa virheitä?

ABB aurinkosähköinvertterit Pikaohje PMU laajennuskortti

MFW - I/O:n kaukoluentajärjestelmä

Tehtävä 2: Tietoliikenneprotokolla

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

Kontrollerin tehonsäätö

SM210 RS485 - JBUS/MODBUS mittarille SM102E. Käyttöohje

Elektroninen ohjaus helposti

AS Automaatio ja systeemitekniikan projektityöt A13 10 Radio ohjattavan pienoismallin ohjausjärjestelmän ja käyttöliittymän kehittäminen

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

Sähköautoprojekti Pienoissähköauto Elektroniikan kokoonpano Moottoriohjain.

P I C A X E O H J E L M O I N T I

VIP X1600 XFM4 VIP-X1600-XFM4A/VIP-X1600-XFM4B. Pika-asennusopas

Jatkuva kierrosluvun rajoitus

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

ELEC-C5070 Elektroniikkapaja (5 op)

-Motorracing Electronics WB-NÄYTTÖ KÄYTTÖOHJE. WB-näyttö Käyttöohje v1.0 12/2011 1/7

Näkyvyys- ja valaistustoimintojen kaukoaktivointi

Korotettu joutokäynti

Pulssilaskuri ja I/O-konvertteri. Käyttöohje Versio 1.2

Elektroniikkalajin semifinaalitehtävien kuvaukset

GSM LITE. Asennus- ja Ohjelmointiohje. GSM Lite Ver: 1.0 Fi

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

Sähköpaja. Kimmo Silvonen (X)

Vapaa-asennon automaattikytkentä

TIES530 - Sulautettujen järjestelmien arkkitehtuurit. Jukka Ihalainen, Tietoliikennelaboratorio,

Signaalien datamuunnokset. Näytteenotto ja pito -piirit

KÄYTTÖOHJE TEHR LU / TEHR-M

Arduino. Kimmo Silvonen (X)

Nokeval Oy. Käyttöohje 7181

SmarT8 on sarjaliikenteellä toimiva 1-8 -kanavainen digitaalinen lämpömittari, I/O-anturi ja 4-kanavainen analogia-anturi.

Vahvistimet. A-luokka. AB-luokka

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

Tekniikka ja liikenne (5) Tietoliikennetekniikan laboratorio

IMPACT /Kuvaus, Rakenne ja toiminta//volvon dynaaminen ohjaus, toimintakuvaus

RKU4. ala-asema KUUMIC OY RKU4 I/O I/O I/O I/O I/O I/O I/O 8 CHANNEL TYPE PI CPU POWER V.23 MODEM ANALOG OUT C H A R G E R C O N T R O L M O N T I O R

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

MultiPlus-II 48/3000/ V (aiempi tuotenimi: MultiGrid-II)

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Transkriptio:

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

1 Yleistä Projektityön tarkoituksena oli suunnitella ja toteuttaa yleiskäyttöinen CAN-ohjain, jolla voidaan vastaanottaa viestejä CAN-väylältä, sekä myös lähettää tiladataa. Vastaanotettujen CAN-viestien perusteella ohjataan transistoreja, joiden avulla voidaan ohjata erilaisia aktuaattoreita. Toteutetussa laitteessa on saavutettu haluttu toiminnallisuus seuraavasti: Kuva 1: Toteutetun laitteen toiminnallisuus lohkokaaviotasolla Tarkastellaan kutakin lohkoa tarkemmin 8kpl digitaalinen tulo: Laitteessa on riviliittimet kahdeksalle digitaaliselle tulolle jännitteenjakomahdollisuuksin. 4kpl analoginen tulo: Laitteeseen voidaan kytkeä 4 analogista signaalia. Kullekin tulolle on mahdollista toteuttaa jännitteenjako sekä RC-suodatus. CAN-viesti: Prosessori lukee väylältä sekä kirjoittaa väylälle CAN-viestejä (versio 2.0 B, extended frame) 4kpl PWM-ohjaus: Lähtöpuolella on neljä maahan kytkevää low-side -transistoria, joissa on lisäksi pulssinleveysmodulointimahdollisuus. 4kpl digitaaliohjaus: Lähtöinä on myös neljä jännitteeseen kytkevää high-side -transistoria, joilta saadaan lisäksi suuntaa-antavaa tietoa kuorman virrankäytöstä. Käytännössä projektin työvaiheet voidaan redusoida kahteen osa-alueeseen: 1.1 Hardware Projektin ehdottomasti työläämpi osa oli itse fyysisen konstruktion suunnittelu sekä kokoonpano. Projektissa toteutettiin kaksi piirilevyä käyttäen EagleCad -ohjelmistoa, sekä automaatio- ja systeemitekniikan laboratoriosta löytyvää jyrsintä. Työvaihe alkoi komponenttien valinnalla, joka osoittautui oletettua haastavammaksi tehtäväksi laitteen yleiskäyttöisen luonteen vuoksi. EagleCad-ohjelmiston käyttökokemuksen puutten vuoksi myös piirilevyjen suunnittelu vei huomattavasti resursseja. Fyysisellä puolella helpoimmaksi osaksi osoittautui komponenttien ladonta ja juottaminen piirilevylle, joskin tälläkin osa-alueella joitakin ongelmia ilmeni. Fyysinen konstruktio on toteutettu kahdessa osassa; omat piirilevyt valmistettiin sekä tulo- että lähtöpuolille omiksi moduuleikseen. Tähän ratkaisuun päädyttiin jo siksi, että liittimet sekä komponentit vaativat paljon tilaa piirilevyillä. 2

1.2 Software Mikrokontrollerin (AT90CAN128 ) ohjelmointi osoittautui oletettua helpommaksi tehtäväksi, pääosin valmiiden kirjastojen olemassaolon ansiosta. CAN-viestien lukeminen ja kirjoittaminen oli abstrahoitu em. kirjastoissa varsin hyvin muutamaksi funktioksi, joiden avulla kommunikointi saatiin toimimaan lähes välittömästi. Myös annettu JTAG-ohjelmointilaite suostui yhteistyöhön varsin vähällä konguroinnilla. 3

2 CAN-väylä Controller area network (jatkossa CAN-väylä) on useimmiten ajoneuvosovelluksissa käytettävä tietoväylä, joka on suunniteltu sulautettuja järjestelmiä silmälläpitäen. Se mahdollistaa oheislaitteiden kommunikoinnin keskenään ilman palvelinarkkitehtuuria. Myöhemmin CAN-väylää ollaan käytetty myös rautatiesovelluksissa, teollisuuden automaatiojärjestelmissä sekä terveydenhuollon ja lääketeollisuuden laitteissa, pääasiassa sen vikasietoisuuden johdosta. Väylän kehitti alunperin saksalainen ajoneuvojen elektroniikkaan erikoistunut yritys Bosch. Väylän arkkitehtuuri ja protokolla on vahvasti standardoitu, joskin eri versioita ja väylänopeuksia löytyy useita. Toteutetussa projektissa käytetään versiota 2.0 B ja väylänopeutta 250kbit/s. CAN-väyläarkkitehtuuri tuntee spesikaatioidensa mukaan neljä eri viestityyppiä, jotka ovat 1. Data frame, joka sisältää 0-8 tavua dataa 2. Remote frame, joka ei sisällä itsessään dataa, mutta jota voidaan käyttää oheislaitteiden herätteenä 3. Error frame, viestityyppi joka välitetään kun oheislaite havaitsee väylällä virheen 4. Overload frame, viesti, jolla saadaan luotua viivettä data- tai remote -viestien välille Koska projektityössä käytetään yksinomaan data frame -viestejä, käydään niiden yleinen rakenne läpi lyhyesti. Käydään viestin osat läpi lyhyesti: Kuva 2: Data frame -viestin rakenne Start of frame: 1 bitti, joka määrittää viestin alkukohdan Arbitration eld: sisältää identier-osan, jossa on datan tunniste sekä mahdollinen remote transimission request -osa, joka määrittää onko viesti ns. remote frame Control eld: 6 bitin mittainen osa, jonka kaksi ensimmäistä bittiä ovat varattuja, ja 4 seuraavaa bittiä (DLC ) määrittävät dataosan pituuden Data eld: 8 tavun mittainen osa, joka sisältää viestin varsinaisen datan CRC eld: 15 bitin jono, joka sisältää datan varmennekoodin ACK eld: 2 bittiä datan vastaanottoon liittyviä toimintoja End of frame: 7 bittiä jotka merkkaavat viestin päättymistä 4

3 Fyysinen konstruktio Rakennetun laitteen fyysiset osat voidaan jakaa karkeasti kolmeen moduuliin kuvan mukaisesti: Kuva 3: CAN-ohjaimen moduulit 3.1 AVR-CAN -moduuli Työn keskeisenä komponenttina käytettiin Olimex -merkkistä AVR-CAN -moduulia, joka sisältää itsessään AT90CAN128 -mikrokontrollerin sekä liittimet sen kaikille porteille. Lisäksi moduulissa on JTAG -ohjelmointirajapinnan liittimet sekä RS232 -liittimet CAN-väylää varten. Tarkan listan moduulin ominaisuuksista saa valmistajan kotisivuilta. Kuva 4: AVR-CAN -moduuli AVR-CAN -moduuli sijoittu fyysisesti laitteen keskelle, jolloin tulomoduuli kytkeytyy sen EXT1 -porttiin, ja lähtömoduuli kytkeytyy sen EXT2 -porttiin. 5

3.2 Tulomoduuli Kuva 5: Tulomoduulin liitännät Tulomoduulissa on riviliittimet kahdeksalle digitaaliselle tulolle (DI1-DI8) sekä neljälle analogiselle tulolle (AI1-AI4). Kaikille tuloille on mahdollista toteuttaa jännitteenjako. Lisäksi digitaalituloille voidaan CAN-viestillä asettaa ylösvetovastus mikrokontrollerin puolelta, jolloin tulo tulkitaan kytkeytyneeksi kun sen signaaliterminaali kytketään maahan. Jokaisella digitaalitulolla on kaksi terminaalia riviliittimillä, joista toinen johtaa maahan, ja toiseen tulee varsinainen signaali. Katsotaan digitaalitulon kytkentäkaaviota. Kuva 6: Digitaalitulon kytkentäkaavio Kuvassa nähdään yhden digitaalitulon terminaalit riviliittimillä. Toiseen terminaaliin kytketään jännitesignaalin maataso, toiseen itse signaali. Signaaliterminaalissa on jännitteenjakovastukset ennen signaalin pääsyä mikrokontrollerille. Jotta kontrolleri tulkitsee digitaalitulon oikein, on sen saatava maatasoon nähden vähintään 2.5V jännite jännitteenjaon jälkeen. Mikäli jännitteenjakovastukset ohitetaan esimerkiksi hyppylangoin, ei digitaalitulon terminaalien potentiaaliero saa ylittää 5V ohjearvoa. Tarkastellaan seuraavaksi analogiatuloja. 6

Kuva 7: Analogiatulon kytkentäkaavio Tulomoduulissa on riviliittimet neljälle analogiatulolle (AI1-AI4), joista voidaan lukea mikrokontrollerin -muuntimen avulla jännitearvo 8-bittisellä resoluutiolla. Kullekin analogiatulolle on toteutettavissa jännitteenjako sekä RC-suodatus. Kytkentäkaaviossa nähdään sekä RC-suodatin että jännitteenjako. Jokaisella analogiatulolla on kaksi terminaalia siten, että toiseen on kytkettävä maa, ja toiseen haluttu jännite siten että jännitteenjaon jälkeen mikrokontrollerille näkyvä suurin jännite on korkeintaan 5V. 3.3 Lähtömoduuli Kuva 8: Analogiatulon kytkentäkaavio Lähtömoduulista löytyvät riviliittimet neljälle maahan kytkevälle low-side -transistorille (PWM1-PWM4), sekä neljälle jännitteeseen kytkevälle high-side -transistorille (HS1-HS4). Jokaista lähtöä voidaan ohjata ennalta määritellyn CAN-viestin avulla tämän dokumentin kappaleen 4.1 mukaisesti. Lähtömoduulista löytyy myös liitin laitteen käyttöjännitteelle V in. 7

4 Laitteen protokolla Laitteen ohjaamiseen kehitettiin protokolla, jolla haluttu toiminnallisuus saadaan aikaan. Koska laitteelta saadaan verrattain paljon mittausdataa, on sen lähettämä viesti rakennettu kahdesta erillisestä data framesta. Tuloviestin kriittinen data saatiin mahdutettua yhteen data frameen. Käydään läpi viestien rakenne yksityiskohtaisesti. 4.1 Laitteen vastaanottama viesti Vastaanotettava viesti on 8 datatavua sisältävä data frame, jonka tavut ovat määrätty seuraavasti: Taulukko 1: Tuloviestin rakenne tavutasolla Tavu 0 1 2 3 4 5 6 7 - PWM1 PWM2 PWM3 PWM4 DO DIP - - Alkuarvo 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Tarkastellaan vielä kutakin tavua yksityiskohtaisesti PWM1: Määrittää ensimmäisen PWM-ulostulon (PWM1) pulssisuhteen 8 bitin resoluutiolla siten, että syötetty arvo 0x00 on pienin mahdollinen pulssisuhde (transistori on jatkuvasti suljetussa tilassa) ja 0xFF on suurin mahdollinen pulssisuhde (transistori on jatkuvasti johtavassa tilassa). PWM2: Määrittää toisen PWM-ulostulon (PWM2) pulssisuhteen 8 bitin resoluutiolla. PWM3: Määrittää kolmannen PWM-ulostulon (PWM3) pulssisuhteen 8 bitin resoluutiolla. PWM4: Määrittää neljännen PWM-ulostulon (PWM4) pulssisuhteen 8 bitin resoluutiolla. DO: Tavun neljä merkitsevintä bittiä määräävät jännitteeseen kytkettyjen high-side -transistorien tilan seuraavasti Taulukko 2: Tuloviestin tavu DO Bitti 7 6 5 4 3 2 1 0 - HS4 HS3 HS2 HS1 - - - - Alkuarvo 0 0 0 0 - - - - Tavun DO neljä vähiten merkitsevää bittiä ovat varattuja, eikä niiden manipulointi aiheuta minkäänlaista toiminnallisuutta DIP: Määrittää digitaalisten tulojen ylösvetovastusten tilan siten, että bitti 0 asettaa digitaalitulon 1 ylösvetovastuksen aktiiviseksi, bitti 1 digitaalitulon 2 jne. Lähetettäessä viestiä laitteelle tulee tiettyjen ehtojen olla voimassa: viestin dataosan on oltava täsmälleen 8 tavun mittainen, sekä viestin tunnisteen on oltava oikea. Laitteen prototyyppiversion tunniste on 0x63 eli desimaalilukuna 99. Lisäksi on muistettava käyttää extended frame -tunnisteita, muutoin laite ei vastaanota viestejä. Väyläpuolella tulee lisäksi varmistaa, että väylänopeus on 250kbit/s. 4.2 Lähetettävä viesti 8