Możliwości LinuxaCNC

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
DOHC
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 3
Posty: 893
Rejestracja: 06 kwie 2007, 19:12
Lokalizacja: Pionki

Możliwości LinuxaCNC

#1

Post napisał: DOHC » 01 sty 2014, 16:50

Witam,

Siedzę sobie i staram się poukładać w głowie co i jak z tym linuxem :). Przymierzam się do budowy dużej betonowej maszyny do napędów i sterowania jeszcze daleko ale takie elementy warto przemyśleć od początku. Ostatecznie chciałbym napędzać ją serwami DC ale nie przez step dir tylko porządnie z enkoderem podpiętym do programu sterującego i tu pojawiają się pytania. Maszynka ostatecznie ma skończyć w takiej konfiguracji (to jest długoterminowy plan) Obrazek

Uploaded with ImageShack.us

Mamy dwie bramy, jedna z osią obrotową, obrotową oś z funkcją toczenia i kołyskę.
Oczywiście wszystko to nie będzie nigdy używane w jednym momencie. Bramy chciałbym napędzać obrotową nakrętką i najlepiej 2 x servo. Pierwsze pytanie czy da się to zrobić pod linuxem, mówię o dwóch serwach napędzających jedną oś. Widziałem takie rozwiązanie u użytkownika Gmaro ale tam sterowanie to był mach z CMISO IP chyba. Czy linux to ogarnie?

Kolejna sprawa czy linuxCNC poradzi sobie z bezpośrednim sterowaniem serwami w taki sposób że będzie generował PWM dla mostka H zasilającego silnik ? O bezszczotkowych serwach DC nie myślałem ale jak klikałem sobie w Linuxie w zakładce Pncconfig to natknąłem się na zakładki wspominające o tych serwach, czy linux da rade wygenerować przebiegi potrzebne do sterowania takimi serwami?

Teraz co do samego hardwaru, szukam szperam i bardzo ciekawą opcją wydają się karty MESA, zakładając to wszystko co wymieniłem potrzebował bym naprawdę wiele wejść i wyjść.

oś X na bramie niskiej - 2 x serwo do napędu bramy , dwa wrzeciona sterowane wspólnym falownikiem w zależności od potrzeb ale mimo to dwa oddzielne encodery. Razem 4 encodery, 2x pwm do serwa i 1 pwm do falownika

OŚ x na bramie wysokiej - 2 x serwo do napędu bramy, jedno wrzeciono, jedno serwo do nastawiania uchylnego wrzeciona.
Razem 4 enkodery, 3 x pwm do serw (drugie wrzeciono będzie korzystało z tego samego falownika co wrzeciona na drugiej bramie)

Kołyska 1 serwo - 1 encoder , 1 pwm

4 Oś z funkcją toczenia - 1 serwo , silnik do napędu przy toczeniu (przepinane ręcznie) - 2 encodery , 1 pwm , falownik ten sam co do pozostalych wrzcion.

Daje nam to razem zapotrzebowanie na: 11 encoderów i 8 wyjść PWM

Z tego co wywnioskowałem wertując strony internetowe i forum (powinno być to do zrobienia). Potrzebna by były 2 karty mesa z których do każdej można podpiąć kartę córkę czyli np 2x MESA 5i25 superport + 3 x MESA 7i85S Opis kart Mesa kolegi z forum

Czy to co piszę trzyma się kupy czy bujam w obłokach? Jak należy traktować sygnał index z Encodera? Chodzi mi o to czy przy bazowaniu danej osi serwo czeka na sygnał z krańcówki mechanicznej gdy krańcówka mechaniczna zadziała serwo dojeżdża do Indexu i od niego zaczyna odliczać poszczególne impulsy encodera?

Co do samej konfiguracji to mam pewne wyobrażenie, tzn miałbym przygotowany config pod każdy typ operacji (wszystko na jednym komputerze). Czyli np wykonuje jakiś króciec zaczynam od toczenia więc podjeżdżam bramą z nożem do osi z funkcją toczenia uruchamiam config jako tokarka i aktywna jest oś Y i oś Z falownik przekaźnikiem spięty jest z silnikiem napędzającym tą oś. Maszyna zaczyna robotę, obtoczy co trzeba (reszta wyjść/ wejść jest w tym momencie nieaktywna) po skończonej robocie odpinam pasek z silnika napędzającego wrzeciono i zakładam pasek do serwa napędzającego uchwyt jako 4 oś. Otwieram odpowiedni config, odpowiedni przekaźnik (sterowany wyjściem z mesy) spina falownik z wrzecionem np wolnoobrotowym, oś obrotowa bazuje sie na sygnale Index i powiedzmy frezuje powierzchnie pod klucz. Rozumiem że takie funkcje bazowania itp trzeba sobie samemu napisać (z tego co wiem robi się to w C) czy się mylę ?

