ATX-virtalähteen käynnistäminen Arduinolla

Olen innostunut harrastamaan elektroniikkaa ja sulautettujen ohjelmointia Hacklabissa. Koen sen hyvänä lisänä omalle osaamiselleni, joka on ohjelmoinnin puolesta jo hyvällä mallilla. On oman koulutuksen takia hyvä kuitenkin tuntea tietokoneen toiminta rautatasolla, lähtien virtalähteen toiminnasta.

Arduinon erityinen vahvuus on matala hinta (kopiot alkaen 3€), jolloin se on järkevä valinta korvaamaan muuten hyvin monimutkaisia analogisia ohjausjärjestelmiä. Arduinossa on 32 kB flash-muistia ohjelmalle ja 4 kB RAM muistia muuttujille, arvojen vastaen Voyager luotaimen ohjainta. Arduinon 16 MHz nopeus on samaa luokkaa kuin 1990-luvun alun PC-tietokoneissa. 32 bitin väyläleveys ja käskykanta on jopa parempi kuin vastaavan nopeuksissa pöytätietokoneissa.

Jones spoiler

Itselleni elektroniikasta tulee mieleen Jones in the Fast Lane -peli. Kyseisessä pelissä voi opiskella korkeateknillisessä yliopistossa mm. elektroniikkaa. Pelin on julkaissut Sierra vuonna 1990. [2]

Kuva Jones in the Fast Lane. [2]

Itse olen joitain opettavaisia pelejä pelaillut [4]. Mielestäni Jones (suom. Kukko Pärssinen [10]) on niistä yksi parhaimpia. Peli antaa lapsille erittäin hyvän käsityksen työelämän tarpeista osana muuta elämää. Nämä ovat asioita, joita ei välttämättä opi edes peruskoulussa.

Video. Jones in the Fast Lane.

”Kukko opiskelee tietysti SÄHKÖLLÄ koska kukon mukaan siellä liikutaan RAUDAN ALAPUOLELLA!!!!” [10]

Itse olen hieman elektroniikkaa harrastanut, olen tehnyt Kemon sarjoja. Se on saksalaisen yhtiön tekemä opettavainen elektroniikkasarja lapsille nuorille 1980-luvulla. Se ei ole vieläkään menettänyt merkitystään. Aivan hiljattain tinasin loppuun oman lämpötermostaattisarjan. Iloa riitti, kun sitä pääsi testaamaan, omat aiemmat tinaukset toimivat osana uusia tinauksiani yli kymmenen vuoden jälkeen. [5]

[collapse]

ATX Virtalähde

Nykyaikaisissa tietokoneissa on ATX (Advanced Technology Extended) -virtalähde, joka on jatkoa aiemmalle AT (Advanced Technology) virtalähteelle vuoden 1995 lopussa. Tässä artikkelissa keskityn ATX-virtalähteeseen.

ATX on nykyaikaisten käyttöjärjestelmien tarpeita paremmin palveleva standardi, sallien mm. tietokoneen sammuttamisen ohjelmallisesti [3]. Windows osaa sammuttaa tietokoneen ATX-virtalähteellä, mutta AT-virtalähteen yhteydessä tietokoneissa käyttäjän piti itse sammuttaa tietokone.

AT spoiler

Vanhoissa Windows 95 tietokoneissa tuli ohjelmallisen sammuttamisen jälkeen käyttäjälle ilmoitus, että on turvallista sammuttaa tietokone fyysisesti. Käytännössä se tarkoittaa virtanapin painamista. Tämä ei ollut käyttöjärjestelmän vika, vaan sen ajan virtalähteet eivät tukeneet tietokoneen ohjelmallista sammuttamista.

Video. All Microsoft Windows ”It is now safe to turn off the computer” screens (AWBS Sequel)
[collapse]

Tietokoneen virtalähteen on erittäin hyvä virtalähde myös muun elektroniikan tarpeisiin. Se antaa useita satoja wattia tehoa, joka riittävästi useimpiin elektroniikkaharrastuksen laitteisiin. Johtimia on paljon, joten yleisesti pienessä elektroniikassa tarvittavia 12, 3.3 ja 5 voltin johtimia riittää. Jännite on myös erittäin tasalaatuista.

ATX pinnit

ATX virtalähteen emolevylle tulevassa kaapelissa on 24 pinniä. Näistä erityisen kiinnostavia ovat vihreä ja purppura johdin. Niiden avulla on mahdollista käynnistää virtalähde käyttäen Arduinoa. Myös mustaa johdinta tarvitaan ohjelmointikortin maadoitukseen.

Kun vihreän ja mustan johdon yhdistää, niin silloin virtalähde on käynnissä. Käytännössä se siis tarkoittaa sitä, että PS-On johdin on kytkettynä maahan. Tätä varten saa hieman virtaa viiden voltin Standby-johtimesta eli purppurasta johtimesta. Purppura johdin toimii tietokonevalmistaja Dellin vastauksen mukaan mm. valmiustilan LED-vilkun virranlähteenä. [1]

Kuva ATX 2.0 specifikaatio. [1]

Kun virtalähde antaa purppurasta +5 volttia, niin silloin Dellin vastauksen mukaan ”klassisen” specifikaation perusteella pitäisi kaikkien johtimien jännitteiden olla kunnossa. Jos purppuran johtimen jännite on enemmän tai vähemmän, niin silloin emolevyn tai käyttöjärjestelmän vastuulla on reagoida tilanteeseen. Aluksi emolevy odottaa, että jännite nousee viiteen volttiin käynnistyksessä. [1]

