Znaleziono 5 wyników

autor: Sellen
06 mar 2011, 13:48
Forum: LinuxCNC (dawniej EMC2)
Temat: Realtime Ethernet w EMC2 i CNC
Odpowiedzi: 76
Odsłony: 13908

Właśnie jakie - jaką daje przewagę ? No bo jakaś płyta główna typu mikro z rozsądnym zasilaczem wydaje mi się dobrą bazą. Do tego być może własna karta z FPGA/DAC/ADC na PCIexpress lub drugim porcie ethernetowym - tylko jako prosty człon wykonawczy.
Też myślimy nad takim rozwiązaniem, ale jeśli brać pod uwagę kartę na PCIExpress, to taka karta też będzie swoje kosztować. Można ewnetualnie na LinuxRT puścić stos ethernetu czasu rzeczywistego i komunikować się z układem wykonawczym praktycznie bez buforowania.
Jednak dobra płyta PC wcale nie jest już taka tania, a do takiego systemu nie pakowałbym "piewszej z brzegu". Nie podoba mi się też to, że rynek tych płyt jest jak kalejdoskop, raz jakaś jest dostępna, za chwilę już są inne - wolałbym stabilną platformę sprzętową. Z kolei również nie bez znaczenia jest fakt, że własny sterownik miałby miejsze rozmiary i wydzielałby dużo mniej ciepła - a to znacznie ułatwia kwestię zamknięcia tego w zgrabnej i bezwentylatorowej obudowie.
Po prostu rozwiązanie z własnym sterownikiem jest moim zdaniem bardziej eleganckie, a różnice w cenie jak wziąć pod uwagę całość, wcale nie będą takie znaczące. Ostateczna klamka jeszcze nie zapadła, na pewno trzeba będzie dokładnie skalkulować różne warianty i wybrać optymalny.


Tak w ogóle, chętnie bym zobaczył ten układ, nad którym pracujesz. Dwa ARM9 powiadasz? Na jakich zegarach to śmiga?
autor: Sellen
05 mar 2011, 18:07
Forum: LinuxCNC (dawniej EMC2)
Temat: Realtime Ethernet w EMC2 i CNC
Odpowiedzi: 76
Odsłony: 13908

Na początek na pewno też użyjemy PC'ta tak będzie po prostu szybciej. Zaprojektować sterownik o jakim wspominałem to nie łatwa rzecz. Obwód drukowany przynajmniej 6 warstw, duże częstotliwości, więc trzeba liczyć długości i impedancje ścieżek. No i prototyp będzie diabelnie drogi. Docelowo jednak własne kompaktowe rozwiązanie ma swoje zalety.
To jednak cały czas kwestia nad którą trwają spory, więc zobaczymy jak będzie. W każdym razie pisząc soft pod linuxa zawsze można go później szybko przenieść na własną platformę sprzętową. Dobrze mieć takie pole manewru :)
autor: Sellen
05 mar 2011, 15:11
Forum: LinuxCNC (dawniej EMC2)
Temat: Realtime Ethernet w EMC2 i CNC
Odpowiedzi: 76
Odsłony: 13908

Zgadam się całkowicie że frezowanie powietrza, a frezowanie stali to inna bajka :grin: Też bym chciał frezować stal z taką prędkością. W takim wypadku jednak większy podziw miałbym chyba dla freza niż do systemu sterowania, hehe.
Takie prędkości mają zastosowanie jedynie w bardzo łatwych w obróbce tworzywach no i przy ruchach przestawczych. W ploterach ruchy przestawcze i ogólnie prędkości to istotna rzecz, często wykonuje się na nich np. wiele detali z dużej płyty. Prędkość to czas - czas to pieniądz.
Generalnie ruchy przestawcze nigdy nie są zbyt szybkie.

No a dlaczego? Skoro generowanie impulsów wyrzucamy na zewnątrz to już bez różnicy czy na początku kabla sieciwego mamy Linuksa RT, Windowsa, czy czytnik kart perforowanych - tu już w gre wchodzą tylko preferencje/przyzwyczajenia, nie?
Fakt - tak jak pisałem i na windowsie i linuxie można zrobić dobre sterowanie o ile zastosujemy do tego zewnętrzną elektronikę. A linuxa po prostu lubię, no i bardzo łatwo przenosić programy pisane pod nim na różne platformy. Ten sam kod kompiluję na PC, ten sam za chwilę na sterowniku z ARM9 - świetna rzecz. Tym bardziej, że zastanawiamy się jeszcze czy do nowych sterowań użyć PC (ITX) czy będziemy robili własny sterownik np. na Cortex-A8 + DSP. Na Cortexie windowsa już nie zapuszczę, linux za to śmiga aż miło.
autor: Sellen
05 mar 2011, 11:08
Forum: LinuxCNC (dawniej EMC2)
Temat: Realtime Ethernet w EMC2 i CNC
Odpowiedzi: 76
Odsłony: 13908

