Kerhoilta 17.10: Tekemisen täyteinen tiistai

Aiemmat kävijäennätykset taisivat rikkoutua tänä tiistaina kerhoillassa: paikalla oli yhtäaikaisesti enimmillään 16 henkilöä, ja vierailijoita yhteensä varmaan enemmänkin. Koska tekijöitä oli paljon, labralla nähtiinkin jos jonkinlaista tekemistä. Labralaiset jakautuivat sen verran tasaisesti kahteen eri huoneeseen, että ainakaan minusta ei tuntunut erityisen ahtaalta. Keväisestä uudelleenjärjestelystä taisi siis olla hyötyä.

Makitan jyrsin paikallaan.

Petteri ja Sandron CNC-jyrsinprojektiin saapui itse jyrsin, jolle Petteri teki kiinnikkeen puukappaleesta. Jyrsin on nyt asennettu paikalleen, ja seuraavassa kerhoillassa sillä varmaan päästään jo tekemään ensimmäinen koejyrsintä.

Moni puuhasteli myös tietotekniikan parissa. Jyrama ja rsl virittelivät Raspberry Pi:ta pyörittämään seinälle pystysuuntaan ripustettua näyttöä. Xorgin konffaamisessa oli omat hassuutensa, mutta siinä pyörii nyt jo graafinen käyttöliittymä Arch Linux ARMin päällä. Miika ja Joel ahkeroivat parannuksia labran verkkoon konffaamalla ja asentamalla käytöstä poistetun Ciscon labran runkokytkimeksi. Joni ja Valtteri säätivät PC-raudan parissa. Valtterilla oli myös mukana vanha MacBook, jossa on kadehdittavan paljon portteja verrattuna nykyisiin.

Elektroniikkapuuhaakin riitti: Mio korjasi mm. vanhan reitittimen ja Jarno ehosti näyttöä. Allekirjoittanut testaili tasapainorobotille suunniteltua uutta piirilevyä, joka viime viikolla saapui vihdoin postissa. Sainpa kirjoitettua projektista jonkinmoisen loginkin.

Lisäksi kerhoillassa Eetu valmisti sitsiproppeja. Myöhemmin nähtiin myös Pepe-patukan hakkerointia, josta ei valitettavasti ole kuvamateriaalia. Kaiken tämän tekemisen keskellä Milla onnistui keskittymään Calculus-kurssin laskuharjoitusten ratkomiseen.

Differentiaalilaskentaa, piirtämistä, konffaamista…

Labranäytön prototyyppi ja karmeat kaapeloinnit.

LCD-näytön sisuskalujen kasaamista.

Joskus kannettavissa tietokoneissa oli myös CD-asemia.

Tasapainoileva ESP8266-robotti

Olen jo pidempään muun muassa labrailloissa puuhaillut kahdella renkaalla tasapainoilevan robotin parissa. Projekti-idea ei sinänsä ole mitenkään uniikki – tasapainorobotteja löytyy YouTubesta vaikka millä mitalla hakusanalla self balancing robot.

Tässä projektissa on kuitenkin hieman tavanomaisesta poikkeavat lähtökohdat. Idea lähti itämään, kun kuulin ensi kertaa ESP8266-mikrokontrollerista, jossa on 32-bittinen prosessoriydin yhdistettynä WiFi-rautaan. Olin rakentanut aiemmin yksinkertaisen tasapainorobotin Arduino Nanon päälle, mutta paremmat kauko-ohjausmahdollisuudet kiinnostivat. ESP8266:lla voisi pyörittää HTTP-palvelinta, jonka kautta robottia voi ohjailla kännykällä. Eikä siinä vielä kaikki: halusin, että kaikki laskenta tapahtuisi samalla mikrokontrollerilla. Enpä silloin tiennyt, mihin olin ryhtymässä.

