LinuxCNC i sterownie przez USB lub ethernet

Pomysł na sterowanie po ethernecie - czy warto

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: LinuxCNC i sterownie przez ethernet

#11

Post napisał: adam Fx » 07 gru 2019, 00:29

drzasiek90 pisze:adam FX myślę że ta ironia jest tutaj zupełnie niepotrzebna.
absolutnie źle mnie zrozumiałeś i oceniłeś (Zresztą raczej i nie bywam ironiczne chyba że ktoś bardzo się prosi :) )w mojej wypowiedzi nie ma ani krzty ironii jest wręcz podziw - gdyż stworzenia takiej karty wydaje mi się trudne.

Skoro już piszę to się dopytam Czy gdy używamy karty MESA jitter ma takie samo znaczenie jak przy używaniu port LPT czy ogólnie można go olać bo karta posiada jakiś Buffon sprzętowy czy nie wiem jak to nazwać w każdym razie coś co zniweluje niestabilność.


sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


Tomasz_K
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 295
Rejestracja: 25 kwie 2012, 15:58
Lokalizacja: ok. Rybnika

Re: LinuxCNC i sterownie przez ethernet

#12

Post napisał: Tomasz_K » 08 gru 2019, 11:58

W kartach mesy siedzi FPGA.
Tam piny "przełączane" są sprzętowo z prędkością (tu strzelam) 50MHz.
Żadem port LPT nie ma takiej prędkości.
Poza tym uważam że aby tworzyć własny odpowiednik karty MESA trzeba być szalonym.
Kto ci napisze sterownik np PCI dla tych kart.

PS.
Jeśli znasz się na programowaniu FPGA to możesz sobie samemu przeprogramować kartę MESY pod "siebie" i np. dodać obsługę sprzętową enkoderów ssi lub bssi.

Pozdrawiam
Tomasz


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 11
Posty: 1758
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: LinuxCNC i sterownie przez ethernet

#13

Post napisał: drzasiek90 » 08 gru 2019, 17:58

adam Fx - Jitter ma znaczenie również w przypadku korzystania z kart MESA, jednak w tym przypadku można sobie pozwolić na większe wartości jitter'a w stosunku do sterowania po LPT np dla czytania enkoderów.

Tomasz_K - człowieka który napisze sterownik mam na wyciągnięcie ręki. Część oprogramowania, elektronikę i opis sprzętu mogę zrobić sam. Wszystko tylko kwestia czasu, budżetu i motywacji. Jednak Cię uspokoję, nie chcę budować odpowiednika MESA. Mam pomysł na znacznie prostsze rozwiązanie.


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 11
Posty: 1758
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: LinuxCNC i sterownie przez ethernet

#14

Post napisał: drzasiek90 » 07 sty 2020, 19:29

Zmieniłem nieco koncepcję, Ethernet zastąpiłem za pomocą USB.
Powody było 2:
1) Konieczność zasilania przejściówki - w USB mam to gratis
2) Łatwość implementacji i niższy koszt.

Przedstawiam wam krótki filmik z pierwszych testów:
Wyświetlany na oscyloskopie sygnał kroku na osi X.
Sprzęt - płytka z mikrokontrolerem za nieco ponad 10zł.
Możliwość zaimplementowania 2 portów równoległych.
Po zmianie mikrokontrolera na większą obudowę (więcej in-out) do 8 portów równoległych.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 7
Posty: 7854
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: LinuxCNC i sterownie przez ethernet

#15

Post napisał: tuxcnc » 07 sty 2020, 21:53

drzasiek90 pisze:
07 sty 2020, 19:29
Sprzęt - płytka z mikrokontrolerem za nieco ponad 10zł.
Wygląda to fajnie, ale jaką masz pewność że to działa w czasie rzeczywistym ?


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 11
Posty: 1758
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: LinuxCNC i sterownie przez ethernet

#16

Post napisał: drzasiek90 » 07 sty 2020, 22:09

Buforowanie jest nieuniknione. Cały czas nad tym pracuję. Mechanizmy synchronizacji kontrolują stałą częstotliwość pracy płytki i sterownika LinuxCNC. Wada jest taka, że to co wysteruje LinuxCNC pojawi się na wyjściu za czas = długość bufora, tak więc do czytania np. enkodera się nie nadaje, ponieważ to co przychodzi z wejść nie występuje dokładnie w tym czasie jak to co wychodzi z wyjść. Jednak przy odpowiednio krótkim buforze płytka ta w formie minimalistycznej nada się do sporej ilości maszyn, gdzie wyjścia używane są jako sygnały kroku, kierunku silników oraz załączania/wyłączania natomiast wejścia służą do asynchronicznego odczytu czujników krańcowych, stopu, czujnika narzędzia itd.

