czy to jest realne ?

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC

prokopcio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1126
Rejestracja: 11 sty 2005, 13:03
Lokalizacja: Grodków
Kontakt:

#21

Post napisał: prokopcio » 02 wrz 2008, 23:35

jarekk pisze:Czy u Ciebie zapewniona jest ciągłość prędkości między wektorami ? Czy też dopuszczasz "skoki" ?
Tak - jest zapewniona ciągłość, Chyba to stawiam za jedną z najważniejszych cech sterownika, żeby np na delikatnym łuku nie rozpędzać i nie hamować silników setki razy na odcinku np. 1cm :). Do głowy przychodzą pomysły łatwo ale przekazać tą wiedzę sterownikowi (programowi) jest już gorzej ale się da. Muszę jeszcze dopracować i przedstawię rezultaty.
dla pocieszenia (lub wręcz przeciwnie - zależy jak kto na to patrzy) dodam, że to nie jest projekt "tygodniowy" ;) - wystarczy odszukać kiedy zbudowałem wypalarkę plazmową CNC - około rok przed jej budową zaczynałem zbierać informacje na temat CNC, bez dostępu do internetu, bez wiedzy, że istnieje to forum i zacząłem projektować dorywczo sterownik na '51 i rs232 wraz z programem pod windows. Minęły 4 lata a sterownik nadal nie gotowy :roll: a już trzecia wersja ;).



Tagi:


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 10
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#22

Post napisał: jarekk » 03 wrz 2008, 08:40

Chodziło mi o coś innego - prędkość styczna do ścieżki powinna być stała. Ale powoduje to skokową zmianę prędkości na osiach X,Y,Z ( skrajnym przypadkiem jest "skręt' o 90 stopni ). Przy aproksymacji liniowej łuków też tak jest ( w mniejszym stopniu). Wtedy trzeba albo zwalniać, albo zezwalać na skokową zmianę prędkości na osiach. Jaką strategię przyjąłeś ?


prokopcio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1126
Rejestracja: 11 sty 2005, 13:03
Lokalizacja: Grodków
Kontakt:

#23

Post napisał: prokopcio » 03 wrz 2008, 09:19

jarekk pisze:skrajnym przypadkiem jest "skręt' o 90 stopni
dla mnie skrajnym przypadkiem jest skręt o 180st (zawrócenie) a nie 90st bo to jest tylko np zatrzymanie danej osi a nie zmiana jej kierunku.
jarekk pisze:prędkość styczna do ścieżki powinna być stała. Ale powoduje to skokową zmianę prędkości na osiach X,Y,Z
Dokładnie tak jak piszesz.
Jak wspomniałem mój projekt jest "sercem" wypalarki plazmowej gdzie najważniejsza jest idealnie stała prędkość liniowa więc prędkości poszczególnych osi (XY) są tak dobierane, żeby wypadkowa prędkość liniowa była zawsze stała... powiedzmy że mamy kwadrat 10x10cm na którego "objechanie" potrzeba 40s (przy jakiejś prędkości) i pracują na przemian osie X / Y po 10s - to jest proste ale jak już jedziesz np. po przekątnej tego kwadratu to mimo identycznych długości drogi już nie można włączyć dwóch silników na raz z tymi samymi prędkościami co poprzednio ponieważ dłuższą drogę ( razy pierwiastek z dwóch czyli 1,41 ) narzędzie przejechało by również w 10s a musi przejechać w 10s x 1,41 aby prędkość była stała.

Osobnym przypadkiem są zbyt ostre łuki (lub kąty), żeby przejechać je z niezmienną prędkością żeby nie zgubić kroków i żeby "wytłumić" moment bezwładnościowy. Z frezarkami to nie jest problem ale przy cięciu plazmą zmiana prędkości cięcia = znaczne pogorszenie jakości uzyskanej powierzchni. Piszesz o prędkościach skokowych - tak są to prędkości skokowe dla każdego wektora ale są to skoki jedynie prędkości osi branych pojedyńczo pod uwagę - prędkość samego narzędzia jest zawsze taka sama (wypadkowa z obu osi ).
Ile Jarku buforujesz danych (współrzędnych) ?
Żeby płynnie i "inteligentnie" sterować rozpędzaniem/hamowaniem na trasie złożonej z kilku wektorów trzeba mieć taką ilość danych "na przód", żeby można było przeanalizować, kiedy należy zwalniać i czy jest sens przyspieszać. Dlatego przy mocno "zagęszczonych" kształtach (powiedzmy 100 wektorów na 1mm) mój sterownik na razie nie daje rady, żeby rozpędzanie/hamowanie było możliwe na długim odcinku - analizuję na przód jedynie 64 wektory a to nie zawsze jest wystarczające. Ale popracuję, żeby była możliwość regulacji w dowolnych granicach (no może prawie w dowolnych ;) )

Czy twój sterownik obsługuje interpolację w 3 osiach ?
Mój jest jedynie 2,5D i długo nie będzie 3D ;) po prostu oś Z jest "odosobniona" i ma konfigurowalne 2 prędkości :
prędkość 1: wyjście z materiału i dojazd do powierzchni materiału
prędkość 2: zagłębianie w materiale
oczywiście położenie materiału trzeba wpisać lub odczytać z położenia maszyny np.dojeżdżając ręcznie.

W wypalarce plazmowej nie będzie nic podobnego bo tam przewiduję automatyczną kontrolę wysokości palnika nad blachą na podstawie parametrów elektrycznych łuku plazmowego (THC).


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 10
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#24

