• Pasi

Phat Pocket Arcade: 3D suunnittelua taskuun, osa I

Päivitetty: tammi 7


Puolentoista kuukauden ajan posti on kantanut pikku hiljaa osia verkkokaupoista rakenteluprojektiin, jonka tavoitteena on Raspberry Pi Zero -ytiminen taskupelikonsoli. Useimmat tarvittavat komponentit alkavat olla kasassa, ja yhtä vailla kaikki toistaiseksi tilaamani lähetykset saapuneet.

Kun tämän palapelin palaset alkavat olla kasassa, onkin aika alkaa miettimään miten koota se. Aivan valmista mallia en käytä, vaan homman idea on suunnitella ihan oma kokoonpano.

Alla olevassa kuvassa vasemmalta oikealle:

Peukalotikku, samantyyppinen kuin PSP:ssä, kolme painonappia

Kytkentälevy peukkutikun kaapelille, pussillinen kirpun kokoisia piirilevylle juotettavia painokytkimiä

Adafruit Arcade Bonnet -ohjauspiirilevy

2.2" TFT LCD näyttö

Raspberry Pi Zero 

8 ohmin ja 0,5 watin pieni kaiutin

Raspberry Pi:hin ja Adafruit-korttiin sopivia liittimiä

Uusi projekti, uusi työkalu

Osien kasaantuessa työpöydälle piti ottaa haltuun uusi CAD-ohjelmisto. Viime vuonna värkätessäni bartop-pelikabinettia olin käyttänyt SketchUpia, mikä oli tarkoitukseen sopivan helppokäyttöinen. Ensin ajattelin mallintaa taskupelin myöskin SketchUpilla, mutta aika pian vaikutti siltä, että hieman monipuolisempi mallinnusohjelma olisi tarpeen. Kaipasin seuraavia ominaisuuksia:

- valmiita komponenttimalleja. Ajatus oli keskittyä kehittelemän kokoonpanoa ja kotelon muotoilua, joten valmiit osamallit säästäisivät aikaa ja vaivaa.

- millimetrien osien tarkkuus. Kaikkihan tässä projektissa on fyysisesti kertaluokkaa pienempää kokoa kuin aiemmassa. Jossain vaiheessa joudun rakentamaan kotelon useammasta palasesta ja silloin kiinnitysruuvien ja reikien on syytä osua kohdalleen

- mahdollisuus tallentaa malli 3D-tulostusta varten

- järkevä hinta

Pienen haeskelun jälkeen päädyin yrittämään suunnittelua FreeCADillä, joka on avoimen lähdekoodin 3D-suunnittelutyökalu. Joten ainakin viimeinen mainittu ominaisuus tuli täytettyä, ohjelmisto on ilmainen.  Itse asiassa olin alustavasti kokeillut FreeCADia toista vuotta sitten aloitellessani bartop arcade projektia, mutta laitoin sen syrjään kun huomasin SketchUpin helpommaksi oppia. No nyt oli aika laittaa opiskeluvaihde pykälää ylemmäs ja ottaa FreeCAD haltuun riittävässä määrin.

FreeCAD vaikutti passelilta komponenttien suhteen, sillä se pystyy lukemaan varsin runsaan määrän eri CAD/CAM -tiedostoformaatteja. Joten alkuvalmisteluina lähdin etsimään käyttämieni komponenttien valmiita malleja. Yleisimpien,  kuten Raspberry Pi Zeron ja liitäntöjen mallit olivat helppoja tapauksia, kuvahaku Googlella hakusanoilla '3d model' plus komponentin nimi tuotti tuloksia. Komponenttimalleja tarjoavia palveluita on verkossa useampia ja latasin niistä ne mallit mitkä löysin. Muiden osalta jouduin ottamaan digityöntömitan käteen, mittaamaan komponentit työpöydällä ja sen jälkeen mallintamaan ne FreeCADilla riittävän pikkutarkasti. 

FreeCAD, ollessaan ilmaisohjelmisto, ei ehkä ole kaikkien viimeistellyin tai kyvykkäin CAD-työkalu. Se on kuitenkin parametrimallinnustyökalu, mikä tekee siitä erinomaisen moneen tarpeeseen, kunhan sen käyttämät mallinnustekniikat avautuvat suunnittelijalle. Tyypillisesti osien suunnittelu alkaa ns. rajoituksin suunnitelluilla 2D poikkileikkauksilla, joista sitten muodostetaan kolmiulotteisia pursottamalla tai kiertämällä reunaviivaa avaruudessa. Näin syntyneitä malleja muokataan edelleen käyttäen muita mallinnustyökaluja, esimerkiksi Boolen operaatiot ja konetyöstötekniikkaa jäljittelevät tekniikat, kuten virtuaalinen poraus tai jyrsintyöstö.

Myös rajoituksiin (constraints) perustuva mallinnustapa on kätevä. Se sallii suunnittelijan keskittymisen mallin tärkeisiin mittoihin ja muotoihin ja määrittelemään ne erittäin tarkasti.  

