Elektronika, Programowanie, Obrabiarki CNC i inne dziwne rzeczy

Projekty które rzadko zostają ukończone

Konsola sterująca USB do programu MACH 3

DSCN2509Wstęp

Przez długi czas obsługiwałem maszynę za pomocą klawiatury komputerowej. Nie mam dedykowanego komputera do sterowania frezarką a ten którego używam stoi w pewnej odległości, więc używanie klawiatury było mocno uciążliwe. Niedawno postanowiłem przetestować sterowanie za pomocą joypada podłączanego przez port USB. Okazało się to PRAWIE strzałem w dziesiątkę. Joypad niestety należał do tych maksymalnie tanich (11 zł z przesyłką) i od nowości nie działał zbyt dobrze. Po pewnym czasie zmęczyło mnie dziesięciokrotne wciskanie przycisku stop żeby maszyna zatrzymała się w awaryjnej sytuacji. Mogłem oczywiście kupić joypada lepszej jakości ale zamiast tego postanowiłem zrobić urządzenie dedykowane.

Jak to działa

Urządzenie podłączane jest przez port USB, jego obsługą w programie mach 3 zajmuje się specjalna wtyczka do tej aplikacji. Dwa przyciski na dole służą do wyboru funkcji a jednocześnie pełnią rolę zabezpieczenia. Aby poruszyć którąś z osi należy wcisnąć lewy (ruch szybki) lub prawy (ruch precyzyjny) przycisk i przesunąć gałkę któregoś z joysticków. Użycie przycisków także wymaga wciśnięcia przycisku lewego lub prawego. Jedynie takie funkcje jak STOP czy PAUZA nie wymagają wciskania przycisków funkcji.

Część elektroniczna

Elektronika urządzenia oparta jest o dostępny w sieci projekt MJOY i różne jego modyfikacje. Projekt umożliwia obsługę kilkudziesięciu przycisków i 8 osi. Ja wykorzystałem 9 przycisków i 4 osie (chociaż w praktyce używam tylko 3). Przyciski mają oznaczenie D6R i produkowane są przez ITT Shadow. Joysticki wymontowane z chińskich wersji wii nunchuck (są fatalnej jakości).

Obudowa

Urządzenie z założenia miało być maksymalnie tanie więc i tu drogie obudowy fabryczne raczej nie wchodziły w grę. Początkowo obudową miał być tani pojemnik z tworzywa kupiony w IKEI:

DSCN3371

Później jednak obudowa okazała się za duża. Postanowiłem więc także to wykonać samodzielnie. Wyfrezowałem więc coś takiego:

DSCN2368 DSCN2402 DSCN2394

 

 

 

 

Góra i doł obudowy zrobione są z panela podłogowego 6mm. Ramka początkowo powstała z płyty meblowej 18mm którą potem zmieniłem na panel 12mm.

Projekt PCB

Płytki drukowane projektowane były pod obudowę z plastikowego pudełka o której pisałem wcześniej. Stąd ich zaokrąglony kształt i rozmieszczenie elementów. Rozdzielenie płytek na 2 części wynika z zastosowanych w urządzeniu przycisków. Przyciski te powinny znaleźć się wyżej niż joysticki więc wydzieliłem część płytki i oddzieliłem obydwie części dystansami z tworzywa.

Płytka wykonywała była termotransferem z użycie laminatora LERVIA. Pokryta jest czymś w rodzaju soldermaski.

Płyta czołowa

Projekt płyty czołowej powstał w corelu. Płyta została wydrukowana na dosyć grubym papierze i jednostronnie zalaminowana. Miałem duży problem z naklejeniem jej na obudowę i dopiero użycie dwustronnej taśmy klejącej rozwiązało problem.

Oprogramowanie

Oprogramowanie oparte jest na przykładowym pluginie JOYSTICK dostępnym w internecie. Plugin rozbudowałem o obsługę kolejnych osi (oryginał obsługuje tylko 2) oraz obsługę przycisków (oryginał ich nie obsługuje wcale) i związanych z nimi funkcji sterujących. Rozbudowałem także okienko konfiguracyjne pluginu.

Układ przycisków

Chciałem umieścić na tym najczęściej używane funkcje ale ogólnie średnio mi wyszło. Niektórych przycisków nie używam wcale, inne są rozmieszczone mało wygodnie. Można oczywiście wszystko zmienić ale pewnie nigdy tego nie zrobię.

Podsumowanie

Moja konsola nie nadaje się oczywiście do żadnych poważnych zastosowań. Urządzenie ma ułatwiać obsługę frezarki/zabawki i działa całkiem fajnie. Czasami niestety urządzenie znika z systemu i trzeba je podłączyć ponownie. Dzieje się tak prawdopodobnie przez zakłócenia przy włączaniu wrzeciona. Nie wiem na razie czy problemem jest zawieszająca się atmega czy coś z komunikacją usb.

Wszystkie zdjęcia

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *