zadajnik obrotowo-impulsowy po taniosci
-
Autor tematu - ELITA FORUM (min. 1000)
- Posty w temacie: 6
- Posty: 1691
- Rejestracja: 03 sty 2007, 14:27
- Lokalizacja: Wiedeń
zadajnik obrotowo-impulsowy po taniosci
Dzień dobry wszystkim
Majstruje właśnie prosty zadajnik komunikujący się z LinuxCnc przez port szeregowy. W tej chwili wyglada to tak:
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 ).
Majstruje właśnie prosty zadajnik komunikujący się z LinuxCnc przez port szeregowy. W tej chwili wyglada to tak:
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 ).
Tagi:
-
Autor tematu - ELITA FORUM (min. 1000)
- Posty w temacie: 6
- Posty: 1691
- Rejestracja: 03 sty 2007, 14:27
- Lokalizacja: Wiedeń
Zacznę może od tego że określenie "wersja użytkowa" jest trochę na wyrost... Elektronika wygląda tak:
Po zapakowaniu w obudowę
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
Po zapakowaniu w obudowę
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
-
- Lider FORUM (min. 2000)
- Posty w temacie: 1
- Posty: 5562
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
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)
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)
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
-
- Sympatyk forum poziom 2 (min. 50)
- Posty w temacie: 4
- Posty: 52
- Rejestracja: 01 lis 2013, 21:40
- Lokalizacja: Krasnystaw
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
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
-
- Sympatyk forum poziom 2 (min. 50)
- Posty w temacie: 4
- Posty: 52
- Rejestracja: 01 lis 2013, 21:40
- Lokalizacja: Krasnystaw
Zatem bardzo się cieszę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...
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
-
Autor tematu - ELITA FORUM (min. 1000)
- Posty w temacie: 6
- Posty: 1691
- Rejestracja: 03 sty 2007, 14:27
- Lokalizacja: Wiedeń
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
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