Noin vuoden päästä ensimmäisestä ideasta robotti liikkui jo. Ensimmäinen toteutus tehtiin ESP8266:lle portatun Arduino-ympäristön päälle. Arduinon avulla oli helppoa päästä alkuun perehtymättä mikro-ohjaimeen kovin syvällisesti.

Ensimmäisessä protossa käytin robotin asennon mittaamiseen MPU6050-anturia, jossa on kolmen akselin gyro sekä kiihtyvyysanturi samassa paketissa. Nyttemmin olen ottanut käyttöön vastaavan, hieman edullisemman LSM6DS3:n. Anturilukemista pystyy sensorifuusion avulla määrittämään robotin asennon – tai painovoimavektorin suunnan robotin koordinaatistossa. Tästä eteenpäin kaskadi-PID-säädin säätää DC-moottorien nopeuksia pitääkseen robotin pystyssä. Laskenta on toteutettu kokonaan kokonaislukuaritmetiikalla, sillä ESP8266:ssa ei ole liukulukuyksikköä, ja liukulukulaskujen tekeminen softalla veisi liikaa aikaa – 1.66 kHz näytteenottotaajuudella ei ole kovinkaan paljon aikaa mittausarvojen käsittelyyn.

Arduino-toteutuksessa oli kuitenkin omat ongelmansa. Koska WiFi-yhteys ja verkkototeutus pyörivät samalla prosessoriytimellä kuin aikakriittinen säätökoodi, aiheutti välillä sivun lataaminen kännykällä hieman nykimistä tasapainoiluun. Lisäksi aika ajoin tapahtui satunnaisia jumiutumisia. Netistä kuitenkin löytyi lupaava esp-open-rtos-projekti, jossa sovelluskoodi pyörii FreeRTOS-reaaliaikakäyttöjärjestelmän päällä. Huomattava parannus robotin vakauteen saavutettiin, kun laitoin laskentakoodin pyörimään korkeammalla prioriteetilla kuin TCP-yhteys. esp-open-rtos on muutenkin osoittautunut erinomaiseksi alustaksi, jota voisi suositella kenelle tahansa, joka haluaa kaivautua syvemmälle ESP8266:n maailmaan.

Aivan ongelmaton ESP8266 ei ole muutenkaan. Tarvitsen robotissa sekä PWM-lähtöä että I2C-yhteyttä, joista kummastakaan ei ole ESP8266:ssa rautatoteutusta. Softatoteutuksia molemmista pyörii netissä useita, mutta kesti hyvän aikaa löytää I2C-toteutus, joka todella saavuttaa lupaamansa siirtonopeudet. Lisäksi täytyy kehua ESP8266_new_pwm-kirjastoa, joka saavuttaa 20 kHz taajuuden 8 bitin resoluutiolla. Moottorien ininästä ei enää tarvitse kärsiä!

Moottoriohjaimena käytin aluksi L293D:tä, jossa pääteasteet on toteutettu bipolaaritransistoreilla. Myöhemmin kuitenkin selvisi, että niistä aiheutuu parin voltin jännitehäviö, jolloin DC-moottoreista ei saa täysiä tehoja irti. Niinpä vaihdoin myöhemmin DRV8835-piiriin, jossa on MOSFET-pääteasteet.

Protoversiossa käytettiin IC:itä valmiille breakout-levyille asennettuina ja johdoilla yhteen kytkettyinä. Hiljattain suunnittelin robolle varta vasten piirilevyn, ja OSH parkin valmistama lopputulos onkin varsin siistin näköinen.

Nyt kun pohjatyöt on tehty hyvin, aion seuraavaksi keskittyä käyttöliittymän hiomiseen – erityisesti PID-säädinten viritykseen tarkoitettu käyttöliittymä on nykyisellään hieman hankala. Olisi myös hauskaa suunnitella robolle 3D-tulostettava runko, jolloin se alkaisikin olla valmis massatuotantoon. Valmista tästä ei kuitenkaan varsinaisesti tule koskaan – onhan projekti jo ollut pari vuotta tekeillä. Jos alkaa tuntua tylsältä, saatan laittaa taas kaiken uusiksi päivittämällä ESP32:een ja ottamalla DC-moottorien sijaan käyttöön askelmoottorit.

