Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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 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 maksimi-ajan. Käytä tulona ja lähtöinä rinnakkaisliitännän bittejä. Muodosta valot testausvaiheessa kytkemällä ledejä kytkentäalustalle.
2. Määritelmä valojen vaihtumiselle 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 enab-muuttuja 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 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 Ω.
6. Valokuvia projektin eri vaiheista
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