Jeśli projekt się powiedzie to w następnej wersji płytka ta może posiadać np. sprzętowe interfejsy enkodera SSI, Endat itd.
Ale to narazie nie na teraz. Na teraz jest plan taki, aby zbudować płytkę z 2 wyjściami DB25, aby można było sterować prostymi maszynami CNC nawet z laptopa.


Tomasz_K
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 295
Rejestracja: 25 kwie 2012, 15:58
Lokalizacja: ok. Rybnika

Re: LinuxCNC i sterownie przez ethernet

#17

Post napisał: Tomasz_K » 12 sty 2020, 18:44

Widzę stm32 (wersja blue pill) ?

Pozdrawiam
Tomasz

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 7
Posty: 7854
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: LinuxCNC i sterownie przez ethernet

#18

Post napisał: tuxcnc » 12 sty 2020, 20:03

O ile nic się nie zmieniło, to Linuxcnc nie obsługuje USB w czasie rzeczywistym.
Oznacza to tyle, że polecenia dla kontrolera są wyrzucane do kolejki schedulera, do wykonania w bliżej nieokreślonej przyszłości.
Czasem to nie ma znaczenia, czasem może powodować problemy.
Ze sprzętową obsługą enkoderów itp. pomysłami, też wcale nie jest różowo, bo niby czym i za ile ?
Mam taki rozbabrany projekt podzielnicy na enkoderze 2000 cpr. To jest samodzielne urządzenie poruszane ręką, a musiałem użyć Arduino Due (chiński klon za 60zł) bo ma JEDEN kanał sprzętowego dekodera kwadraturowego. Tańsze rozwiązania nie zdały egzaminu, bo gubiły kroki.
Moim zdaniem, ekonomicznie opłacalne jest zastosowanie GRBL do prostych zastosowań, albo Linuxcnc+Mesa do skomplikowanych. Oczywiście przy założeniu że np. laptop bez LPT.
Wszelkie rozwiązania pośrednie wyjdą albo drożej, albo gorzej, a najczęściej i jedno i drugie.


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 11
Posty: 1758
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: LinuxCNC i sterownie przez ethernet

#19

Post napisał: drzasiek90 » 15 sty 2020, 09:07

Linuxcnc w wersji oryginalnej nie obsługuje RTUSB, ja natomiast pobrałem źródła, dorobiłem pewien trik do linuxcnc i skompilowałem. Linuxcnc widzi moją przejściówkę jak port równoległy komputera i steruje sterownikiem portu równoległego, a ten już działa RT.

Co do enkoderów to obsługa sprzętowa nie stanowi problemów, jeden źle napisany program nie przesądza o tym że się nie da. Mam w pracy kolegę (o ile w pracy można mieć kolegów :)) starszy Pan z ogromnym doświadczeniem który od pewnego czasu promuje stosowanie FPGA wszędzie gdzie się da, bo jak twierdzi mikrokontroler ma wadę - zawiesza się. Czy ktoś kiedyś widział zawieszony mikrokotroler? Chyba że na sznurku. Zawieszanie się nie jest cechą mikrokontrolera ale źle napisanego programu. Zawodowo od kilku lat buduję sterowniki servonapędów które radzą sobie z różnymi enkoderami, mikrokontroler nie jest tutaj żadną barierą. Oczywiście tam gdzie jest to niezbędne stosuję CPLD/FPGA.
Dla mnie stosunkową nowością jest sam LinuxCNC ponieważ stosuję go od niedawna, wcześniej pracowałem na machu. Więc jeśli chodzi o obsługę enkoderów to póki co niewiadomą dla mnie stanowi jak to ugryźć od strony LCNC (ale to dlatego że tego tematu jeszcze nie zgłębiałem - to jest temat czekający w kolejce).

Tomasz - tak, jest to blue pill.


bdgr
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 111
Rejestracja: 16 paź 2017, 15:21
Lokalizacja: Poznań

Re: LinuxCNC i sterownie przez ethernet

#20

Post napisał: bdgr » 15 sty 2020, 13:22

tuxcnc pisze:
12 sty 2020, 20:03
Ze sprzętową obsługą enkoderów itp. pomysłami, też wcale nie jest różowo, bo niby czym i za ile ?
[..] musiałem użyć Arduino Due (chiński klon za 60zł) bo ma JEDEN kanał sprzętowego dekodera kwadraturowego. Tańsze rozwiązania nie zdały egzaminu, bo gubiły kroki.
Czyli użyłeś prawidłowego rozwiązania i zadziałało. Co w tym jest nie różowo? Cena ARM od Atmela? :D
STM32F401, F405 mają sprzętowe wsparcie enkoderów i kosztują <5$. Jak ma być jeszcze taniej a nie musi za dużo robić to Infineon XMC1300 można dostać w okolicach 1.5$, lub poniżej 10 zł za sztukę.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”