Budowa zdalnego sterownika do obrabiarek CNC

Wstęp

W dobie współczesnej automatyzacji oraz bezprzewodowości, sterowanie zdalne różnego rodzaju urządzeniami staje się coraz powszechniejszym rozwiązaniem, a czasem nawet koniecznością. Coraz powszechniej komputery przenośne stają się narzędziem pracy, a coraz rzadziej ich stacjonarne odpowiedniki. Stwarza to konieczność tworzenia systemów komunikacji urządzenie-komputer pozbawionych konieczności instalowania oraz konfigurowania dodatkowego oprogramowania.

W przypadku małych systemów obróbczych, w szczególności do zastosowań niekomercyjnych, taka konieczność raczej nie występuje, ale jest niewątpliwym udogodnieniem, które, wbrew pozorom, nie jest trudne do osiągnięcia.

Niniejsze opracowanie ma na celu przybliżenie tego tematu na przykładzie sterownika opartego na Arduino oraz GRBL.

Wymagania sprzętowe

  • Obrabiarka CNC

  • Arduino (Duemillanove lub Uno z procesorem Atmega 328)

  • CNC Shield

  • Sterowniki silników krokowych Pololulu

  • Komputer z podłączeniem do sieci Ethernet

Obrabiarka CNC

Urządzeniem, do którego został zastosowany opisywany tutaj sterownik była trzyosiowa, frezarka CNC.

IMG_0578

Komputer

W niniejszym rozwiązaniu komputer pełni rolę serwera, urządzenia odbierającego odpowiednie polecenia (plik G-kod) i przesyłającego go do Arduino/GRBL. Po skonfigurowaniu i uruchomieniu klawiatura, mysz, monitor czy inne urządzenia peryferyjne nie są niezbędne.

Wymagania sprzętowe dotyczące samego oprogramowania nie zostały zweryfikowane. Niniejszy opis opiera się o komputer typu terminal Neoware CA10 posiadający poniższe parametry:

  • Dysk twardy – pendrive 4GB (ze względu na odporność na wibracje zrezygnowano ze stosowania dysków tradycyjnych).

  • Pamięć 512MB RAM (minimum 256 MB)

  • Procesor VIA Nehemiah (maksymalne wykorzystanie podczas pracy nie przekracza 20%)

  • Karta sieciowa WiFi na USB, kompatybilna z Ubuntu (opcja)

Oprogramowanie

  • Ubuntu Server LTS (Long Term Support) oraz oprogramowanie dostępne w repozytoriach

  • GRBL

  • CNC (dawniej cnc.js)

  • Zdalny terminal SSH (opcja, np. Putty dla systemu Windows)

Instalacja i konfiguracja

Szczegółowe instrukcje instalacji oprogramowania znajdują się na stronach producentów, jednakże warto wspomnieć o kilku rzeczach już teraz:

Ubuntu

System Ubuntu można zainstalować na wiele sposobów, jednakże najszybszym i najwygodniejszym jest utworzenie bootowalnego PenDrive’a i instalacja systemu z niego. Większość starszych komputerów lub urządzeń typu terminal wymaga 32-bitowej wersji systemu, a ta będzie działała również na nowszych komputerach.

Nie trzeba nowego dysku dzielić w jakiś specyficzny sposób. Można się ograniczyć do dwóch partycji (root i swap).

Nie ma konieczności szyfrowania katalogu domowego.

Podczas instalacji warto od razu wybrać pakiet OpenSSH-Server, wygodny (choć nie niezbędny) podczas dalszej konfiguracji systemu.

Aby uniknąć problemów związanych z uprawnieniami dot. portu komunikacyjnego z Arduino, należy:

  • Usunąć pakiet modemmanager (sudo apt-get remove modemmanager)

  • Nadać uprawnienia swojemu użytkownikowi (sudo adduser MyUser dialout), gdzie MyUser to nazwa utworzonego użytkownika podczas instalacji

Warto również podczas instalacji skonfigurować sieć WiFi, w przeciwnym wypadku konieczna będzie konfiguracja ręczna (mniej zawodnym rozwiązaniem jest, oczywiście, zastosowania połączenia kablowego).

CNC

Instalacja CNC powinna przebiegać tak jak opisano to na tej stronie. Sam proces przebiega stosunkowo długo (w zależności od szybkości internetu i samego komputera) i wymaga paruset MB wolnego miejsca na dysku.

Przed pierwszym uruchomieniem, warto sprawdzić jaki adres IP otrzymuje nasz komputer. Służy do tego komenda ifconfig, której odpowiedź może wyglądać tak:

wlan0 Link encap:Ethernet HWaddr 50:b7:c3:d0:8b:cc

inet addr:192.168.100.105 Bcast:192.168.100.255 Mask:255.255.255.0

inet6 addr: fe80::52b7:c3ff:fed0:8bcc/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:41246 errors:0 dropped:0 overruns:0 frame:0

TX packets:35447 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:39542873 (39.5 MB) TX bytes:5112844 (5.1 MB)

Gdzie inet addr: 192.168.100.105, to adres IP naszego serwera.

Po instalacji i sprawdzeniu czy skrypt się uruchamia możemy już połączyć się z naszym CNC poprzez przeglądarkę internetową pod adresem http://Adres-IP:8000

Pozostaje tylko wybrać odpowiednie urządzenie (coś z Arduino w nazwie) i można już przesyłać G-kod.

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s