Post napisał: jarekk » 03 wrz 2008, 12:02

No ja mam trochę inne dylematy - w tej chwili mój sterownik interpoluje 3 osie ( mam też czwartą niezależną). W wypalarce plazmowej głowica ( w stosunku do frezarki) jest "lekka" i nie powinno być problemu z jej rozpędzaniem. Natomiast we frezarce nie można tak po prostu rozpędzić ciężkiej bramy i frezowanie kwadratu 10cmx10cm wymagałoby zatrzymania się na rogach ( odpowiedniego rozpędzania i potem zwalniania).

Ja poszedłem trochę inną drogą - cała sciezka jest analizowana na PC. Przeliczenia prędkosci, decyzje co do zwalniania/przyspieszania są podejmowane na podstawie całej scieżki. Dzięki temu sam sterownik może działać szybko ( graniczna częstotliwosc generatora kroków jest gdzies w okolicy 500kHz - 1MHz ).

Co do buforowania - wszystkie wektory są już we flash'u - potem bufor na 256 wektorów w SRAM'ie z którego wysyłam do sterowników osi ( tam jest bufor na 2 wektory, docelowo 64 ).

Ustalenie stałęj prędkosci stycznej jest fajne, ale silniki krokowe nie wytrzymają tego dla dużych prędkosci - czy rozpędasz silniki krokowe powyżej prędkosci której nie uzyskałbys bez przyspieszenia ? Wlasnie tak dla "skrętu" o 90 stopni ? Czy wtedy po prostu godzisz się na niższą prędkosc czy też używasz dużej wartoci przyspieszenia/hamowania w takim momencie ?


prokopcio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1126
Rejestracja: 11 sty 2005, 13:03
Lokalizacja: Grodków
Kontakt:

#25

Post napisał: prokopcio » 03 wrz 2008, 12:13

hmmm. Nie zrozumieliśmy się. Ja mam pełnowartościowe rozpędzanie / spowalnianie i również na rogach (i ostrych łukach) muszę zwalniać żeby nie zerwać kroków - brama plazmy też trochę waży, zwłaszcza przy dużych prędkościach jest to ważne. Jednak przy plazmówce trzeba się starać, żeby droga a tym samym czas hamowania był jak najkrótszy - wspominając o tych prędkościach chodziło mi głównie o to, że jadąc po łuku czy też skosie trzeba mież identyczną prędkość wypadkową z jazdy jedną osią (X lub Y). Tak uzyskuję prędkości sporo większe z rozpędzaniem niż bez. Miałem wcześniej realizowane wszystko w programie na PC (możliwe, że do tego wrócę bo jest po prostu łatwiej) ale gdy ładowałem całą ścieżkę (jeśli jest nieskomplikowana) do sterownika to niestety traciłem możliwość ingerencji w rozpędzanie / hamowanie, kontrolę prędkości itp - przy sterowniku do plazmy ustawienia prędkości, hamowania, rozpędzania i wiele innych są w sterowniku a nie w PC. Można wtedy przy odpowiednio dużej pamięci spokojnie pracować bez użycia komputera ale to jeszcze daleka droga...


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 10
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#26

Post napisał: jarekk » 03 wrz 2008, 13:15

prokopcio pisze:hmmm. Nie zrozumieliśmy się. Ja mam pełnowartościowe rozpędzanie / spowalnianie i również na rogach (i ostrych łukach) muszę zwalniać żeby nie zerwać kroków - brama plazmy też trochę waży, zwłaszcza przy dużych prędkościach jest to ważne. Jednak przy plazmówce trzeba się starać, żeby droga a tym samym czas hamowania był jak najkrótszy - wspominając o tych prędkościach chodziło mi głównie o to, że jadąc po łuku czy też skosie trzeba mież identyczną prędkość wypadkową z jazdy jedną osią (X lub Y). Tak uzyskuję prędkości sporo większe z rozpędzaniem niż bez. Miałem wcześniej realizowane wszystko w programie na PC (możliwe, że do tego wrócę bo jest po prostu łatwiej) ale gdy ładowałem całą ścieżkę (jeśli jest nieskomplikowana) do sterownika to niestety traciłem możliwość ingerencji w rozpędzanie / hamowanie, kontrolę prędkości itp - przy sterowniku do plazmy ustawienia prędkości, hamowania, rozpędzania i wiele innych są w sterowniku a nie w PC. Można wtedy przy odpowiednio dużej pamięci spokojnie pracować bez użycia komputera ale to jeszcze daleka droga...
Czesc problemów da się rozwiązać stosująć "pokrętło główne" - u mnie steruje ono taktowaniem i w sposób proporcjonalny kontroluje prędkosci i przyspieszenia. Wszystkie inne sprawy ( PWMy, wyjscia) mogę zmieniać bez ingerencji w działający na maszynie program.

Co do rozpędzania i przyspieszania - zwalniać zupełnie do zera, czy też ( aby oszczędzić czas) zwalniać do jakiegos progu i potem już skokowo ( chodzi o wartosc prędkosci dla pojedynczej osi ) ?


prokopcio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1126
Rejestracja: 11 sty 2005, 13:03
Lokalizacja: Grodków
Kontakt:

#27

Post napisał: prokopcio » 03 wrz 2008, 13:23

ja startuję od tak zwanej prędkości bezpiecznej (taka, przy której w żaden sposób nie darady zgubić kroków) - również do niej zwalniam przy ostrych "zakrętach" - jest to naprawdę bardzo dobre rozwiązanie oszczędzające sporo czasu.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”