Mechatronics Exercises

Workspace Navigation

CNC Router

Jani Mäkelä, Jussi Tamminen, Antti Linnonmaa, Hannes Pitkänen

Tiivistelmä

Work area: 135 x 505 x 850mm
Workable materials: Wood, Plastic, (Aluminium)
Spindle: 1,5kW Motor & Variable Frequency Drive
Control: Rasperry Pi 7" Touchscreen, Arduino Mega 2560
Software: bCNC, Grbl, Apache
IoT : Send G-code through WiFi, Live Video Feed  


       





Poster

Handbook

Projektin kuvaus

Projekti alkoi mekaniikan suunnittelulla, joka jatkuikin aina projektin viime metreille. Mekaniikkaa parannettiin ja muokatiin sitä mukaa, kun uusia osia tilattiin tai ongelmia havaittiin. Tästä syystä mekaniikan suunnittelu olikin yksi projektin aikaavievin työvaihe. Onneksi runko kuitenkin päätettiin rakennettiin alumiiniprofiileista, mikä säästi hurjasti aikaa. Alumiiniprofiilien ainoaksi haittapuoleksi muodostui niiden korkea hinta. Nykyaikainen CNC jyrsin ei kuitenkaan ole pelkkää rautaa, vaan se sisältää suuren määrän erilaista ohjelmistoa ja koodia. Jyrsimen ohjausta varten etsittiin ja kokeiltiin muutamaa erilaista Ohjelmaa. Lopulta muutaminen kokeilujen jälkeen päädyttiin valitsemaan Arduino Megaan Grbl-ohjelma ja Raspberryyn bCNC-ohjelma. Näiden avoimeenlähdekoodiin perustuvien ohjelmien avulla jyrsimen ohjaaminen osoittautui varsin yksinkertaiseksi. Lopullisessa ratkaisussa bNC muodostaa yhdessä Raspberryn kosketusnäytön kanssa jyrsimen käyttöliittymän. Tämän käyttöliittymän kautta käyttäjä voi ohjata jyrsimen toimintoja. Raspberry välittää sen jälkeen saadut komennot Arduinolle, joka vastaa askelmoottorien ohjauksesta yhdessä askelmoottorienohjainten kanssa. Jysimessä oli lisäksi muutamia IoT ominaisuuksia koodin lähettämistä ja etävalvontaa varten. Nämä ominaisuudet toteutettiin hyödyntäen Raspberryn WiFi-yhteyttä. Raspberry ohjelmoitiin pitämään yllä verkkosivua, jonka kautta käyttäjä pystyy helposti lähettäämään G-koodit jyrsimelle. Käyttäjä voi myös katsella live kuvaa jyrsimen työskentelystä.

Suurimpia haasteita projektissa olivat aikataulun tiukkuus, karamoottorin kytkentä ja ohjaus sekä muutamat mittavirheet. Aikataulu oli todella tiukka näin suureen projektiin ja siitä syystä osa rakenteestä jäikin vähän keskeneräisiksi. Esimerkiksi karamoottoria ei keritty kiinnittämään sirkukseen mennessä, koska kiinnittämiseen tarvittavat alumiinilevyt kiersivät pitkin Suomea. Karamootori aiheutti lisäksi myös muita ongelmia. Moottorin ohjaukseen käytettiin kiinalaista taajuusmuutinta, jonka ohjaaminen Arduinon avulla osoittautui erittäin hankalaksi. Siksi moottorin ohjaus päätettiin jättää toistaiseksi käsikäyttöiseksi, mutta sitä tullaan luultavasti kehittämään vielä tulevaisuudessa. Viimeinen kolmesta suuresta hankaluudesta oli kuularuuuvien pituuden mittausvirhe, joka aiheutti muutaminen muutoksia rakenteeseen vielä aivan loppumetreillä. Näkyvin muutos on yksi ylimääräinen pystypalkki y-akselin toisessa päässä, mutta muut virheet saatiin kompensoitua 3D-tulostetuilla moottorisovittimilla.

Kaikenkaikkiiaan projekti oli varsin opettavainen kokonaisuus, joka opetti jokaiselle ryhmäläiselle mm. projektin hallintaa, sähkötöitä ja mikrokontrollereiden koodaamista. Projektin mieleen painuvimpia hetkiä olivat karamoottorin ensimmäinen testaus ja kahden akselin ensimmäinen yhtäaikainen liike. Nämä pienet saavutukset loivat uskoa projektia kohtaan ja lisäsivät onnistumisen tunnetta.

Mekaniikka & rakenne