co dokładnie masz na myśli mówiąc sekwencyjnie ?
autor: Sellen
05 mar 2011, 03:08
Forum: LinuxCNC (dawniej EMC2)
Temat: Realtime Ethernet w EMC2 i CNC
Odpowiedzi: 76
Odsłony: 13908

Oto i test na Mach3, a nawet dwa :). Przyznam się jednak szczerze, że "cfaniaczę" trochę :grin: Ponieważ maszynka jest stosunkowo lekka, a ma założone serwa BLDC. Tak dla informacji - enkodery 10000imp/obr, sterowanie bez mnożników / sterowanie Mach3 + CSMIO/IP-S.

test1 (3,6m/min) :
test2 (20m/min) :

Jakość taka sobie niestety, bo tylko telefon miałem pod ręką.


Chciałbym jeszcze odpowiedzieć na post kolegi ArturM:
No ja sie nie znam oczywiście - ale mógłby mi ktoś pojaśnić co takiego rewelacyjnego jest w sterowaniu po Ethernecie? No wiem że ach, och milion wejść ale tylko to?

Z tego co się orientuję to głównie chodziło o to żeby z Windowsa i Macha uzyskać jakie-takie wyniki - skoro Winda nie jest RT to wywala się generowanie impulsów na zewnątrz - i wtedy gromadzimy polecenia czy trajektorie w jakimś buforze który je potem równo 'wydziela' do maszyny. Tylko nie wiem wtedy jak to się realizuje - znaczy że Mach wywala do bufora dane wcześniej a pokazuje na ekranie ruch 'opóźniony' w stosunku do tego co wysłał? No to ekstra
Faktycznie na pierwszy rzut oka wydaje się - "na cholerę akurat ethernet?". Informacje można przesłać na 100 innych sposobów, więc dlaczego akuart ten? Zamieszanie wynika z tego, że wiele osób miesza ze sobą pewne rzeczy. Sam ethernet to nie jest lekarstwo na całe zło i klucz do raju :razz: Haczyk polega na tym, że z reguły (wyjątku od niej nie znam) - sterownik CNC komunikujący się po ethernecie uzbrojony też jest w elektronikę, która przejmuje na siebie najbardziej krytyczne czasowo funkcje (takie jak np. interpolacja, czy generowanie sygnałów STEP) oraz generalnie jest bardziej autonomiczny. Dopiero takie rozwiązanie jako całość daje naprawdę dobry efekt. Komputer PC nawet z nakładką RT nigdy nie będzie w stanie wygenerować na porcie LPT sygnałów sterujących z taką częstotliwością i precyzją jak sprzętowy sterownik. Port LPT po prostu nie był projektowany w tym celu poza tym generowanie sygnałów o wysokich częstotliwościach dla każdego CPU jest wielkim obciążeniem. To raczej domena układów logiki programowalnej FPGA, w naszym sterowniku taki właśnie układ odpowiada za generowanie sygnałów STEP. Zgodzę się natomiast z tym, że Windows sprawia pewne trudności. Dla mnie idealnym rozwiązaniem jest [Linux+RT + ethernet + sprzętowy sterownik], w tym kierunku zamierzamy iść w przyszłości, z Macha jednak na pewno wzorem Centroida rezygnować nie będziemy - choćby ze względu na ilość jego użytkowników na świecie. Powiem jednak, że chcielibyśmy CSMIO/IP podpiąć również pod EMC2. Jednak po kolei, pracy jest naprawdę sporo..
No i kwestia tego opóźnienia przez buforowanie. Mach pokazuje aktualną pozycję, prędkość, linijkę kodu itd, ponieważ sterownik wysyła te informacje zwrotnie. Jak widać takie trudności można w prosty sposób obejść.

Wojna Windows/Linux? - co jest lepsze można długo dyskutować, prawda jest taka, że w oparciu o jeden i drugi OS da się zbudować dobry i wydajny system sterowania CNC. To jest tylko i wyłącznie kwestia dobrych założeń projektu oraz decyzji: co trzeba realizować sprzętowo przez dodatkową elektronikę, a co programowo w PC.

Wracając jeszcze do samego ethernetu, jego ogromną zaletą jest niezawodność nawet przy długich połączeniach, a w profesjonalnych zastosowaniach niezawodność to "numero uno", duża prędkość przesyłu umożliwia z kolei przekazywanie trajektorii ruchu z ogromną precyzją.

Mam nadzieję, że nieco wyjaśniłem :)

Wróć do „Realtime Ethernet w EMC2 i CNC”