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.

Säätöpäivä 24.9.2017: CNC:n ekat liikkeet

Vajaan vuoden kestäneessä CNC-projektissa saavutettiin tänään iso rajapyykki kun ensimmäistä kertaa kaikki akselit olivat käyttökunnossa ja konetta päästiin testaamaan tussilla piirtämällä:

image

Akselicouplerit matkaavat vielä kiinan postissa, joten stepperit ovat vielä toistaiseksi kiinni letkunpätkillä. Tämmöisillä patenteilla päästiin jo etukäteen vähän testailemaan, ja samalla voi paremmalla mielellä laittaa seuraavat osat tilaukseen.

image

Vielä täytyy hommata itse jyrsin. Harkinnassa on Makita RT0701C josta ainakin Shapeokon forumeilla on ollut hyviä arvosteluja. Lisäksi X- ja Y-akseleille tulee kullekin vielä toinen trapetsiruuvi lisäämään vääntöjäykkyyttä, ja nämä tarvitsevat stepperit.

LinuxCNC:n konffissa riittää myös vielä ihmeteltävää, ainakin steps per millimeter pitää laskea oikeaksi arvoksi ja kiihtyvyydet testata.

Kerhoilta 16.5.: Minitesla

Miika oli hommannut eBaysta minikokoisen Tesla-coilin eli korkeajännitegeneraattorin. Valmistaja lupaa tälle 15 watin tehoa ja 10 kilovoltin jännitettä, mutta näiden väitteiden todenmukaisuutta ei tarkistettu.

Sen sijaan totesimme että energiansäästölamppu syttyy näppärästi langattomalla sähköllä, ja oskilloskoopilla sai katsottua teslan taajuuden (4.2 MHz) ilman mittajohtoakin. Hacklabilaiset osoittivat tervettä kunnioitusta värkkiä kohtaan eikä kukaan uskaltautunut laittamaan kiinni kännykkäänsä sen audio inputtiin:

image

Neon aiemminkin nähty lohikäärmenaamari on edennyt karvapäällystysvaiheeseen. Turkissa on paljon trimmaamista ja harjaamista parhaan ulkonäön saamiseksi – onneksi itse lohikäärme suhtautui operaatioon keskivertokoiraa säyseämmin.

image

Hacklabilla on muuten nykyään hieman erinäköistä kuin ennen, koska tiloja on järjestelty uudelleen vastaamaan paremmin käyttöä:

image