Virtalähteen käynnistäminen johtimilla

Aivan samoin kuin autoja sai käyntiin suoraa johtimista aikoinaan, niin onneksi sama on mahdollista vielä nykyajan ATX-virtalähteiden yhteydessä. Se tapahtuu yksinkertaisimmillaan kytkemällä vihreä johdin mustaan johtimeen, kuten seuraavassa kuvassa on havainnollistettuna. [6]

Kuva. Virtalähde käynnitettynä johtimella. [6]

Tätä käynnistystapaa edistyneempi kytkentä on laittaa vipukytkin, jolla virtalähteen saa päälle ja pois. Tällöin johdinta ei tarvitse irrottaa fyysisesti irti kaapelista, jolloin virtalähteen käyttäminen on helpompaa. [6]

Käynnistäminen sähköpiirillä

Jos erityistä kiinnostusta on, niin silloin voi rakentaa oman piirilevy, jolla voi elektronisesti ohjata virtalähteen käynnistymistä. Tällaisesta kytkennästä on seuraavassa kuvassa esimerkki.

Kuva. On/Off-kytkintäpiirin piirikaavio. [7]

Innokas elektroniikan harrastaja voi kokeilla tätä piirilevy kytkentää esimerkiksi seuraavanlaisella  bread boardilla. Minusta on erittäin arvostettavaa ja hienoa, että näin hyvä kytkentä on saatu tehtyä. Olen itsekin miettinyt vastaavan rakentamista.

Video. ON/OFF kytkentä. [7]

Tämä kuitenkin vaatii paljon komponentteja, joiden tilaaminen vie oman aikansa. En myöskään itse täysin vakuuttunut tämän kytkennän täydellisyyteen, vaikka hienosti näyttää toimivan. Digitaalisella ohjauksella saavutetaan etuja, joita ei voida helposti luoda elektronisilla kytkennöillä.

Kytkennät Arduinoon

Seuraavassa kuvassa on hyvin esimerkillinen kytkennät, jolla tavalla on suositeltavaa kytkeä ATX-virtalähde kiinni Arduinon ohjelmointikorttiin. Kyseisessä kytkennässä on käytettynä Transistoria, jota ohjataan digitaalisella 12. Kun pinniin 12 tulee +5V:n jännite tilassa 1, niin silloin ATX Ground ja ATX Power On yhdistyvät. Ylimääräistä virrankulutusta rajoitetaan 1k ohmin vastuksilla. [8]

Kuva. ATX virtalähde kykettynä Arduinoon. [8]

Itse teen kytkennän ilman ylimääräisiä transistoreita. Tällöin laitan ATX Power On -johtimen suoraan digitaaliseen ulostuloon. Laitan ohjelmallisesti pinnin tilaan 0 eli maahan, jolloin se vastaa 0 voltin jännitettä. Näin kytkentöjen tekemisestä tulee hieman yksinkertaisempia.

Virrat Arduinolle tulevat virtalähteen lepovirran kautta. Lisäksi tätä varten tulee olla painonappi ja merkkiLED. Siihen tarkoitukseen sopivat erinomaisesti tietokoneen kotelon omat käynnistysnappi ja merkkiLEDit. Aluksi testailuissa itse käytän tyypillisiä elektroniikassa käytettyjä piirilevyyn laitettavia LEDejä ja kytkintä.

Seuraavan kuvan mukainen kytkentä on suositeltu tapa tehdä painonapin kytkentä piirilevyllä. Kuvassa on kytketty toinen puoli kytkimestä jännitteensyöttöön ja toinen maahan. Maadoituksen puolella kytkennässä on 10k ohmin vastus. Sen tulee olla näin suuri, koska sen tarkoitus on estää johdinta toimimasta antennina. 16 MHz taajuudella johtimissa esiintyy häiriöitä, jos johdin jää ”roikkumaan ilmaan”.

Kuva. Painonapin kytkeminen Arduinoon. [8]

Pull-Down -vastuksen laittaminen ei kuitenkaan ole välttämätöntä, koska Arduinossa on sisäänrakennetut vastukset tätä tarkoitusta varten. Se tarkoittaa sitä, että riittää kun vain asettaa ohjelmallisesti halutun pinnin sisääntuloksi ja tilaan 1.

Näiden lisäksi LEDillä tulee käyttää etuvastusta. 220 ohmia on hyvä vastus antamaan sopivasti virtaa LEDille 5 voltin ulostulosta. LEDin oma vastus on erittäin matala, joten ilman vastusta se ylikuumenee hetkessä. LED on diodi, joten se johtaa virtaa vain toiseen suuntaan. Täten LED tulee muistaa laittaa oikein päin. Vaihtoehtoisesti voi laittaa kytkentään kaksi LEDiä rinnakkain, jolloin jompi kumpi LED on päällä riippuen virran suunnasta.

LÄHTEET

[1] Dell: ATX Dell PSU to Offical ATX 2.0 spec pinout
[2] Tuppu.fi: Työelämä
[3] Geeks for geeks: Difference between AT and ATX Power supply
[4] Tuppu.fi: Opettavaiset tietokonepelit
[5] Bebek: rakennussarjat
[6] OverClockersClub: How To Turn On An ATX Power Supply Without A Motherboard
[7] CircuitDigest: Soft Latch Switch Circuit
[8] Arduino Forum: ATX power supply
[9] Github: Arduino Buttons
[10] Kukko Pärssinen

Vastaa

Sähköpostiosoitettasi ei julkaista.

This site uses Akismet to reduce spam. Learn how your comment data is processed.