Saku Chydenius tammikuu 2004 Asko Ikävalko Harjoitustyö - Mikroprosessorit Liikennevalot Työn valvoja: Kimmo Saurén
RAPORTTI 1(8) 1. Alkuperäinen tehtävänanto 2. Määritelmä valojen vaihtumiselle Muodosta liikennevalo-ohjaus päätien ja sivutien risteykseen. Sivutiellä on ajoneuvon tunnistin. Päätien valo näyttää vihreää kunnes sivutiellä havaitaan auto. Tällöin sivutieltä lasketaan autoja kunnes ne loppuvat tai korkeintaan tietyn maksimiajan. Käytä tulona ja lähtöinä rinnakkaisliitännän bittejä. Muodosta valot testausvaiheessa kytkemällä ledejä kytkentäalustalle. Alla on määritelty, kuinka liikennevalot toteutuksessamme tarkalleenottaen vaihtuvat. Huomaa, että toiseen suuntaan mentäessä punainen ja keltainen palavat samanaikaisesti, toiseen suuntaan mentäessä eivät pala. Autot pysäyttävä keltainen palaa 3 sek, kun taas vapaalta ykköselle vaihtamiseen olemme varanneet 2 sekuntia aikaa. Vihreästä punaiseksi: Vihreä sammuu. Keltainen syttyy ja palaa 3 sek. Keltainen sammuu. Punainen syttyy. Punaisesta vihreäksi: Punainen palaa. Keltainen syttyy ja palaa 2 sek. Punainen ja keltainen sammuvat. Vihreä syttyy.
RAPORTTI 2(8) 3. Ohjelman toiminta Liitteenä vuokaavio (ks. liite 1), josta ohjelma kulku pääpiirteissään käy selkeästi ilmi. Akkuun laitetaan alkuarvoksi 25 desimaalisena, koska keskeytyksiä generoituu 25 Hz taajuudella. Dekrementoimalla akkua jokaisen keskeytyksen yhteydessä, saamme hyppäyksen SEKUNTI-ohjelmaan tapahtumaan sekunnin välein (ks. liite 1, Vuokaavio). Sekunti-ohjelmasta hypätään kuhunkin aliohjelmaan vuorotellen, joiden kunkin sisällä on erillinen tarkastelu siitä, onko kyseinen aliohjelma sallittu. Jos aliohjelman enabmuuttuja on nolla, hypätään suoraan aliohjelman loppuun ja sitä kautta palataan takaisin SEKUNTI-ohjelmaan. Kunkin suoritetun ACALL-aliohjelman jälkeen on 2 sek tai 30 sek viive ennen seuraavaa suoritettavaa ACALL-käskyä. Nämä viiveet on toteutettu DJNZ-käskyllä (ks. liite 2, Ohjelman lähdekoodi), jolla hypätään SEKUNTI-ohjelman loppuun SEKEND, kunnes viive-aika on kulunut. Kyseiset viive-laskurit asetetaan uudelleen kunkin ACALL-aliohjelman lopussa.
RAPORTTI 3(8) 4. EVTEK-5103 Parallel-porttien pinnijärjestys Alta nähdään, että päätien valoja ohjataan biteillä 0, 1 ja 2. Sivutien valoja ohjataan biteillä 4, 5 ja 6. Sivutien liikennettä havainnoidaan painoanturilla joka on kytketty bittiin 7.
RAPORTTI 4(8) 5. Etuvastuksen mitoittaminen 6. Valokuvia projektin eri vaiheista Ledien läpi kulkeva virta rajoitetaan 20 milliampeeriin. Kun EVTEK-5103 laudan ulostuloportissa on 5 voltin jännite, saadaan vastuksen teoreettiseksi arvoksi: R = U/I = 5 V / 20 ma = 250 Ω. Laboratoriostamme ei kuitenkaan tasan tuon kokoista vastusta löytynyt, joten valitsimme varmuuden vuoksi hieman suuremman vastuksen, jonka resistanssi on 330 Ω. Kuva 1. Ensimmäiset testaukset teimme samalla kytkentäalustalla, jota käytimme digitaalitekniikan kurssillakin. Alareunassa näkyvät punaiset ja siniset johdot on yhdistetty EVTEK-5103 levyn I/O-portteihin.
RAPORTTI 5(8) Kuva 2. Kyllästyttyämme sotkuiseen johtokasaan (ensiksi käyttämämme kytkentäalusta), suunnittelimme oman piirilevyn. Tässä hahmotelma suunnitelmastamme, alla kuvia oman piirilevymme valmistusvaiheista. Kuva 3. Oman piirilevyn valmistaminen alkaa koulun elektroniikan laboratoriossa.
RAPORTTI 6(8) Kuva 4. Terän vaihto piirilevyjyrsimeen. Jyrsinnässä käytetään useita erilaisia kaiverrus, poraus ja leikkausteriä. Kuva 5. Jyrsin työssään. Kone poraa parhaillaan reikiä juotettavia komponentteja varten.
RAPORTTI 7(8) Kuva 6. Piirilevy on valmis, nyt siihen juotetaan komponentteja kiinni. Kuva 7. Komponentit juotettu. Piirilevymme viimeistelyä vaille valmiina.
RAPORTTI 8(8) 7. Testaus ja johtopäätökset Testasimme liikennevalojemme toimintaa useaan otteeseen, kytkemällä ja avaamalla painoanturina toimivaa kytkintä mahdollisimman satunnaisesti. Kaikissa tilanteissa liikennevalot toimivat juuri kuten tehtävänannossa on määritelty. Projekti ei onnistunut heti ensiyrittämältä, joten töitä jouduimme tekemään melko runsaasti ennen kuin liikennevalot alkoivat toimimaan oikealla tavalla. Emme kuitenkaan joutuneet missään vaiheessa projektia totaaliseen umpikujaan, joten työ oli mielestämme sopivan vaativa. LIITTEET 1. Vuokaavio ohjelman toiminnasta 2. Ohjelman lähdekoodilistaus