FreeCADin malleihin voi määritellä rajoituksin esimerkiksi kahden käyrän tai pinnan pisteen etäisyyden, kaksi käyrää tai pintaa yhdensuuntaisiksi, ympyröiden säteet tai kaaren kaarevuuden yhtäläisiksi, jonkin geometrian symmetrisyyden suoran tai pinnan suhteen ja niin edelleen.

Alkuaskelet FreeCADilla

Kaikki tämä FreeCADin monipuolisuus ja joustavuus voi myös olla haastavaa aloittelijalle. Samaan lopputulokseen tai toimivaan malliin voi olla useita teitä ja tapoja toteuttaa. Opetellessani FreeCADia ja mallintaessani sillä komponentteja onkin tullut käytettyä jo usein koeteltua 'trial and error' -tekniikkaa. Onneksi muutamalla yrityksellä ja verkosta löytyvien videoiden avustuksella on melko suoraviivaista oppia lisää ja päästä eteenpäin.

Tähän mennessä olen saanut mallinnetuksi Adafruitin Arcade Bonnet -kortin, 2.2 tuuman näyttömoduulin ja analogisen peukkutikun. Muokkasin valmiista painikemalleista hieman pienemmät, jotka vastasivat paremmin ostamiani painokytkimiä. Kaiutinta vastaamaan löysin mallin, joka ei ole täsmälleen samasta komponentista mutta hyvin lähellä omaa kaiutintani.

Saatuani mallit kaikille pääkomponenteille aloin asetella osia kokoonpanoksi FreeCADissa, eli mahdollisimman lähelle lopullista asemointia tulevan kotelon sisällä. Tämänhetkisessä kokoonpanossa Arcade Bonnet-kortti sijaitsee kotelon alaosassa, Raspberry PI Zero yläosassa, ja näyttö näiden välissä keskiosassa koteloa, osittain Pi Zeron ja kaiuttimen päällä. Peukkutikku ja painikkeet tulevat sijaitsemaan Arcade Bonnet I/O -kortin päällä ohjauspaneeliosassa, alaosassa koteloa.

Seuraavassa videossa on työversio pelikonsolista FreeCADissa. Kotelon ulkomuoto on vielä melko viimeistelemätön eikä kotelon sisustan muotoa ole vielä mallinnettu ollenkaan. Toisaalta, verrattuna reilun kuukauden takaisiin piirrosluonnoksiin suunnittelu on jo edennyt hyvän matkaa.

I/O-kortin (Arcade Bonnet) ja prosessorikortin (Pi Zero) täytyy tässä ratkaisussa kytkeä toisiinsa välikaapelilla. Arcade Bonnet on suunniteltu ns. hatuksi Raspberry Pi:lle, eli se on tarkoitettu sijoitettavaksi suoraan Pi-kortin päälle GPIO-liitännän avulla. Hylkäsin tämän kytkennän, koska kotelo olisi muodostunut paksummaksi verrattuna valitsemaani tapaan sijoittaa kortit erilleen toisistaan.  Liittämiseen aion käyttää suoran kulman liittimiä sekä modifioitua IDE-liitännän kaapelia.

Seuraavaksi

Ohjauspaneeli vaatii yksityiskohtaista suunnittelua. Peukalotikku ja painokytkimet täytyy kytkeä Arcade Bonnet-kortin liittimiin ja erityisesti tikun liittäminen  voi olla haastavaa kotelon alaosan käydessä ahtaaksi.  Painonappieni painikeosat ovat hieman liian suuria ja vievät liikaa tilaa kotelon suunniteltuun kokoon nähden. Toisaalta, painikkeiden pitää olla ergonomisesti käytettävissä.  Little Knight Arthur tarvitsee vain kolme toimintopainiketta ja pärjäisi yhdelläkin. Haluaisin kuitenkin kokeilla kotelossa myös muita pelejä, ja tyypillinen peli voi käyttää tikun tai ohjainpainikkeen lisäksi ainakin neljää toimintopainiketta. Tällaiseen muunnelmaan tarvitsen pienemmät painikkeet. Yksi ratkaisu voisi olla mallintaa ja tulostaa nykyisiä pienemmät ja korvaavat painikeosat ostamiini nappeihin.

Kotelon saavuttaessa muotonsa täytyy myös piakkoin tehdä savutesti, jossa varmistan, että kaikki ostamani komponentit toimivat. Olen jo kokeillut näyttöä ja varmistanut, että se toimii Raspberry Pin kanssa. Seuraavaksi on aika ottaa juotin käteen, kytkeä kaksi pääkorttia kaapelilla toisiinsa, ohjaimet sekä kaiutin samaan kokoonpanoon ja jännittää miten käy. Toivottavasti savu ei nouse, ainakaan kärähtäneistä piireistä. 

--- 


  • Facebook App Icon
  • Twitter App Icon

© 1984-2021 Pasi's Bitstuff / Pasi Hytönen.