Palautelaatikkoon saapuu usein kyselyitä jonkin idean toteuttamistavasta tai kysymyksiä ja vinkkitoiveita erilaisten asioiden tekemisestä joko elektronisesti tai muuten vain sähköön liittyen.
Toimeksiantoja suunnitella erilaisia härpättimiä saapuu myös aina välillä ja tästä syystä ajattelinkin kertoa meneillään olevasta, aikataulullisesti aika pitkästä ja hitaasti edistyneestä projektista nimeltä Ilmahirviradan rakennus.
Sain tässä noin vuosi sitten (18.12.2016) yhteydenoton sivuille eksyneeltä kävijältä, joka kyseli minulta kiinnostusta ilmahirviradan softan tekemiseen Arduinolle. Sähköpostikeskusteluissa selviteltiin projektin raja-arvoja ja hieman speksejä siitä, miten tämän laitteen ja ohjelmiston tulisi toimia. Aivan aluksi ei ollut varmaa siitäkään, millaisella mekaanisella toteutuksella tätä projektia lähdettäisiin eteenpäin viemään ja minkälaisia moottoreita radan ohjaamisessa käytettäisiin.
Hommat aluksi hieman venyivät, kun joutilasta aikaa ei tuntunut kalentereista löytyvän ja mekaniikkakin oli pitkään hakusessa. Sitten kuitenkin parin kuukauden kuluttua "asiakas" sattui onnekseen löytämään sopivan mekaniikan ja moottorin vanhasta liukuoven avaussysteemistä. Kyseinen liukuovisysteemi oli ilmeisesti jollakin tavalla viallinen, mutta vika ei ollut tiedossa.
Kun mekaniikka-asiaan tuli kerralla selkeys, suunnitteluun saatiin taas uutta puhtia.
Moottorinohjaimen tutkiminen
Asiakas lähetti moottorin ohjauskortteineen minulle ja aloitin tutkimaan, voisiko olemassa olevaa moottorinohjainta tai muuta elektroniikkaa hyödyntää. Tutkiskeluissa paljastui, että periaatteessa moottorinohjainta voisi käyttää, mutta koska tämän kortin toiminta ei ollut niin itsestäänselvää niin päätin tutkia myös mukana tullutta toista ohjainyksikköä.
Elektroniikkakortissa oli siis yhteyksiä tähän toiseen ohjainpurkkiin, minkä päällä oli vain "epämääräisiä" merkintöjä kytkennöistä. Googlettelin ohjainpurkin nimeä ja oikein mitään selvää vastausta en löytänyt siihen, mikä kyseinen aparaatti on. Kuitenkin, mitä nyt yhtään osaan elektroniikasta sanoa niin purkki oli logiikka-ohjausyksikkö, minkä avulla oven avausmekanismia ohjataan eri antureiden ja kytkinten perusteella. Aavistelin tämän olevan peräisin jostakin kaupan tai jonkin muun liikkeen automaattisesta liukuovenavausmekanismista.
Aikani tutkiskeltuani ja googleteltuani asiaa päädyin siihen, että tätä ohjainyksikköä ei voi tällaisenaan käyttää hirviradan moottorinohjauksessa. Syy siihen olisi yksinkertaisesti se, että asiakkaan vaatima speksi sisältää sellaisia kohtia, joita tällä purkilla ei mielestäni olisi pystynyt toteuttamaan. Toisekseen ei ollut tietoa, onko tämän laitteen toiminnassa jotain epävarmuutta. Ainoa varma asia mikä tiedettiin oli se, että moottori toimii ja pyörii moitteettomasti. Päädyin takaisin tutkimaan moottorinohjainkorttia.
Moottoriohjainkortin modaus
Päädyin tutkimaan, kuinka saan eloa DC-moottorinohjaimeen mikä moottorin kyljestä löytyi. Ruuvasin sen irti ja tutkiskelin ohjaussignaaleita yleismittarin avulla sekä tein erilaisia kokeiluita.
Moottorinohjain ei alkanut toimimaan laisinkaan ilman yhteyttä logiikkaohjausyksikköön, joten aluksi piti selvittää mikä signaali kortille tulee, joka mahdollistaa tämän elektroniikkakortin toimimisen itsenäisenä kamppeena.
Sain kuin sainkin tämän toimimaan ilman yhteyttä logiikkaohjainpurkkiin. Kytkin pienen, vanhasta tulostimesta puretun DC-moottorin ohjainkortin lähtöihin ja pyörittelin moottoria onnistuneesti molempiin suuntiin.
Tein Arduinolle lyhyen testisovelluksen, joka pyörittäisi moottoria automaattisesti edestakas pienellä PWM-taajuudella, mutta ilmeisesti ohjelmassa tai jossakin oli vikaa koska moottori pyörähti vain kerran ja sen jälkeen kortti vaikeni iäksi.
Maaginen savu oli ilmeisesti kadonnut, vaikka siitä ei juurikaan havaittavia merkkejä ollut. No näitä sattuu, varsinkin kovin rankasti modatulla kytkennällä, minkä kytkentäkaaviosta ei ole hajua, eikä aikaa ollut "reverse-engineerata" tätä korttia alusta loppuun.
Tutkimuksiin ja kokeiluihin sekä pähkäilyihin käytin aikaa useita iltoja ja lopuksi päätin hylätä kaiken elektroniikan mikä oli tullut mukana. Toisaalta ehkä hyvä niinkin, koska näiden toimivuudesta en voinut mennä takuuseen. Kondensaattorin päällä olevassa tarrassakin lukee vuosi -99.
Moottorinohjaimen rakentaminen
Seuraavaksi piti rakentaa moottorinohjain, joka on Arduino yhteensopiva. Samaan syssyyn ajattelin rakentaa myös muut ominaisuudet ihan näkkäripohjalle. Olin kuitenkin asiakkaalta saanut moottorin ja mekaniikan lisäksi myös Arduino-rakentelusetin, mitä oli nyt korkea aika hyödyntää.
Asiakkaan vaatimuksissa oli jonkinlainen näyttö ja käyttöliittymä asetusten säätämiseen. Lisäksi kauko-ohjattavuus oli toiminnoissa mukavana lisänä. Kaivelin rakentelusetistä esille LCD-näytön, nappeja hattuineen, IR-vastaanottimen, Arduinon ja muut osat, mitkä kaivelin omista kätköistäni.
Juotin näkkärille ensiksi moottorinohjaimen olennaisimmat osat, eli FETit paikalleen ja lisäsin niille jäähdytyssiilit. Tämän jälkeen lisäsin näkkärille tarvittavat paksummat sähköjohdot sekä vastukset ja pari transistoria sekä jytkyt 2200 uF kondensaattorit moottorin virransyöttöä tasoittamaan.
Tärkeimpien osien jälkeen aloin hahmottelemaan kuinka loput komponentit voisi tulla näkkärille. Hahmotelmia syntyi muutamia erilaisia, mutta lopulta päädyin ratkaisuun, missä LCD-näyttö ja kytkimet olisivat kytkettyinä liittimillä "emolevylle". Syystä että, mielessäni oli eräänlainen tietty kotelointiratkaisu lopulliselle laitteelle.
Jännitelähteeksi moottorinohjaimelle löysin ylimääräiseksi jääneen 32 voltin HP:n mustesuihkutulostimen powerin, mikä tekee kätevästi verkkojännitteestä 32 volttia 0,625 A:n virralla eli noin 20 W:n tehon. Nähtäväksi tietenkin jää, riittääkö powerissa virta lopulliseen sovellukseen vai pitääkö hankkia jytkympi virtalähde.
Arduinoa varten minun tarvitsi myös tehdä DC-DC-muunnin "emolevylle", joka muuntaa 32 voltin jännitteestä 5 volttia, millä Arduino toimii. DC-DC-muuntimessa käytin Texas Instrumentsin LM2594 Simple Switcher muunninta, mikä tarvitsee ympärilleen vain muutaman passiivikomponentin. Kytkentäkaavio tälle muuntimelle on tässä: HP0006. LDO:n käyttäminen tässä tapauksessa ei olisi ollut kovin järkevää tehohäviöiden suhteen, tästä syystä DC-DC-muunnin.
Koska muunnin ei syötä kovin suuria virtamääriä mihinkään, niin piirilevyn vetojen leveys ei tässä ole mikään kriittinen juttu. Tein vedoista kuitenkin sen verran paksuja, että niihin ei juurikaan jännitehäviötä jää. Piirilevyn tein valotusmenetelmällä ja syövytys natriumpersulfaatin avulla.
Kun ensimmäinen vaihe, eli moottorinohjain oli testauksineen valmis, niin pystyin siirtymään laitteen kehityksessä ensi kertaa itse ohjelman pariin. Siitä, ja radan rakennuksesta lisää seuraavassa osassa.