Przepraszam że tyle tematów na raz ale jestem świeży w linuxie jako systemie operacyjnym i dosyć ciężko mi się połapać.


Pozdrawiam



Tagi:


micges
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 291
Rejestracja: 08 sty 2010, 02:04
Lokalizacja: Toruń

Re: Możliwości LinuxaCNC

#2

Post napisał: micges » 01 sty 2014, 18:39

DOHC pisze: Kolejna sprawa czy linuxCNC poradzi sobie z bezpośrednim sterowaniem serwami w taki sposób że będzie generował PWM dla mostka H zasilającego silnik ?
O bezszczotkowych serwach DC nie myślałem ale jak klikałem sobie w Linuxie w zakładce Pncconfig to natknąłem się na zakładki wspominające o tych serwach, czy linux da rade wygenerować przebiegi potrzebne do sterowania takimi serwami?
Wszystko co wymieniłeś wysterujesz bez problemu z kartami mesa.
DOHC pisze: Chodzi mi o to czy przy bazowaniu danej osi serwo czeka na sygnał z krańcówki mechanicznej gdy krańcówka mechaniczna zadziała serwo dojeżdża do Indexu i od niego zaczyna odliczać poszczególne impulsy encodera?
Dokładnie, bazowanie na indeks jest obsługiwane w linuxcnc na każdej osi, liniowej i obrtowej.

Potrzebujesz jeszcze co najmniej jednej kartu GPIO np 7i84 (32 IN, 16 OUT).
Przy wielu konfiguracjach pamiętaj aby obsługiwać (zablokować) nieużywane osie w każdej konfiguracji.


Autor tematu
DOHC
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 3
Posty: 893
Rejestracja: 06 kwie 2007, 19:12
Lokalizacja: Pionki

#3

Post napisał: DOHC » 01 sty 2014, 19:48

A czy do takich pierdół jak krańcówki itp nie można wykorzystać portu LPT komputera ?

Pozdrawiam


micges
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 291
Rejestracja: 08 sty 2010, 02:04
Lokalizacja: Toruń

#4

Post napisał: micges » 01 sty 2014, 19:59

Pewnie że można, nawet dwie jeśli na jednej nie wystarczy sygnałów.


Autor tematu
DOHC
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 3
Posty: 893
Rejestracja: 06 kwie 2007, 19:12
Lokalizacja: Pionki

Re: Możliwości LinuxaCNC

#5

Post napisał: DOHC » 01 sty 2014, 20:39

micges pisze: ...Przy wielu konfiguracjach pamiętaj aby obsługiwać (zablokować) nieużywane osie w każdej konfiguracji.
Jeszcze jak byś mi napisał co masz na myśli pisząc "zablokować". Czy chodzi o to żeby linuxcnc utrzymywał pozostałe osie w bezruchu podając pwm na serva ? Jeśli chodzi ci o sytuacje kiedy toczę a oś X jest nie używana ale nie może się przemieszczać to rozumiem? ale w pozostałych przypadkach gdy np używam jednej bramy a druga stoi nie używana to poco to blokować ? Z obawy przed zakłóceniami i ewentualnymi "fałszywymi sygnałami ?


Pozdrawiam


micges
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 291
Rejestracja: 08 sty 2010, 02:04
Lokalizacja: Toruń

#6

Post napisał: micges » 01 sty 2014, 21:20

Chodziło mi tylko o to, że serva +-10V będą powoli się przemieszczać jeśli je włączysz a nie zapniesz sterowania +-10V w PID. Na sterowaniu PWM raczej nie będzie tego problemu.
Generalnie trzymam się zasady że nawet jak nie używam osi to wiem w jakim znajduje się położeniu i nie mogę jej ręcznie przesuwać jak nie muszę. Nie ma znaczenia czy blokada sterowania czy mechaniczna.
Wszystko tylko po to aby nie wycierać du*y łokciem.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”