CNC jyrsimen rakenne suunniteltiin Creo Parametric 3.0 avulla. Runkomateriaaliksi valittiin alumiiniprofiili sen kestävyyden ja kasattavuuden takia. Alumiiniprofiilit ja tarvittavat kiinnitystarvikkeet tilattiin Itemprofiili Oy:ltä. Itemprofiili teki tarvittavat katkaisut ja työstöt kiinnityksiä varten, jolloin itse kasaaminen oli varsin suoraviivaista.


Takana oleva sähkökaappi sekä työstöpöytä valmistettiin puolestaan 24 mm koivuvanerista. Lisäksi projektissa käytettiin muutamia itse suunniteltuja 3D-tulosttettuja osia. Tälläisia osia ovat mm. askelmootorien kiinnittämiseen tarvittavat sovittimet sekä rajakytkimien kiinnikkeet.


Sähkökaapelit askelmoottoreille, rajakytkimille ja jyrsinmoottorille vietiin energiansiirtoketjun avulla. 

Käyttöohje

Koneen käyttöliittymä on toteutettu Raspberrry Pi:n virallisella 7-tuumaisella kosketusnäytöllä. Tämän lisäksi invertterin napeilla ohjataan terän kierrosnopeutta. Käyttöpaneeliin on myös asennettu virtakytkimet steppereitten ohjaimille ja invertterille. Paneelissa on myös hätäseisnappi, joka katkaisee kaikilta laitteilta virran.

Raspberry Pi:n käynnistyessä se avaa automaattisesti bCNC ohjelmiston. Voit avata tiedoston, jolloin näytölle pitäisi tulle kuva g-kooditiedostostasi. 

Lisää ohjeita bCNC:hen löytyy osoitteesta:https://github.com/vlachoudis/bCNC/wiki

Stepperien nopeuksia, kiihtyvyyksiä yms voi säätää Grbl:n asetuksista. Tämä tapahtuu bCnc ohjelmassa "command" rivillä antamalla komentoja joita Grbl ymmärtää. Lista näistä komennoista löytyy osoitteesta: https://github.com/gnea/grbl/wiki/Grbl-v1.1-Configuration

Terän pyörimisnopeus säädetään invertterin napeista. Tähän löytyy käyttöohje osoitteestaw.exoror.com/datasheet/VFD.pdf

Taajuusmuuttajan sekä Grbl:n ohjeet löytyvät myös sivun ylälaidassa olevasta CNC router handbookista.


Kytkennät

Raspberry pi:ssa kiinni on kosketusnäyttö, kamera sekä arduino mega. Arduinossa on asennettuna Grbl. Arduinosta lähtee jokaiselle kolmesta stepperinohjaimelle kolme signaalikaapelia, jotka ohjaavat pyörimissuuntaa, nopeutta, ja enable/disable:a. Stepperinohjaimille tulee virta niiden omasta virtalähteestä. Kotelossa on myös kaksi tuuletinta viilentämässä sisätilaa.

IoT ominaisuudet

Laitteessa on muutama IoT ominaisuus, jotka toimivat WLAN-verkossa.

Työn lähettäminen jyrsimelle esimerkiksi tietokoneesta tai älypuhelimesta:

Jyrsimelle pystyy lähettämään työn WLAN yhteyden ylitse. Serveriohjelmistona toimii Apache, jota ajetaan Rasperry Pi -alustalla. Koodin lataamiseen käytetty nettisivu on toteutettu hyödyntäen html ja php koodia. Työllä tarkoitetaan g-koodia, jota jyrsimen ohjainsovellus ymmärtää.

Ohjeet koodin lähettämiseksi jyrsimelle: 

  1. Yhdistä tietokone/älypuhelin ja jyrsin samaan WLAN-verkkoon.
  2. Selvitä jyrsimen IP-osoite syöttämällä komentoriville "hostname -I"
  3. Syötä komennon tulostama IP-osoite johonkin nettiselaimen osoiteriville. (esim 192.168.1.1). Tällöin pitäisi avautua nettisivu, jossa näkyy kentät tiedoston lähettämistä varten.
  4. Valitse tiedosto, jonka haluat lähettää laitteelle ja lähetä tiedosto. Sinun pitäisi saada kuittaus tiedoston lähettämisen onnistumisesta. 
  5. Työ löytyy kansiosta /var/www/html/uploads. 
  6. Työn avaaminen kyseisestä kansiosta onnistuu suoraan käyttämällä jyrsimen ohjaussovellusta.

HUOM! Saman nimisen tiedoston useaan kertaan tai erityisen suuren tiedoston lähettäminen voi aiheuttaa ongelmia. Poista tiedostot kyseisestä kansiosta, joita et tarvitse!

