Strona 1 z 2

zadajnik obrotowo-impulsowy po taniosci

: 22 wrz 2013, 19:02
autor: grg12
Dzień dobry wszystkim

Majstruje właśnie prosty zadajnik komunikujący się z LinuxCnc przez port szeregowy. W tej chwili wyglada to tak:

Obrazek

Na górze płytka prototypowa MSP430 launchpad (tutaj służy wyłącznie jako źródło zasilania), po prawej - konwerter serial-USB a po lewej klawiatura oraz kółko (posiadacze starych myszek A4 szybko rozpoznają skąd pochodzi). Właśnie udało mi się podpiąć tego potworka pod LinuxCnc i "pomachać" osiami. Program łączący jest napisany w pythonie jako komponent HAL. Na razie działa to dość marnie - połączenia "pinów" trzeba robić ręcznie w konfiguracji HAL, LinuxCnc nie zamyka się czysto bo mój komponent zostawia aktywny proces, brakuje klawiszy do wyboru szybkości, jakiejś obudowy (z drugiej strony może to i dobrze - łatwiej dodać kolejne klawisze :) ).

: 04 sty 2015, 20:58
autor: Tomasz_K
Czy autor poskładał ten zadajanik w wersję użytkową?
Będą może dostępne jakieś schematy lub kody?

Pozdrawiam
Tomek

: 04 sty 2015, 21:42
autor: grg12
Tomasz_K pisze:Czy autor poskładał ten zadajanik w wersję użytkową?
Będą może dostępne jakieś schematy lub kody?

Pozdrawiam
Tomek
Tak, zrobilem wersje użytkową. Jak wrócę z urlopu spróbuję zrobić paczkę ze źródłami i ci podesłać.

: 10 sty 2015, 15:15
autor: grg12
Zacznę może od tego że określenie "wersja użytkowa" jest trochę na wyrost... Elektronika wygląda tak:
Obrazek

Po zapakowaniu w obudowę
Obrazek

Układ komunikuje się przez port szeregowy (może być też konwerter usb-rs232 - trzeba tylko ustawić CommName w pliku EmcRemote.py). Zasilany z baterii 4.5V (3*AA) - na schemacie, za przełącznikiem zasilania jest dioda - jest ważna, służy do obniżenia napięcia zasilania do poziomu tolerowanego przez uC - bez niej układ nie chce wystartować.
Duży czerwony przycisk to E-stop, XYZA służą do wyboru osi, obok nich kółko - przesuwa wybraną oś - o 0.1mm (szybko) jeśli przycisk danej osi jest naciśnięty lub 1 krok jeśli nie (wartości i kierunki można sobie ustawić w EmcRemote.py - JogIncrements).
Przycisk "SHIFT" - po naciśnięciu diody XYZA pokazują które osie są zbazowane, naciskając SHIFT-XYZA bazujemy/odbazowujemy wybraną oś. Dioda PWR pokazuje czy maszyna jest włączona, SHIFT-ZERO/PWR włącza/wyłacza maszyne, samo ZERO/PWR służy do zerownia wybranej osi ("manalny" touch-off) - wartość offsetu i układ współrzędnych do ustawia się w widegecie dodanym przez TouchOffset.ui). RUN świeci kiedy wykonuje się program (SHIFT-CONT/RUN żeby uruchomić/spauzować) lub miga w trakcie pauzy - (przycisk CONT żeby kontynuować).
Dioda CON zapala się po nawiązaniu łączności, miga po naciśnięciu E-Stop (wykasować można tylko z ekranu LinuxCNC).

W załączniku jest schemat (lepiej sprawdzić - "odrysowałem" go z układu), projekt do CodeComposerStudio (środowisko do MSP) i pliki pod linuksa.
Sorry za jakość całości ale ze względu na zerowe zainteresowanie nie chciało mi się robić porządnej płytki i dokumentacji. W każdym razie - układ działa i jestem z niego zadowolony :)
Pozdrawiam
Grzesiek

: 10 sty 2015, 18:50
autor: adam Fx
Ja tam jestem zainteresowany aczkolwiek do tematu trafiłem przypadkiem jakoś zadajnik nie skojarzył mi się z wędką ,kółkiem ręcznym, MPG ,czy jak tam jeszcze zwą tego pilota do maszyny) może to jest po części problem małego zainteresowania.
Poza tym znaczna rzesza ludzi zobaczy przeczyta i zbuduję nie ujawniając się z tym.


Bardzo fajnie i sprytne a za razem tanie rozwiązanie.
Dla mnie chyba największy problem to konfiguracja HAL (pewnie dla tego że po polsku niewiele można znaleźć na ten temat)

: 01 cze 2015, 20:43
autor: Foxik20
Pozwolę sobie odkopać temat...
Jak się sprawuje urządzenie? Czy dodałeś jakieś nowe, przydatne funkcje? A może pojawiła się nowa obudowa?
Ja osobiście się zastanawiam nad skonstruowaniem czegoś takiego, bo wiem jak bardzo się przydaje, jest względnie mobilne, a w szczególności - ceny sklepowych urządzeń nie nastrajają optymizmem i chęcią do zakupu ;)

Pozdrawiam
Łukasz

: 01 cze 2015, 21:20
autor: grg12
Na razie działa więc przy nim nie majstruję - jak przestanie zrobię nowy. Pewnie coś na USB bo zgodnie z prawami Murphy'ego baterie zawsze "wychodzą" kiedy są najbardziej potrzebne...

: 01 cze 2015, 23:34
autor: Foxik20
grg12 pisze:Na razie działa więc przy nim nie majstruję - jak przestanie zrobię nowy. Pewnie coś na USB bo zgodnie z prawami Murphy'ego baterie zawsze "wychodzą" kiedy są najbardziej potrzebne...
Zatem bardzo się cieszę ;)
Mam zatem kolejne pytanie... Głównie odnośnie elektroniki, którą zastosowałeś. Mianowicie, wg pliczku eagle'a, który pozwoliłem sobie pobrać i odpalić przypuszczam, że nie wykorzystałeś żadnego scalaka programowalnego do tego projektu? Na początku coś wspominałeś o pythonie itp. do czego dokładnie zastosowałeś program w nim napisany?

Pozdrawiam

: 02 cze 2015, 06:18
autor: grg12
Oczywiście że w projekcie jest scalak programowalny - mikrokontroler MSP430, wybrany na zasadzie "Texas Instruments sprzedaje starter kit za $4.30". Poza schematem w paczce jest oprogramowanie tego mikrokontrolera (projekt w standardowym środowisku wyżej wymienionego starter kitu), pluginy do LinuxCNC (Python) realizujące komunikację z "wędką", plugin dodający dodatkowy panel na ekranie LinuxCNC do ustawianie offsetow i moje pliki konfiguracyjne do LinuxCNC.

Ps. Starter kit nazywa się MSP430 LaunchPad, promocja na której go kupiłem wprawdzie się skończyła ale z tego co wiem nadal jest to jeden z najtańszych starter kitow uC

: 02 cze 2015, 12:52
autor: Foxik20
W porządku już rozumiem cały myk z urządzeniem.
A ten kontroler wybrałeś ze względu na cenę czy łatwość w programowaniu?
Czy trudne byłoby dodanie skryptu, aby móc dorzucić sterowanie prędkością posuwu poprzez enkoder np. z myszy komputerowej?