Robotin koodit, piirilevykuvat ja kytkentäkaaviot ovat vapaasti saatavilla GitHubissa.

Kerhoilta 7.10: Uutta kävijäennätystä lauantaille

Lauantain jäsenillassa riitti kävijöitä pitkin päivää. Kenties samalla tuli uusi kävijäennätys ainakin lauantaiden osalta, sillä ainakin jo kolmen aikoihin iltapäivällä oli molemmat huoneet täynnä porukkaa hääräämässä kukin omien projektiensa parissa.

Itse ostin aiemmin pienvikaisen Geeetech i3 Pro B -merkkisen 3D-tulostimen lähes valmiiksi kasattuna. Sen edellinen omistaja ei ollut saanut laitetta koskaan toimimaan kunnolla, ja menin korjailemaan sitä labille tavoitteenani saada se lopulta toimivaksi enintään parissa tunnissa. Aioin kokeilla uutta virtalähdettä, sillä tulostin oli aiemmin temppuillut parista eri syystä. Ensinnäkin sen askelmoottoreiden askelta per millimetri -arvo tuntui olevan pielessä, vaikka sen olisi pitänyt ainakin teoriassa olla ihan oikein, koska olin kääntänyt Geeetechin ohjaimelle ohjelmiston itse ja asetuksen olisi pitänyt olla oikein. Edellisellä säätökerralla edistyin korjaamisessa hieman, kun latasin Geeetechin tarjoaman firmwaren tilalle puhtaan Marlin-version, josta löytyi i3-klooneille suoraan sopiva asetustiedosto. Muokkasin sitä vain hieman, tarkistin, että askelmäärä oli oikein, käänsin ohjelmiston ja siirsin sen laitteelle. Tämä korjasi steps-by-mm-ongelman, mutta sen jälkeen laite lopetti tulostamisen kesken työn, koska lämpölevy ei lämmennyt oletetusti. Marlinin uudessa versiossa oli tuollainen hieno failsafe-ominaisuus, joka jopa ilmoitti asiasta. Tästä päästäänkin toiseen ongelmaan, jota esiintyi edeltävällä ohjelmistoversiolla: laitteen emolevy käynnistyi melko sattumanvaraisesti itsekseen uudelleen kesken tulostuksen. Sen huomasi kunnolla, kun tulostinta yritti ohjata USB-yhteyden yli suoraan tietokoneella ja lueskeli konsoliin tulleita viestejä. Käynnistymisestä johtuen ohjelmisto unohti tulostinpään sijainnin, mutta silti tulostus jatkui aivan kuin mitään ei olisi tapahtunutkaan. Koordinaattien nollautumisesta johtuen tulostin yritti siirtää tulostinpäätä keskemmäksi alustaa, mutta käytännössä se siirtyikin aina yhteen takanurkkaan ja nyhjötti siellä lopputulostuksen ajan.

Hacklabin bonkkilaatikosta löytyi onnekseni tasan samanlainen kiinalainen virtalähde kuin millainen Geeetechissä oli, joten vaihdoin sen tilalle kokeillakseni olisiko vika ollut kyykkäävässä virtalähteessä. Sehän tuntuikin korjaavan tilanteen täysin, ja nyt labilla on yksi toimiva 3D-tulostin enemmän! Eipä edes tarvinnut ruveta mittailemaan mitään tai vaihtamaan johdotusten liittimiä. Toimimattoman virtalähteen heitin SER-laatikkoon.

Hacklabin uudet verkkosivut

Viimeisten muutaman kuukauden aikana on saattanut nähdä labralla kahden henkilön tuskaisia ääntelyitä, puukkoja, kiroamista tyylitiedostoille, sekä kävijäseurannasta havaittuja, pitkään yöhön jatkuneita tunkkaussessioita. Kaiken tämän tarkoituksena oli nyt näkyvät WordPress-sivut, jotka syntyivät Zouppenin ja BFlorryn usean kyyneleitä valuttaneen säätöyön tuloksena.

Verkkosivuprojektin aikajana:

  • Hallituksen kokouksessa päätetään labran yleisilmeen kohentamisesta. Puhe erityisesti logosta ja sivuista, joista kumpikaan ei hallituksen mielestä herättänyt mielenkiintoa. Morph ottaa kopin verkkosivu-uudistuksesta.
  • Morph esittelee hallituksen kokouksen yhteydessä pystyttämiänsä verkkosivuja, jotka on rakennettu Ghost-sisällönhallintajärjestelmän päälle. Projekti vaikuttaa hyvältä, mutta jää hetkeksi tauolle.
  • BFlorryn selvittelyssä käy ilmi, että Ghost ei tue ilman erillistä kaupallista JavaScript-liitännäistä eri kieliversioita sivustosta, joten BFlorry alkaa selvittelemään muita vaihtoehtoja.
  • BFlorry keskusteli Zouppenin kanssa sisällönhallintajärjestelmävaihtoehdoista ja Zouppen ehdotti itselleen tuttua WordPress-alustaa, joka valikoitui lopulliseksi alustaksi.
  • Zouppen pystytti Hacklabin palvelimelle WordPressin Docker-konttiin.
  • BFlorry havaitsi konffausvirheitä sivuilla, pääosin tiedostojen lähettämisessä sekä liitännäisten lataamisessa ja asentamisessa. Näitä ei pystynyt aluksi tekemään lainkaan.
  • Zouppen tuskasteli Dockerin kanssa, johon Jyrama ojentaa auttavan kätensä, sillä hän on juuri laittanut Ynnälle WordPress-sivuston Dockerissa pystyyn, jonka hän antaa myös Zouppenille.
    • Tässä nähdään Dockerin edut. Kun on yksi hyvin konffattu Docker, niin vastaavan ympäristön pystyttäminen on vaivatonta.
  • Hacklabin WordPress-sivut olivat jälleen pystyssä testikoneella, mutta tällä kertaa halutut ominaisuudet toimivat pienen nginx:n ja PHP:n konffaamisen jälkeen, joka salli suurempien kuin 2 megatavun tiedostojen lähettämisen palvelimelle. Tehtiin erään ohjeen mukaan.
  • BFlorry pääsi etsimään sopivaa teemaa, joka sopisi Hacklabin käyttöön. Ensisijaiseksi inspiraatioksi nousi fat cat FAB LABin sivut, jotka tietyillä muutoksilla vaikuttivat erittäin selkeiltä.
    • Oleellisimpana muutoksena oli päätös olla tekemättä koko etusivun täyttävää kuvaa/videota, koska juuri kukaan paikalla olleista ei pitänyt kyseistä designiä käytännöllisenä tai miellyttävänä. Iteroinnin jälkeen tämä korvattiin huomattavasti ohuemmalla diashow’lla, jossa pystyttiin näyttämään useampi kuva kerralla.
    • fat catin sivuilla erityisesti pidettiin tietoiskulaatikoista, jotka tuntuivat kertomaan juuri niitä asioita, joista hacklabissa vierailemattomat ovat olleet kiinnostuneita.

