AVR Atmega128 ohjelmointikortti

Alunperin julkaistu: 10.2.2017

Viimeksi muokattu: lauantai 9.12.2017

AVR-mikrokontrollerit ovat tässä elektroniikan parissa touhuillessa tulleet jonkin verran tutuksi ja jonkun verran koodiakin on tullut väännettyä kyseiselle mikrokontrollerille. AVR-ohjelmointi tuli tutuksi ATtiny mikrokontrollereiden kautta, jotka ovat siis Atmelin mikrokontrolleriperheen "halpis" -malleja. Niitä ei kuitenkaan pidä aliarvioida, sillä ne ovat varsin päteviä mikrokontrollereita erilaisten I/O-tehtävien suorittamiseen.

Tämä puuhastelu on tavallaan jatkoa parin vuoden takaiselle ATtiny ohjelmointikortille, mistä valitettavasti ei kauheasti ole dokumentaatiota esittää, mutta toivottavasti tässä senkin edestä. Keväällä olin hankkinut itselleni alla olevan kuvan mukaisen USB-JTAG debuggerin, jota en ole vielä päässyt testaamaan, joten tässä yksi syy miksi tällaisen kortin olen tehnyt.

Ohjelmointikortin suunnittelu

Aloitin kortin suunnittelun miettimällä, tarvitsenko ohjelmointikortin, missä on valmiiksi jo kaikkea kivaa kytkettynä, vai riittäisikö ainoastaan pakolliset osat joilla kortin saa toimimaan. Tyydyin siihen päätökseen, että teen ohjelmointikortista mahdollisimman yksinkertaisen. Ainoastaan LCD-näytön tulisin korttiini liittämään sekä lisäksi pari LED-indikaattoria ja ja reset-kytkimen. Suunnittelin kytkennän PADS-logic työkalulla (demoversio Mentor Graphicsin kotisivuilla) ja piirsin piirikaaviokuvan, joista jälkimmäinen näkyy alla. Piirikaaviota pääset katselemaan tästä linkistä: AVR128-ohjelmointikortti.

Tämän suunnittelin muutamassa tunnissa, sillä PADSin käyttö on hyvinkin tuttua työni vuoksi. Kuten kytkentäkaaviosta huomaa, tämä on hyvin yksinkertainen piirilevy, sillä tässä ei ole edes omaa virtalähdettä. Virtalähteenä käytän kuitenkin 5 voltin muuntajaa, jollaisen olen saanut nurkkiini pyörimään - tuleepahan sekin käytettyä johonkin. Tokihan virtalähteen olisin voinut itsekin suunnitella, mutta menin nyt sieltä missä aita on matalin.

Piirilevyn teko

Kun omistaa piirilevyntekovälineet, on protolevyjen tekeminen varsin mielekästä puuhaa ja jokainen itsetehty levy on tavallaan yksi sulka hattuun lisää.

Tulostin yllä olevan layout-kuvan lasertulostimella siirtokalvolle ja siirsin kuvan kuparilevyn pintaan. Alla hieman kuvasarjaa kyseisistä työvaiheesta:

Aluksi siis etsin kuparilevyn ja tulostin siirtokalvolle piirikaavion layout kuvan. Tulostettu kuva on peilikuvana siirtokalvolla, mutta kun kuparilevy syövytetään, layout on oikeinpäin.

Levy on tärkeää puhdistaa hyvin ennen kuin siirtoa aletaan tehdä. Käytin puhdistamiseen silmälaseille tarkoitettua puhdistusliinaa, joita oli Bio-Rex-elokuvateatterissa jaossa kun kävin 3D-elokuvan katsomassa.

Siirtokalvon kiinnityksessä kannattaa käyttää apuna teippiä. Myös ylimääräiset kuparialueet voi peittää teipillä, jolloin syövytysliuokseen ei liukene ylimääräistä kuparia ja liuos säilyttää väkevyytensä pidempään. Itse unohdin teipata ylimääräiset alueet.

Siirtokalvoa täytyy lämmittää silitysraudalla (tai voihan sen pistää uuniinkin painon kanssa), jotta kuparimaski tarttuu levyn pintaan...

...tällä tavalla. Lämmitys kannattaa tehdä huolella ja varmistaa, että jokainen kohta on yhtä kauan riittävässä lämmössä. Silitysrauta on asetettu 2-asentoon. Höyryä ei tarvitse käyttää jos ihmettelette sitä.

Siirtokalvo ikään kuin liimautuu kuparilevyn pintaan kiinni lämpökäsittelyn jälkeen.

Irrotuksessa on hyvä käyttää jotain terävää esinettä reunaa avaamaan. Lopun muovin voi irroittaa käsin.

Kannattaa tehdä kuten kuvassa, eli kääntää poistettavan siirtokalvon muovia jyrkästi "menosuuntaan".

Irroitus onnistui, mutta kuten kuvasta huomataan, ei lämpö ollut levyllä aivan tasainen.

Korjaukset voidaan kuitenkin tehdä piirilevykynällä, millaisia on saatavilla elektroniikkaliikkeistä.

Syövytysaltaasta levy on helpompi nostaa pois köyden avulla, joka on tässä tapauksessa kuminauhaa.

Allas ja syövytysallas...

Lähes kokonaan syöpynyt piirilevy. HUOM! Tarkkana pitää olla ferrokloridiliuoksen kanssa, se nimittäin sotkee paikat.

Ferrokloridia ei saisi viemäriin kaataa, mutta vähäiset määrät jotka puhdistusvaiheessa viemäriin joutuvat eivät todennäköisesti haittaa. Vedellähän sitä laimennetaan muutenkin. Isommat määrät kannattaa kuitenkin hävittää muulla tavalla, tai ainakin neutralisoida ennen viemäriin kaatoa.

Teräsvillalla raaputetaan musteet pois, jolloin paljastuu levyn todellinen luonne.

Valmiissa piirilevyssä silmämääräinen tarkastelu antaa tyydyttävän tuloksen. Ainakin yhdestä kohtaa levyä on veto poikki, mutta se on helppo korjata tinalla.

Tarkemmin katsottuna huomaa, kuinka lämpö ja aika vaikuttavat laatuun. Keskellä levyä on parempaa jälkeä kuin reunoilla (vedot ja padit paksumpia). Tässä kohtaa silitysrauta pisimmän aikaa olikin.

Lopputuloksena ihan siedettävä PCB!

Piirilevyn valmistuksen jälkeen tulee levyyn porata reiät. Tähän on yhtä monta tekniikkaa kuin on tekijääkin, mutta minun teknikkani on se, että lasken pienoisporakoneen terän siihen kohtaa, mihin reiän haluan syntyvän ja käynnistän poran. Tällä tavalla saa reiän juuri siihen kohtaan mihin haluaa. Jos terä pyörii jo valmiiksi, niin tähtääminen levylle on paljon paljon hankalampaa.

Lisäksi suuremmat reiät porasin 1 mm terällä akkuporakoneella (koska tässä on portaaton nopeuden säätö). Seuraavaksi oli vuorossa piirilevyn testaus mittarin avulla ja komponenttien juottaminen paikoilleen. Lisäksi piirilevylle tulivat merkinnät komponenttien paikoista ja hyppylangoista. Nämä toimenpiteet suoritettuani huomasin, että levylle oli tullut oikosulkuja juottamisen aikana (tinaroiskeista) ja ne sijaitsivat hankalissa paikoissa. Tämän lisäksi en ollut suunnittelun alkaessa huomannut siirtää läpiladottavia komponentteja toiselle puolen (eli niitä joita varten reiät porattiin), joten nämä komponentit täytyi asentaa kuparipuolelle. Lopputuloksena oli aikalailla karmea tuotos, minkä päätin hylätä. Hylkäykseen vaikutti myös piirilevyllä oikeassa laidassa näkyvien johtimien katkeamiset, jotka johtuivat epätasaisesta lämpötilasta valmistusprosessin aikana. Syövytysaikaakin saattoi hieman liikaa olla.

Asiaa hetken pohdittuani, päätin tehdä piirilevyn uudestaan. Tällä kertaa jätin LCD-näytön pois toteutuksesta, sillä lisäisin sen johtimien avulla kuitenkin piirilevyyn.

Eli tuumasta toimeen, uusi suunnittelu ja piirilevy. Aikaa meni noin 1½ tuntia "leiskan" tekemiseen ja "skeman" muokkaamiseen. Piirilevyn tekoon kului aikaa ½ tuntia.

Tällä kertaa käytin aikaa noin 10 minuuttia piirilevykuvan siirtoon kuumalla silitysraudalla. Kuumuus oli sama kuin aiemmin, mutta painetta lisäsin mm. painamalla silitysrautaa voimakkaasti piirilevykuvaa vasten. Tässä vaiheessa ei muuten kannata silitellä piirilevyä tai voimakkaasti hieroa muutenkaan, sillä kuvan muste tai mikä nyt onkaan saattaa levitä.

Valmis PCB porattuine reikineen. Seuraavaksi komponentit paikoilleen.

Komponenttien juottamisen jälkeen vetäisin kuparin ja komponenttien sekä juotosten päälle vielä kirkkaan sähköä eristävän lakan. Tällä halusin estää piirilevyn kuparointia tummumasta ja menemistä huonon näköiseksi. 5-6 päivän päästä piirilevyssä oli hieman tummempaa kohtaa kuparissa, mutta ei läheskään niin paljon mitä siinä olisi ilman kyseistä lakkaa.

Seuraavaksi testasin vielä, kuinka AVR-studio 4 tämän laitteen tunnistaa.

Kuva josta nähdään mitkä asetukset AVR-studion yhteysdialogissa täytyy olla. Port-ikkunan asetus voi toki olla automaagisella tunnistuksellakin, mutta käytin itse suoraan oikeaa porttia.

Kuten kuvasta nähdään, AVR-studio tunnistaa kyseisen piirin ja Olimexin AVR-USB-JTAG ohjelmointilaitteen.

Tämä projekti siis onnistui hyvin, vaikka piirilevy menikin uusiksi.