Koodit nettisivuja varten löytyvät kansiosta /var/www/html. Huomaa, että koodien editoimiseen tarvitaan sudo-oikeudet. Jos haluat avata koodin muokkausta varten, niin kirjoita komentoriville oikeassa kansiossa "sudo vim <kooditiedoston nimi>".

Videostriimi:

Laitteessa on kamera, jonka avulla työtä voi seurata livenä. Videostriimin tuottamiseen käytetty sovellus on VLC, ja VLC täytyy olla asennettuna koneelle, jolla videota aiotaan katsoa. Videostriimin tuottaminen ajetaan Rasperry Pi -alustalla.

Ohjeet striimin avaamista varten:

  1. Yhdistä tietokone ja laite samaan WLAN-verkkoon.
  2. Selvitä jyrsimen IP-osoite käyttämällä komentorivillä komentoa hostname -I
  3. Jyrsimen kotihakemistosta löytyy tiedosto video.sh, joka ajaa tarpeelliset komennot striimin aloittamiseksi. Suorita kyseinen tiedosto komentoriviltä käsin komennolla ./video.sh. Jätä tämä terminaali-ikkuna auki taustalle.
  4. Avaa tietokoneella VLC, ja avaa striimi lähteestä rtsp://<ip-osoite>

Myös videostriimin katsominen älypuhelimella pitäisi onnistua, mikäli käytössä on sovellus, joka tukee rtsp-striimiä.

Osaluettelo


Materiaalilkm
1Alumiiniprofiili 6, 60X30 1m14,2
2Alumiiniprofiili 6, 30X30 1m0,6
3Alumiiniprofiili 6, 30X12 1m1,7
4Alumiiniprofiili 8, 80X40 1m0,4
5Nivel 30X304
6Kulmaliitos-sarja 6 30X3012
7Puristuskulma 614
8Lineaarijohde SBR16, 1100mm2
9Lineaarijohde SBR16, 700mm2
10Lineaarijohde SBR16, 300mm2
11Kuularuuvi RM1605, 1100mm 2
12Kuularuuvi RM1605, 700mm2
13Kuularuuvi RM1605, 300mm2
14Laakeripesä BK123
15Laakeripesä BF123
16Lineaarikelkka SBR16UU12
17Kuulamutteri SFU16053
18Holkki kuulamutterille3
19NEMA 23 askelmoottori 23HS84303
20Askelmoottoriohjain DM542A3
211,5kW jyrsinmoottori1
221,5kW taajuusmuuttaja1
23Jyrsinterä1
24Jyrsinteräpidike ER111
25Arduino Mega 25601
26Rasperry Pi 3b1
27Rasperry Pi 7" kosketusnäyttö1
28Rasperry Pi kamera1
29Rasperry Pi kameran jatkojohto 1m1
30Muistikortti 16GB1
316-paikkainen jatkojohto1
32Hätäseis-kytkin1
33Tuuletin 40X40 NMB-MAT 24V 0.13A2
34Virtalähde 35V 10A1
35Virtalähde 24V 1.5A1
36Energiansiirtoketju 1m3
37

Rajakytkin

6
38Kytkin ON-OFF3
39Askelmoottori-kuularuuvi -kytkin3
40Alumiinilevy, 10mm1
41Alumiinilevy, 15mm1
42Koivuvaneri, 24mm1
433D tulostettu askelmoottoriadapteri3
443D tulostettu rajakytkintuki4
453D tulostettu päätytulppa24
463D tulostettu energiasiirtoketjun tuki1
473D tulostettu energiasiirtoketjun päätykiinnike2
483D tulostettu puhallinteline2
493D tulostettu kosketusnäytön tuki1
50Häiriösuojattu 4-napainen kaapeli
51Arduino kytkentäkaapeli
52Kiinnitystarvikkeita (ruuvit, mutterit, yms)
  • No labels
  File Modified
PNG File profiles.PNG Apr 26, 2018 by Jani Mäkelä
PNG File posteri.PNG Apr 26, 2018 by Jani Mäkelä
PNG File Fixed.png Apr 04, 2018 by Hannes Pitkänen
PNG File fasteners.PNG Apr 26, 2018 by Jani Mäkelä
PDF File CNC Router Handbook.pdf CNC router handbook Apr 27, 2018 by Jussi Tamminen
PDF File cnc_router_fasteners.pdf Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_154054.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_153730.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_153021.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_152513.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_151014.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_150921.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_150900.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_150845.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_150833.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_150816.jpg Apr 26, 2018 by Jani Mäkelä
JPEG File 20180426_150728.jpg Apr 26, 2018 by Jani Mäkelä