fat cat FAB LAB -tietoiskulaatikot

  • Kokonaisen kerhoillan vietettyään teemojen parissa tunkatessa, BFlorry tuskastui siihen, ettei saanut edes teeman mallisivulla esiintyvää leiskaa toteutettua. Zouppen otti kopin tilanteesta ja kokeili säätää niitä itse kuntoon.
  • Zouppen tuskastui myös WordPressin valikkohelvettiin, jolloin BFlorry otti kopin hommasta jälleen ja onnistui saamaan selkoa WordPressistä ja sai asetettua Vantage-teeman oletusasettelun, joka oli tässä kohtaa jo suuri riemuvoitto.
    • Vantage tulkittiin parhaaksi vaihtoehdoksi, koska kyseisen teeman vakioasettelu oli jo hyvin lähellä haluttua asettelua. Lisäksi kyseinen teema oli vapaa (GPL v2), eikä jättänyt monia ominaisuuksia maksumuurin taakse.
  • Zouppen alkoi toteuttamaan näkemystään sivun eri asettelujen kanssa puukottamalla suoraan sivujen CSS-tyylitiedostoa. BFlorry taas syventyi widgettien (vimpainten) sielunelämään, joka auttoi dynaamisten ominaisuuksien luomisen sivuille, mikä olikin WordPressin suuri etu aikaisempiin verkkosivuihin nähden.
  • Noin kolmeen asti aamuyöllä pitkittyneen lauantain kerhoillan päätteeksi verkkosivut saatiin julkaistua. Se tapahtui 1.10. klo 04:00, noin neljä tuntia ja yksi minuutti tavoiteaikataulua jäljessä – kuitenkin ennen aamunkoittoa.

Vierailu DDR:ssä

Hacklabin jäsenmäärä on viimeisen vuoden aikana kasvanut hurjasti. Kerhoilloissa tämä onkin näkynyt – vilkkaimpina iltoina alkaa olla melko ahdasta. Kasvavana tarpeena on myös noussut esiin puu- ja metallitöiden sijoittaminen omaan tilaansa äänen, turvallisuuden ja pölyn vuoksi.

Olemmekin alkaneet hiljalleen selvittää mahdollista muuttoa uusiin tiloihin. Kortepohjan ylioppilaskylä kutsuikin meidät asian tiimoilta vierailulle – heillä olisi tarjolla meille tilaa DDR- eli MNOP-talokompleksin katutasosta, tarkemmin nykyisen Korkeakoululiikunnan kuntosalin tiloista.

Kävimme neljän hallituksen jäsenen kanssa katsomassa, minkälaiset tilat ovat kyseessä. Meille tarjotut tilat muodostuvat yhteensä neljästä eri huoneesta, joista suurin on noin 54 m² kokoinen. Yksi pienemmistä huoneista on kylmän tilan kautta käytävä huone, johon voisi sijoittaa esimerkiksi sotkevampia projekteja kuten spraymaalaus tai pyörän korjaus. Yksi huoneista on nykyisin kalustettu keittiöksi. Nykyisistä tiloista puuttuu erillinen keittiö, joten se olisi tervetullut muutos.

Tarjottua tilaa on yli 100 m² verran, ja kokonaisuus vaikuttaa toimivalta. Keskustelut käytiin hyvässä hengessä, ja Ylioppilaskylän henkilökunta vaikutti kiinnostuneelta kuulemaan muutostarpeistamme. Selvitettäväksi jäi mm. mahdollisuus puhkaista seiniä erillisten huoneiden välillä. Lisäksi samoissa tiloissa on väestönsuoja. Alkuperäisen puheen mukaan tämä olisi jäämässä JYY:n käyttöön, mutta tulevaisuudessa siitäkin voisi saada tilaa laajenemiselle esimerkiksi osittain.

Tiloissa on myös sauna, joka on tällä hetkellä pois käytöstä. Tiedustelimme sen käyttömahdollisuuksista tai muusta tavasta järjestää saunavuoro, ja keskusteluissa vilahtikin jo mahdollisuus varata Hacklabille viereisen talon saunasta oma vuoro.

Kuvia tiloista oli hieman hankalaa saada kännykkäkameralla, mutta eivät ne toisaalta kovin paljon kertoisikaan sen vuoksi, että ne ovat tällä hetkellä täynnä kuntoiluvälineitä. Joten tämä pohjapiirros kertoo enemmän: